设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4299|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
& c2 O3 X, E/ Z) `
, Q, ^7 h/ g/ t  g关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。7 j. q! r& z* j1 _( S2 S

- p9 f2 y; T0 X0 b! K1 i不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
. [. i4 N: o3 G- j  t* {& X# K1 u4 R7 d
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。6 [: Z" l. J, q* |, C4 y! M

* u( Q6 m0 R# ~/ U! [' ]比如 给小车定义整形状态变量status
9 b3 r( ]* {* P9 s1 m3 k那么 在小车启动的时候 一般会用到
) Y* f$ K, R1 w; X4 }2 R@.currspeed:=xxx 或者 @.stopped:=false 之类的   f* `6 V# g& |- @6 ^" P
这时候加上一句 @.status:=1
( d0 [6 W! u- {2 ], m相应的小车停止的时候加上 @.status:=0( g! U# w# K7 u" S

! z, G: P" f3 Q6 H; g那么读取status就可以得到小车运行 和 停止的时间了
4 Y5 P% d9 L4 f$ b, X/ q+ M8 Y
, e' [( Y3 H: `% }' C. u读取统计表的命令是getStatisticsTable
9 J# e/ G' s: f$ E另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 " o6 y9 A% d8 X2 T
% y$ j* ]* C" O& ~1 I
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
; N4 r3 f2 ~9 v% N
$ q' D/ c# W' ~# R& R7 His5 l% O* j+ p; Y  Y7 f
        Xdim, i, j, k : integer;
9 G* y: b1 L+ e: Q7 V/ b4 O        tab_temp : table; + o; L% B' Q* Q1 j; W
        PufferKanal : object;
7 y" w0 t, |# Zdo
; Q, U. i% y5 w( o5 H$ c2 V        tab_temp.create; + [1 @4 w4 y' C& c
        Xdim := self.~.Tab_Stat.Xdim + 1;+ o( n& n& ]. t; L' {1 u
        * Z8 L& [3 h' ^$ ^, q6 j
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop; Z% j% a+ o# p3 `
                tab_temp.delete;" X/ O: B" O" S+ ]: e" m5 C( S
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);1 Y. a0 M7 W' u5 j3 \$ Z$ o
                " i: F4 y# p+ i% g$ `! Q) e+ W+ H
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;3 m$ h6 l4 n" D8 e
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;# R- C$ K; t' k  V  h
3 J" Q" j% t1 \0 }6 b' L. Y
                for k:=1 to tab_temp.Ydim loop
' T3 [. p; ]0 R8 V" z9 ]                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
2 n: r8 |% V! `, d/ L7 r3 @                next;( `, |) T- N' n( v6 i
                6 ^6 I# G) L. i0 y( m0 z1 x
        next;* b1 ~% ?$ f9 _, _
        " W4 @: H, l9 w5 Q/ m& b2 e7 ?
        self.methcall(3600);
$ ~, }' C- \. @/ J% B; H. xend;5 B3 p3 q1 t. ?- }' m5 r( }
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 " Y3 O" {$ I* r8 u
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

/ A  j2 j( a" i% T3 N* X& S看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
2 H7 f1 y: a2 g9 f- P3 Z! TProcVerdichtung这个是个什么东西啊,怎么在Table里面?
# N, U  V1 L/ \; {$ p+ Y  A7 x& q! \
8 c5 X! W5 g  d  I
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 3 U6 U; l' O8 p% |
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
) E0 S# Y3 o5 a& A囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
5 |/ }* b5 o7 p2 E而procVerdicht ...

1 ]+ V/ [5 f/ M! `0 O* \( ?+ ~明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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, 2025-11-5 14:18 , Processed in 0.021359 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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