设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5159|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
9 W- q2 R% K2 C8 b' ~  y+ T& I# ~2 W+ Q* y! F
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。$ H4 J$ v& S8 K; V5 u

6 L3 y' v* x! R# Z不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
8 X3 q: l; N; C6 ]! @
  R6 p; M) g% C2 R我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。  V- q: b4 D! N! r0 Z$ z
# t- N6 R' J( s$ L0 `, G
比如 给小车定义整形状态变量status
5 k+ a& Z8 A3 z* J; u9 v  {* Y那么 在小车启动的时候 一般会用到; z6 B( ^: z8 q
@.currspeed:=xxx 或者 @.stopped:=false 之类的 1 w  ?- D+ K' i0 {' q8 A9 j9 |+ S8 {
这时候加上一句 @.status:=1
' ]2 Z) i" ]( ^6 j$ s" z0 W! v2 f! \相应的小车停止的时候加上 @.status:=0
- y$ p1 K. ^8 Z; e3 \6 l) y0 a: @; F$ i
那么读取status就可以得到小车运行 和 停止的时间了1 B* T6 A& J* B# T4 F

+ [# r- @/ v  O读取统计表的命令是getStatisticsTable ; Z9 J4 m& G3 O* u% B
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 ; f  O6 ]6 G0 H8 f9 }* Q& W: h9 h

, b; O0 H5 [! |另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。* D3 W5 B/ ^( i2 q6 A
3 v0 T% ?  x# s/ t
is5 s5 d9 C4 A0 H" r
        Xdim, i, j, k : integer;
3 K- r& t5 H( N! e+ |# \- Q( i5 Q        tab_temp : table; . ?( v: R: Q: c  q
        PufferKanal : object;( T, k- [3 l0 @# m7 I9 x; N
do
' k$ T4 `7 d+ e& T: E9 O        tab_temp.create;
- \3 k% M( E5 L- G7 P* l* x        Xdim := self.~.Tab_Stat.Xdim + 1;0 s% Y2 V$ p: p
       
$ g: r9 N8 ^8 I        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop+ l8 K: \# c- M6 h! k
                tab_temp.delete;
+ h+ Z% w7 Q4 ?+ `$ n6 p                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);9 @) j/ w2 [# ~4 G
               
1 z: D6 B$ w$ x6 {  J  x                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;$ k# e2 U: X( v' `9 o
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;0 e5 U0 w$ B- y6 }/ u* W

8 n( G/ M4 [7 M) f                for k:=1 to tab_temp.Ydim loop
2 e* j% F& D) I                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];! ]& d2 _" o) g( {
                next;
/ e  H1 T5 _, \! f               
0 {3 _, [3 |, p! h7 `9 i( y' D+ F        next;
2 \0 i7 B" H) A; F       
! w& Y- z9 m! z8 r4 t  U4 s. r        self.methcall(3600);
$ A  o! \9 P5 m/ u' H, W$ `  C7 pend;
: y6 ]4 S) G: |( f7 o
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

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

3 B3 G  O& ?6 [# D5 @7 T5 i看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!) i- S% A# O+ W& x# i  S  ?+ n; W( t' ?
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?0 ]3 v# m5 t  ]2 n1 j) k) ~

+ J* Y% M2 W) m0 z( c3 G* z# p4 K" _7 e6 N
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 2 u& Q1 b! e/ u" z& v
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 ) z7 t7 Q8 l; i2 ?+ e; J' t
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
7 R0 L) {" H1 Q; g! k2 Q! Q而procVerdicht ...
; U* q( T. z& f% p0 L5 l* H; 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-7-16 00:07 , Processed in 0.017118 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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