设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4899|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。  s: K/ [; v  u, V, }& N+ |

( ^5 F3 E* B) w' J- p# G! j3 d关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。3 v! X5 |1 O8 E( b$ D9 g1 L, G
- J$ X, l% l. \' \+ d' a
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
6 F! V3 @: h; {- ~% T2 _8 V: I! T% y1 u* _1 e5 @( T- ~
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
& i7 ~3 }, I, [, y5 P
" \+ i% o9 ]- v% f; D/ L比如 给小车定义整形状态变量status + i' e7 c, c$ q
那么 在小车启动的时候 一般会用到+ T0 S2 p" ?( `
@.currspeed:=xxx 或者 @.stopped:=false 之类的
$ v* [/ Y: c- g; E, j这时候加上一句 @.status:=1
5 p7 Q6 v) Z( G, h相应的小车停止的时候加上 @.status:=0, A/ h- w" b2 V+ I

7 R, J, g2 V9 V( ]那么读取status就可以得到小车运行 和 停止的时间了
3 u( k9 E9 w4 }2 G
# O# D, m8 G3 |9 B0 M读取统计表的命令是getStatisticsTable 3 A* d/ q5 B8 j) B% a! n. e8 }) |
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
4 N- I( x8 T- F
. D" y2 I, H: P( t另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。- ~/ ~) b; ?+ A$ U

- T( l6 n; v" D3 Z  N4 qis& ~6 J; q3 U% F1 q, X
        Xdim, i, j, k : integer;
: ^/ G1 X+ f2 L0 r- t        tab_temp : table;
5 j$ N8 j$ z9 P; ?% l        PufferKanal : object;- D. t, E3 t& u- i9 S  o
do
% B0 V- ?% P: k" t* X1 ^        tab_temp.create;
7 j  W$ Q) l( j7 l# S) g! o        Xdim := self.~.Tab_Stat.Xdim + 1;# H$ A3 F6 r" i4 g
        . n: X* G9 x4 u' j1 c; [) k
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
% |5 F# E* ^! z5 {+ b  {6 O9 P                tab_temp.delete;/ _( s' x# R5 z, S$ Z" [& {
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);" Z5 [3 p0 X' l
                " L6 ^! G% p7 R+ }* ^  V
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
) X1 K4 J8 Z1 E( T$ j, S, n                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;, v- I0 v# Z8 g$ g7 A5 E' w
5 R5 E! X1 U- P" x) m
                for k:=1 to tab_temp.Ydim loop( n/ ^. t: _3 J3 a
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];6 L  ?  U; p) _9 Y
                next;
- W) M2 L& `; A                6 p  e3 a: Z0 _% v5 X  \; Z' w
        next;' Z, q- Y' a2 L# D; y0 n+ B0 E; p
        ! C$ W) r( E3 g' ]$ D
        self.methcall(3600);3 P5 K! i; V6 s3 U9 y* u
end;9 ?! a& n( s8 D6 u  p6 ?& a$ V/ q0 p: c
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
# k. z  T& H; q& z% R/ e# ^9 M; U介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

2 K# W' M8 T, O1 I5 @看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!6 f5 [. z( f; V! L9 Z0 i, N
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
+ W# ]; L$ i4 @( O
; D7 Z! A/ A3 \3 N& V. L4 ~/ Z/ v
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
; h* K. `1 {, V3 v5 q而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
  t8 y( c; h# T2 `; N/ m囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 9 f( M  ^% A# F: M6 q
而procVerdicht ...
% G( O# N7 R2 c& Z3 i0 C
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-5-5 18:31 , Processed in 0.021178 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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