设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2768|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。4 r2 y$ C) Y3 r+ X

6 R5 \6 U% l6 Z8 K! L: i+ Z; m关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
) i7 G# F2 P" @; l1 u. U& y4 Y$ E8 V# f* \9 v) I: T+ i
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
* b6 K& ]' z' y! y: z9 M- y5 `0 z3 u0 T
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。( q' s7 @/ w. Q9 {3 t  q" m

% A0 |0 a# T, o比如 给小车定义整形状态变量status " o& `9 W9 N/ b+ s( p: I' G- D9 h: ^
那么 在小车启动的时候 一般会用到1 y9 l+ o3 L, {2 [
@.currspeed:=xxx 或者 @.stopped:=false 之类的 , q- T5 b5 _- W
这时候加上一句 @.status:=1 2 o3 n7 ]: Y) _" X
相应的小车停止的时候加上 @.status:=0
9 Y. b% d: K- z, m% p
) [4 p- Z7 J5 w4 q0 R) B那么读取status就可以得到小车运行 和 停止的时间了9 w& G$ v4 m: S3 V3 F* O9 u$ `

5 n1 n8 U5 I2 I) w, o* m+ c6 t读取统计表的命令是getStatisticsTable
$ N' p7 y; V7 O3 X; Y. n8 U另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
1 [$ Z. ]: Y8 o) ]  o5 u6 [5 o; ~" E; H; V) n
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
3 p% m+ U" ]5 A. w& U( l! L% `* G" S0 j1 m7 a- Z, t5 G
is1 y6 y+ W( ?1 |3 p" P
        Xdim, i, j, k : integer;$ e/ E) c9 l% X0 B
        tab_temp : table; / ~& P6 C/ k3 q( ^" ^
        PufferKanal : object;
9 U% C9 _4 y' w; B9 tdo& ~- {6 d% `; @
        tab_temp.create;
+ d3 j7 D( V  {" C        Xdim := self.~.Tab_Stat.Xdim + 1;
: p, ]4 \0 @" e/ ]        # W3 q8 u2 z& y2 I8 ]- J
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop1 x) A$ U3 Z$ |3 v" [
                tab_temp.delete;$ Z* r6 f9 t8 ]$ t0 A/ J
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
: G+ T# N! x6 L% I' `# i2 i4 U                3 k1 h1 n1 c+ |0 V  A$ }, ]5 Z
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;! M6 [' a8 L0 P. S/ g
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
$ P) A5 Y7 i& n & J$ ^# A2 H5 b8 ?& E4 a
                for k:=1 to tab_temp.Ydim loop0 r; f9 s8 p5 @% U: v/ Q* c! ?
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];/ z/ V) P  a; ~# b
                next;
5 c" H% P  I; U7 t+ P4 h7 @               
7 e  g7 S6 B7 w- M3 p. c; L        next;4 `4 H8 w! _5 k# I+ R. r
       
# D! Q/ V7 z& y+ s        self.methcall(3600);4 S; u9 |/ M8 \5 I: c9 ~7 W: s
end;
4 x8 c$ e6 w  |5 O$ e8 m' u0 B
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

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

- ^2 v" p3 y2 O9 s' }' V看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
) ]9 ?7 E; f; M8 |ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
) I" p) Z: t$ Z$ Y0 ~& F3 C% B& Z: K, m/ A6 U$ q
( N) L8 _, c1 \7 ~6 }
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
6 T$ Z8 J5 Z3 a( r- y& w而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 + m3 M, D5 J/ T# |* Y3 |
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
- k, E+ p, D( ~1 b" U0 L# N5 d而procVerdicht ...

1 V: W6 I) W& \. z& d明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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, 2024-5-28 11:09 , Processed in 1.593048 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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