设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3204|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
8 C/ s9 T8 R$ s2 c  Q* @' |; I7 v: R) m; M1 M" T: e" t6 M  A1 G
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。3 e; Z! k9 r/ P+ c( l$ h% @1 ?% P

& e- a; C8 d, L' o! k! W" I1 o不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。: s- d2 M2 x, g4 C' O
  L7 B& {0 l1 o- Q, n
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。; j) |+ `* x# N& u( \

, V" ]0 M7 N# X& P) _* |比如 给小车定义整形状态变量status
% t' m- L1 S9 L* @那么 在小车启动的时候 一般会用到
- ]* t* V6 X8 p/ D. }* x# Y( @@.currspeed:=xxx 或者 @.stopped:=false 之类的
  L- {; B1 t. ]1 w这时候加上一句 @.status:=1 2 X4 \! N' U# z: g0 |& v
相应的小车停止的时候加上 @.status:=0
6 P4 \7 @& q" T
3 I7 l4 l. D! |/ b3 M那么读取status就可以得到小车运行 和 停止的时间了1 k% c8 L3 [) p% E9 t; G
; w0 A1 G# P' q; o
读取统计表的命令是getStatisticsTable
7 B9 M- n# Z3 M3 o# z( u另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 * F( t: i9 l! L+ Y. @
6 }+ Q3 Q) r$ p: B
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
) Q1 M- u8 e. O! v
7 e& V3 E4 Q0 X4 C/ R5 E& m4 a3 |is4 @. i( b! L5 {0 E, u; x
        Xdim, i, j, k : integer;
) F$ g7 e3 M( g: U; [        tab_temp : table;
  M- ?: u# n. O' L$ h        PufferKanal : object;* }5 j) B! V- |. B; E4 [* x- O) _
do. d- L( o  s9 y, I( x
        tab_temp.create; # K. n9 y  F- f4 k* R# h; ?1 `
        Xdim := self.~.Tab_Stat.Xdim + 1;
7 r- n! h. X3 q, v       
8 e- j# z+ }6 X        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop& X+ R) J2 l/ o! \1 E
                tab_temp.delete;
4 t" G+ ?) c6 s! c8 E                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);8 N: L# G1 p1 d8 \
                : U4 |2 O, y% m# R2 [
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;3 [/ L5 y; E9 M- Q8 k' N
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
; t: b) f* c5 u* U! M! W % r$ \( B# q, ?5 N: @
                for k:=1 to tab_temp.Ydim loop2 X9 k9 y! o& a% a& n! m+ ]
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
7 M) b' `6 c, C) I' e4 P8 L6 f                next;: c) G" Q/ |& F. ]. B% H  a3 v
               
& a, y  l. O  O+ W' h: N( `        next;5 j% t: U  M' r& n( ?
        % C' |. K( ]* h8 j
        self.methcall(3600);1 T0 P+ z# _% c# n+ z
end;
- o2 X# m7 M( g( n* E; y% m
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
1 {( u) ~9 k, P0 E介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

3 T/ z% ]7 E  ~" _# z. c+ Z看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
" p" t, u5 }; w0 ~" X, Q! _/ qProcVerdichtung这个是个什么东西啊,怎么在Table里面?
2 \; E" V9 d5 k; a* f# ^9 @
# r6 u( J) w5 x2 _7 j  }8 F: ]  u5 [: k% u" S3 s% ?
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
2 U# T) F. [# F6 F7 E. [而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 # Y4 [5 H0 z1 A* X5 J
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
3 }: {& \3 w# ?/ Q" T& h# E而procVerdicht ...
: M# S2 r  y4 M0 b  J. q% U. Y0 p
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-2 07:56 , Processed in 0.016217 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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