设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5361|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。( [0 [, U. Q; x8 i/ G+ W
* e6 T9 J5 `  P5 S% V- i3 t
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。6 n4 z% _+ \8 J3 ^

3 i" k0 D& p4 m4 K不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。, K9 o! U" G/ B3 N

2 s' \0 Z( K) o我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
, n; w3 g; O! R; y/ o7 e" u
" L5 V8 K+ T( L比如 给小车定义整形状态变量status
/ {8 B. b+ b# Y" F: H那么 在小车启动的时候 一般会用到
* F5 o' F8 E" c5 S@.currspeed:=xxx 或者 @.stopped:=false 之类的
& {  l+ b+ I& y" @+ `这时候加上一句 @.status:=1
- W5 H/ |. `* w2 O$ \. e相应的小车停止的时候加上 @.status:=0+ j! j/ D5 D% o4 i

; S" ~7 K. |! m! b那么读取status就可以得到小车运行 和 停止的时间了: x; ~9 E5 D! p) y6 V$ f4 U3 z
$ {# X% d( l0 r  J$ N+ R8 p4 h# ^' y5 j
读取统计表的命令是getStatisticsTable
3 \' Y; d9 N( E; w8 f: k( Y$ \另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
7 D' P/ U  o7 @1 b( G. {4 }" F9 R2 ~
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。* @  v8 u" _; c/ G/ E1 n
4 U( ]7 G. d9 b- W, Q
is
$ U) m+ l4 _( @- N* G6 J* `8 O        Xdim, i, j, k : integer;5 T3 ^$ i2 z8 O% S0 W
        tab_temp : table;
' H$ w! }: O9 f; V) l8 Z) s        PufferKanal : object;. C6 p* N% K% }% [2 H
do$ r  i9 i4 {+ F# X
        tab_temp.create; ( J' Z: U% d- O& v
        Xdim := self.~.Tab_Stat.Xdim + 1;2 K3 M9 E- p  W" X7 H1 }
        " E0 {. F. t+ X
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
* i: E* `( Q9 h* `                tab_temp.delete;' o0 N5 ?; C# L4 Y) @+ F
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
3 E# V( h  y. N9 F; k                * L3 U" u; M' l5 G
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
' Q9 W1 _4 D1 ^8 U$ f# \( V2 D                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
3 h8 }! i4 o7 O4 t . r3 K6 p# x+ W
                for k:=1 to tab_temp.Ydim loop
7 @9 f6 r( O# E$ z. h                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
6 X( d7 L) e; P. p* @6 V: R9 \                next;
# H' y) F$ ^, m: I- u; X8 h: e7 o                4 L" H' K  H* L
        next;% {; Y2 F: G$ G5 E* _
       
& p  D, r9 }% j0 }3 \) `2 d3 C7 r        self.methcall(3600);- J9 U: B% W5 x/ Z: k) y. p# j+ s
end;
1 {2 p/ P* S+ Y2 a/ n( i
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
$ o/ T0 m/ S% P介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

) X2 U* \1 t4 Y( R, L) c8 v看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
2 Q' V8 O4 t& }4 j1 _! ~ProcVerdichtung这个是个什么东西啊,怎么在Table里面?0 u* q" i! V7 U' g5 m7 N0 P. q2 W
2 P/ d- q- Q( T, H4 S
/ o  [0 `6 o) N$ [6 b$ P" c  a
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
! v7 R. M3 F. ^- Y! H而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
0 @* b/ q& o: N! V1 X囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 2 \) p3 ?  V  }! G3 X$ O' E
而procVerdicht ...

$ J# ?' E7 t( n* a, f" ?7 R明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-20 15:46 , Processed in 0.016704 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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