设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5228|回复: 7

[原创] 关于对象利率用及其他状态的统计

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
' u0 ^7 z, K" o
3 w5 J& Q% p/ D! E9 _关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。1 E3 [+ ?  U& q  Q' n& p
, I' E. `' U3 V
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。" R  f7 h  h  E4 ?
3 M) n7 I. B% L2 j+ {
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
9 V5 D2 x+ N' {$ }3 r* E
( M" ^9 F( ?' Z! n0 p5 w- m比如 给小车定义整形状态变量status 9 k9 A' K; T/ Q; P2 Y/ B8 r
那么 在小车启动的时候 一般会用到
2 I7 x, i' a6 W: ?2 O1 O@.currspeed:=xxx 或者 @.stopped:=false 之类的
7 n4 `5 o6 m% |这时候加上一句 @.status:=1
) A! q8 |$ ^' n. |: _相应的小车停止的时候加上 @.status:=0+ E! i7 f4 F2 t" |! }

+ T+ t2 D( Y* ~; N3 I  t那么读取status就可以得到小车运行 和 停止的时间了4 w  ]& N8 u. M- \% c; |) i3 T" A
4 B  l5 S0 A3 U3 l, {
读取统计表的命令是getStatisticsTable
, Z! K8 z5 }$ Q; ^7 F# l# j+ f- ~: C/ f# Y另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

参与人数 1仿真币 +23 收起 理由
linweixu168 + 23 赞一个!

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 0 ~( O; g7 L! q

4 V1 V& S7 d4 t  v3 ^另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
  @1 B- U+ f4 Y% o. ^7 g4 u0 b' h; S2 d; P
is$ B9 W8 `7 M, V; ^
        Xdim, i, j, k : integer;
( q6 [4 ?4 i( K( v- n3 D        tab_temp : table; " ]- y; T( O, ^9 D2 P6 h, {
        PufferKanal : object;" [  f2 d& [( I  r8 M
do+ }. c. q$ K; [  A8 J/ Y1 O& _9 z
        tab_temp.create; 2 O# }% Q8 c+ S/ f" {
        Xdim := self.~.Tab_Stat.Xdim + 1;3 `$ q% r& g: H. B( E, K( Y
       
# H; c! R0 D) n. R, `# W        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
$ p# A. ], m+ S% |  }/ v4 r" K0 j7 J                tab_temp.delete;5 Y2 e8 a6 G0 C; n  C1 n
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);/ |* P5 A7 o5 s9 M7 a4 @$ O9 I( C
                ( q/ k- O0 M+ P0 R, E- b
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;5 C; g' Y0 k: L# X; u/ M
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
" S& G: Y8 i8 H) n6 k$ k# F& [+ l; C. _ ( P& F' F  B5 B
                for k:=1 to tab_temp.Ydim loop
( D$ r: L. A, T: M6 D                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];. \8 |$ m! T  o2 o
                next;5 u2 z: t, x; f4 L
                3 K1 j) M2 O4 M5 M1 K/ f0 T
        next;
  @+ M- t- y! [! ~+ I, N- o; D( C8 |        0 ]. h7 A) @$ N9 v% u( t! j
        self.methcall(3600);
# H1 D5 c; a1 Pend;
8 I8 b: F/ C- ~! x
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 ' h2 q% }4 Y7 r+ F
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

% n2 H1 l4 g7 }+ n看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
# M7 }3 ?$ I4 Z* }6 b5 L' t" |ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
/ Y0 t+ Z% I- z  q& B* r- M
/ k: z. q) o+ D* [( v5 L4 `* g+ N% t% L$ |
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object   j0 `* N, h, \7 h9 P) A
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 4 r9 a8 m; h8 @# v8 K
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
  \& T! n3 L' e3 G9 h而procVerdicht ...

. V7 J9 \7 d) y0 Y' z$ E' h8 E明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 2012-10-21 21:05:11 | 显示全部楼层
有人要 找不着 人工置顶哈~
发表于 2015-7-2 10:08:01 | 显示全部楼层
学习了!楼主是在德国学Maschinenbau-Infomatik方向的吗,还是Logistik?

点评

经济工程  发表于 2015-7-3 16:45
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-7-26 13:18 , Processed in 0.017695 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表