设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4440|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
6 D4 U. ^$ a% ?3 i
; u8 d6 R! C/ P7 U" D0 M8 E9 [关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
( i/ c, |( C5 Z) H+ z" n; t9 h6 d5 `$ v1 `+ r1 X- ?# C; F
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
  a& e2 Y3 H6 y8 J% t+ ?
- k8 G) b9 g4 q) e我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
1 E2 |4 D/ Z+ @( {- A6 X
; C1 M- w( E6 M) g2 G  o) I% g比如 给小车定义整形状态变量status 5 ~- K7 @7 b$ A2 ^8 `
那么 在小车启动的时候 一般会用到, G8 _8 O( o1 d
@.currspeed:=xxx 或者 @.stopped:=false 之类的
4 W2 m. j" a2 e1 D! M) j这时候加上一句 @.status:=1 ! l$ v, _% s8 e' ^2 {9 p
相应的小车停止的时候加上 @.status:=04 A; [) ?7 K% f+ B% }; f

+ k: z, S  J. V6 I# D那么读取status就可以得到小车运行 和 停止的时间了  ~0 T) k8 r8 S7 ]* w
8 M- P9 h7 J! U; Y* \9 F) J
读取统计表的命令是getStatisticsTable ( m/ y4 b) D0 J9 r1 u
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
; u, b7 s7 [4 x6 V& V; N; {9 u+ o, `9 s
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
2 _- h$ `  ^. r+ e5 b& Z; @+ `$ r6 o1 H/ F0 I/ \5 W
is0 X: P4 N  d2 t
        Xdim, i, j, k : integer;
  b7 v# C9 }1 j( n) \. B        tab_temp : table; 0 t1 u  e; O* [- Z) O
        PufferKanal : object;1 f: ]' M% a! f" K
do
7 x* h1 e9 V" Q3 {8 s+ A        tab_temp.create;
/ g, G8 K" {0 j( n6 i8 b3 {        Xdim := self.~.Tab_Stat.Xdim + 1;
  T6 t5 f* L1 G! V: m1 q       
. o; R* F; G8 F        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
% H+ e5 [. P6 A& _. y8 S4 A4 `                tab_temp.delete;
: V# K0 D. O- O. O# H/ J7 O* S                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);6 `% Z' S0 V- j! K& ]* C
               
6 p" w, Z: n9 z- ?                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
0 E6 T1 H, ?" m) J( P                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
/ ^) z2 [* N% w# C5 v( l, Z4 a% ]. C
6 `" V9 l- @) O                for k:=1 to tab_temp.Ydim loop
2 S$ o4 z7 m8 \# a6 T; \5 H                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];9 `9 U1 @. D7 K- \5 P" `
                next;
+ n7 _5 U1 X: t5 A               
# ^5 T; {$ K! x2 f, m" a        next;+ q& m# R/ E" _, B) k
        1 H+ ^8 b- g+ _* `  z" e; \; C
        self.methcall(3600);# U* ~. g# e% t2 B/ P- o
end;4 I- t$ d# o: J2 `8 o6 [; s% Z
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
7 w( l5 K6 Y: x8 H- e' ]5 x& |介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

+ O. S( H9 \8 W看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!; g/ x! R/ v/ o7 K3 S5 Y5 n
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
5 T* P! s# h+ a6 ~
3 Y! D6 y9 u" s2 a2 t) p4 c& e- _& B) c
. A" j4 s, Q' o: Z$ O
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object ; X+ M0 P- r7 k
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 9 d9 \8 L4 w2 e" Y* x+ w- R
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
( K/ O9 N' |# Y7 a$ O0 P0 ^而procVerdicht ...

- L( c9 K, J) {! |( 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, 2025-12-15 08:10 , Processed in 0.016803 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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