设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4881|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
2 M9 w7 m) X* p- e% G" F6 V8 z$ |. r5 z: w' O" b
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
+ g# Q; j2 Q# T% N( E/ e* G% F9 M& N' d+ `+ _' Z
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
4 `+ u( Y9 @, j1 u2 r) B- `' s3 D2 |# T" K# a
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
5 j/ ~! y  @$ G- ^- z5 R
# B( a* ^4 ?% [/ Z! j比如 给小车定义整形状态变量status
/ }% Z, n5 c0 V# s8 K) A那么 在小车启动的时候 一般会用到
+ d6 P6 |( y2 W) j@.currspeed:=xxx 或者 @.stopped:=false 之类的 ' ?+ j# F$ b- z; ^* s
这时候加上一句 @.status:=1
; U3 g# g  E, C' b" Y- a) }相应的小车停止的时候加上 @.status:=0
- \( _) Y7 l& x
% I; ?: Q' @4 }5 ?; V# i6 d那么读取status就可以得到小车运行 和 停止的时间了2 K, q: G) W/ Y, t0 m) ]
: |$ v* ~6 f5 ^$ h: o+ L
读取统计表的命令是getStatisticsTable # r( J" R' ?  K4 P( i
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
- {1 Y9 @* z+ J5 G" B8 x( ~' ]5 I' p8 i. j% _, V9 E
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。6 x5 g1 t( K/ Q. T* W

+ q6 z* W5 u! [+ jis  H$ T4 Y. V8 u% B; b
        Xdim, i, j, k : integer;% V& n& ]* V, t7 r/ }' W6 q5 v
        tab_temp : table;
% S3 X! k2 Q. [. Y& q        PufferKanal : object;
  S- S* T8 m, ]8 p& Sdo
8 c) }* ~; B& a  h        tab_temp.create; / N! g' e$ [9 r9 L
        Xdim := self.~.Tab_Stat.Xdim + 1;
4 o9 v& \0 @$ U        ) W+ k" Y; w" v+ a" ]2 j
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
/ b, X* V" N7 g& G, T5 {1 E                tab_temp.delete;
- q3 \+ p; L! ^! x4 M                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);; i6 v9 ?3 f% ~( K# z, K0 L
               
, A) d- _( ^; S) G$ s' q& p                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
3 ^/ O. b: O# Z6 X8 l+ m$ K- r                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
# j' c/ r+ U5 @* b% e, }; y0 |' {  d , Z9 f* ]2 g/ ~' H8 J0 e# I
                for k:=1 to tab_temp.Ydim loop
4 b7 |( ?- ?" |' X1 h; F& ]5 X                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
: U6 k  N8 X0 g* j; H5 W                next;2 J! `, u: {* P% E7 [
                , P6 Y! U0 }/ O8 @( e) c: F
        next;
; k3 j; _/ I5 d  Q9 }$ p       
$ J- W) @: ~' Y/ ^; v( D        self.methcall(3600);
- t; q. l! i2 E  K/ Zend;
# w8 B2 h1 P% k
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 # j4 m& V2 l; t6 |' U
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
6 j5 h8 Q: b! P9 p
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
$ {+ o( X0 }4 k* ^. G4 y7 xProcVerdichtung这个是个什么东西啊,怎么在Table里面?
* j2 z& ]# r7 R& R! m8 |
4 N' @6 i, P1 e; y. g: G, z2 l: z" C0 e; L0 m& q
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
' C( {& y( x! K: {6 Q1 i而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 ! [8 u2 c  g1 |$ a! J2 m, L
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
3 v. b% E5 o/ ~0 M5 o" g而procVerdicht ...
+ i9 L1 |' v: w7 A  K
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-4-29 19:03 , Processed in 0.016752 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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