设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5383|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
8 _* p$ j" F' U5 h/ G/ j1 m) s7 `; K) B) g; a
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。4 e& Z7 T" O* _) U7 U
& R+ g( [! H5 |+ D5 d) H& M- `5 p
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
- g0 A' F- _; p+ U- \; r2 y- Z5 H1 W8 n7 M3 u- b
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。+ j8 X  X8 E8 l* n' Y

* }' H2 F& J" G' l; @$ U- X. n6 x2 N5 |比如 给小车定义整形状态变量status ' \6 p; U1 Y$ `; q$ ^; x6 Y
那么 在小车启动的时候 一般会用到
7 |' P: o, z9 L! X" L$ x@.currspeed:=xxx 或者 @.stopped:=false 之类的 9 b4 |6 H. ?- u' d. \- }8 R
这时候加上一句 @.status:=1 * Y) t3 A# A; i9 X* R: H
相应的小车停止的时候加上 @.status:=05 `- O+ c9 H& \8 i( L4 j7 l
$ a9 Q6 [& c2 A: J: F, |  ~& @
那么读取status就可以得到小车运行 和 停止的时间了
4 Y8 ?% {, b( C! v& i5 }
* F+ ~  o) k8 H8 v读取统计表的命令是getStatisticsTable ; P' |! J1 c4 m
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 . i0 F2 d* H: r  J/ J( I1 p

5 Z; T1 N. _7 N0 I* V另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。& L/ [, D/ p. C8 o" O# y$ }

3 F% B9 ^  n7 }: b: |0 I4 T' _is9 n: e" N. e5 I$ p6 s5 m
        Xdim, i, j, k : integer;. F% j4 V" b& m- w3 ]
        tab_temp : table;
2 D+ g* S1 P+ I/ M/ |4 p        PufferKanal : object;
5 R6 P/ f1 N6 P5 S2 k& |1 g& Mdo
1 E# k4 Q9 ^. k) r$ R4 N. L        tab_temp.create; 1 C* |$ {/ E2 n$ k8 v
        Xdim := self.~.Tab_Stat.Xdim + 1;
9 S0 D! c) R3 p       
) x. ?; R0 l  B, [, g( b        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
: C+ [) I  A; e                tab_temp.delete;9 v" j5 C/ T( T) e6 a5 j7 _
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
( K( }. ^" ^5 m/ [- C/ N                3 S6 g6 m. R; |' X+ [4 ^9 I; \' [
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
" N( n! j  i0 }                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;+ t9 [0 y( k9 S4 h- C3 ]
/ V( l. c8 ?3 c" [
                for k:=1 to tab_temp.Ydim loop
7 I' ]5 s6 `+ g7 p                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];, r: `' _% K4 o% a% a" R& l
                next;
. B  Z% p* w+ j! \4 X, F               
, V* Q0 w: `6 m2 b3 g# e        next;
2 s8 Y8 f* {3 ^& v# M        8 E9 _/ d0 s. H! ~' D
        self.methcall(3600);6 g$ ^9 X+ H! E+ d$ ^
end;1 u6 P9 m7 ]7 j- P. w2 p
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 ) v, c8 t& L% l5 j$ @& n8 r% K( i  g
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

3 b9 H8 m8 F7 S+ [) l看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
" b6 c; y0 T: b  H; K4 B8 KProcVerdichtung这个是个什么东西啊,怎么在Table里面?; s7 d) D; [/ I! M
9 B- p  G, D9 [2 b- T# N

' F1 r  `# n+ l' M4 x
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
6 J+ l: p4 Y0 _2 u! E0 J而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
$ t! A/ k' A; U' I9 a7 A$ \: L- O# R囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object % _# W# H7 v/ t6 f
而procVerdicht ...
" }% A9 T0 |7 X/ P% 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, 2026-8-28 02:19 , Processed in 0.021447 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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