设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3810|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
4 C: L, {2 i0 [" D, d, r0 ~9 o) u+ s" Y7 K% i
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
& E1 G* M9 e: q# O" ]$ R6 W& q, O; V, m# l
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。4 |2 V0 ^7 ]7 X' O: `$ [, A

; r9 S1 M& v( h/ q. K3 ]5 [0 G我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
. g6 d0 ?9 [- O$ @' P2 @/ A( }$ z( D% A' b2 `7 u* d
比如 给小车定义整形状态变量status
+ y" ]; o& h0 j% ~* G那么 在小车启动的时候 一般会用到
' l# g: [; L& x8 h@.currspeed:=xxx 或者 @.stopped:=false 之类的 4 n) n( F1 U5 }# E
这时候加上一句 @.status:=1
) P8 o/ b+ w6 E- n9 H: Y相应的小车停止的时候加上 @.status:=0. p- K/ J, \' x

7 n  P1 D" I: ~- B- t/ B. ]6 k那么读取status就可以得到小车运行 和 停止的时间了
) M* d4 ?$ L' c. e7 d6 R6 @  i' f) b$ s; h
读取统计表的命令是getStatisticsTable
6 D+ ]+ s: e- {! Y, |另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
* m' \/ k7 H" Y) W) w* O6 Z# W9 @1 q9 _, N( b1 U3 K
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
2 H% B$ M; \$ o/ Y3 ~7 q
3 y( Z" Q3 z7 Z% c# sis
& @$ U  q; \1 V+ R; Y        Xdim, i, j, k : integer;0 `, {0 Y  H* V. `' ^( q; {
        tab_temp : table;
$ P; d& U! A' F! h, X5 T9 t( f        PufferKanal : object;
. A7 z0 y  y4 J% k, Wdo4 Q$ X& g4 d* |* K- |+ h# w4 M
        tab_temp.create;
; ~4 }# l* y3 h: z        Xdim := self.~.Tab_Stat.Xdim + 1;0 g: j2 x& f) \( D! S4 I, R
        & z" M4 C, W/ L, C& D- E/ C
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
/ w& Y+ Q  s" }# A3 ?& E                tab_temp.delete;; H+ u, }+ T6 s8 F# _$ n
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
* R' Q/ A6 Z" }  r               
6 J/ c& C7 H1 I$ {                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
( ]3 {" `% I* ]                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;! G) x" z) Y, H3 O$ d
, x, m: z" {! c9 |. p& A/ c: y3 S
                for k:=1 to tab_temp.Ydim loop- m) s: z/ \8 ~- D! A7 U" W
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];6 b! O; {4 i& K, J6 H5 _
                next;; _- r) u" U% |# g
                & a- w7 `) y. y5 l
        next;4 p; x7 H7 [5 ^  P0 z1 m
       
( G1 l/ i* N' e/ L% W  c! Z        self.methcall(3600);. {+ _) D4 Q# p+ i2 Z! u( c% u
end;8 n- `0 {$ n0 X" O& }
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 ; H( f1 q2 z# t- r! _
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

: M: A4 Y% m8 ~' O! S/ f看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!5 I8 b/ H# t( t- [$ h% z
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
: J, }* k' d: N& l# d
* z# V. z& P- A& k- n' |; w
# l8 [3 ^* x& L0 @
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 0 N5 m( [$ h  ]  P
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 6 K$ u3 b: @5 @9 \) K- P
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object ! W( c7 O+ z' T
而procVerdicht ...

: u2 N6 u) x- J* w& `: P# t% {. W明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-7-3 12:12 , Processed in 0.019810 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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