设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5345|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。! g4 i  _9 x9 m- [( A1 H2 F* z* M

- S8 s# ~7 P5 n5 O. r: c0 A- U关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
, u5 G9 {3 g, D0 n, {% l7 N3 t1 d' M! M- P  N6 h) e- D" m! r) \( i
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。: _0 I$ \. v$ }3 y

, H; i; T0 A) n8 {0 u我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。3 _/ Z- D% E# J; O
+ d+ _+ l; I8 ]7 Z; N  z- `
比如 给小车定义整形状态变量status
! s, v5 N7 h" x9 ]8 _' C那么 在小车启动的时候 一般会用到
8 c- x. ~: @) c% B  g  [@.currspeed:=xxx 或者 @.stopped:=false 之类的
& z6 G" F& ~8 k0 G6 g/ x1 L7 C这时候加上一句 @.status:=1
; r7 t' i! F+ y; W- _3 L: d, n相应的小车停止的时候加上 @.status:=0
0 w( K  `/ x& C0 d# u# A" o: A$ s5 U+ o" I
那么读取status就可以得到小车运行 和 停止的时间了
8 N, G/ K" `7 }7 r( d* w: @/ p5 c7 a$ G; A9 Y9 i6 c" t
读取统计表的命令是getStatisticsTable ! G" u9 a5 _/ ]/ S
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
. _% J" {: y, v" T8 Y2 X  r% C; O
7 f- S7 ?: S; ^( r) _, o另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。5 f$ V0 m3 e, q: C2 r; E& U
) B: B9 m1 ^9 @# _) ^
is. ^" x% ^& U$ t4 v4 L9 `' |
        Xdim, i, j, k : integer;
7 C* t; R  I4 i# }+ l/ k. o. j        tab_temp : table; # r/ c; M1 h4 A: `4 k, Q! `
        PufferKanal : object;
* [- y8 u( w2 p) D% `0 f( k8 P8 gdo1 S; m5 Z+ J) h& |( E& P, G% ]
        tab_temp.create;
' z$ Q: W1 h5 k' h        Xdim := self.~.Tab_Stat.Xdim + 1;
, P9 i6 d6 R7 t: m0 V        : m, r$ @# k. L3 R9 O$ N, L
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop" l- B4 y0 j  j& H8 `* m. i
                tab_temp.delete;
, D2 x4 j. z& X" {                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
. F4 I0 S/ P+ d                , j" `* V. L( V2 z! \. g
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;, `# X; b" ?9 _6 w$ m
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;& I% y) t3 r& a- u5 l

% Z/ y; z4 e+ n                for k:=1 to tab_temp.Ydim loop6 t7 R, o8 h$ _' N" p: Q# S
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];7 f2 |! {8 ?4 N- ~6 Q
                next;
* J: T7 R+ r, `& o, w                8 ?; ]* {& f, \) p5 x, L7 ?- e* r+ |- I& L
        next;
) U* j8 ^( K6 `+ L/ n        9 N/ a* Q) p! N7 V" w
        self.methcall(3600);! Q* O4 _0 p" s6 C3 l; q: c
end;
8 E- o; R. B) N4 A
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 ; ~* O% X, a; f) e6 n& c: U
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
' z" C. K! k5 q/ ^- {# j. k, w( S
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
- o" b) Q; r+ ], z: q" QProcVerdichtung这个是个什么东西啊,怎么在Table里面?
2 w4 l: }2 c: D) X( x/ _2 E' x7 e+ \7 ]
" t! H- K) h& m4 S1 f
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 8 a- U8 m/ b# g1 {- F" a3 B
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 4 t1 I8 R; b8 I- P: W
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 8 a4 [7 v% @: X6 O* S
而procVerdicht ...
$ l- R' q' t. F. o$ V# G6 ^
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-8-13 00:14 , Processed in 0.016005 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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