设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3233|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。; ?1 D+ {$ x2 r9 H& H

  _! u& U# m: Z关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
; Z& V2 P/ D9 ^' ?& Y3 Q) k  O
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
9 o6 v, n( X9 M; E  F0 a
  P/ {# o# p, j我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
) \% ^3 D, w& k1 N( O$ ?/ s' W* m. ^. r
比如 给小车定义整形状态变量status * z( s  W: |  v: p: Q& a
那么 在小车启动的时候 一般会用到
7 G5 s% N/ k. P: M@.currspeed:=xxx 或者 @.stopped:=false 之类的
5 f2 D6 _, H/ Q& m- f# j3 d这时候加上一句 @.status:=1
5 l4 g! R+ I1 L1 U相应的小车停止的时候加上 @.status:=0# w& j/ a* O4 ]8 U0 x

# @" W: d' y8 V' O7 W那么读取status就可以得到小车运行 和 停止的时间了  k* q6 |$ U) i, |6 K( L1 O' W

/ r& V/ g( S: b读取统计表的命令是getStatisticsTable 7 L, \. R7 L7 g
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
1 O2 U# a. F3 d1 a8 X( @8 A7 X. _) [
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。& p0 M& }% z! n
% h1 M% k+ q! K6 F  @: _( U
is& {0 i" T% L- a9 K3 m4 y5 Y4 Z- ]
        Xdim, i, j, k : integer;
( \7 z! B, `* g9 R        tab_temp : table;
" S3 R7 ?( T1 ]7 }        PufferKanal : object;
8 `+ x) ]% r9 S; k  `# bdo
$ `$ s$ ]1 G9 z- H3 z' I        tab_temp.create; 7 l/ e- H; q2 b5 `
        Xdim := self.~.Tab_Stat.Xdim + 1;
  }% o7 t% m. x9 S' F* O1 J        . U6 d1 _5 `% {4 G/ L- d7 v! a
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
* n: t8 W* e3 m# Y- S7 X" c                tab_temp.delete;4 A5 j  ~% y* {: f3 K
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);! Q8 l6 _# `" J, G% u8 P7 i6 `% H
                & m$ k) P! _9 A0 v2 t6 E
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
) Q9 C) x2 e7 J( g8 \                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
* s' Y; V% P0 ?& S8 n5 R+ S, m
$ p2 l, B, F+ {& ^7 n                for k:=1 to tab_temp.Ydim loop
1 Z3 M# P# C( a9 D& ~                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];4 r9 [$ ^5 L2 `+ o
                next;& N3 |. B' }0 ]( p2 N% Z
                $ x, l" ]7 Z% {2 D% O( T7 D. N0 n9 t; P
        next;" }$ h! M5 Z) F7 D9 e2 A" F/ G. X" C
       
4 E4 j6 P' R" M9 G$ C3 u; V$ p        self.methcall(3600);) F0 G: J; E# g5 Z% ?2 c! f
end;
6 S$ c0 ~* R  v: r/ G
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 # z& }/ y+ l' `# }* a  b( Y
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
  ~9 z' n! ~0 V
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
4 q# n; T( I+ Q1 D" v( JProcVerdichtung这个是个什么东西啊,怎么在Table里面?; W7 X9 F; j5 I. S! p
* X, V( s# Q- X1 @
& O+ n& \- d7 D- C. {: i
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
$ V1 W3 K. s/ P' F, ~5 \而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 0 d2 l9 _. G: }* X& A0 N0 X: x9 Z8 M
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
# B0 ^, t; `3 J9 b而procVerdicht ...

, q7 j1 H" u) u% ~( ]明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-2-19 06:26 , Processed in 0.019035 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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