设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5511|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
, J6 X4 l' J/ w& I% o5 P# u; ~4 G) r+ b  o5 H- N: r$ f
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
' g1 R. [( H; b- d7 o- ~
/ h' G; S& W% s( A5 X不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
3 i6 M# U* H1 }8 e9 G# _( s3 a: k  F9 E) a: |/ t
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。% i/ L  F1 U* ?. x: Y1 K' X

) b/ |* J  B  s9 Y3 }5 \比如 给小车定义整形状态变量status   u" w, x0 x- s
那么 在小车启动的时候 一般会用到$ J' Y& S$ Z" Q0 w
@.currspeed:=xxx 或者 @.stopped:=false 之类的
& {" F8 W* x- U' W1 ?$ X+ O% U这时候加上一句 @.status:=1 0 F- h# o3 \9 m7 a' P& c$ _
相应的小车停止的时候加上 @.status:=0
# b2 q# A7 s0 w  T
2 |. n: b, l2 c. z那么读取status就可以得到小车运行 和 停止的时间了
: B- S+ i! A4 R1 [2 n5 d) z) \' |, |2 L) }1 z3 r+ s' E( l
读取统计表的命令是getStatisticsTable
7 ^$ z. A) V7 j' D另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 7 m9 a+ l7 s; t1 r. L; x

/ d- K- U5 n5 L另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。4 A5 R  B' Z( V' M
) M. V; h& z! Y$ p% C7 b% d6 E
is+ f1 L% U% p8 z- b* r$ I+ \8 E
        Xdim, i, j, k : integer;
9 @* c, m2 F$ b) s        tab_temp : table; ( v7 s# o, O, {' F0 Y/ S" J$ j: a  f
        PufferKanal : object;
9 R7 q7 o4 u& b4 V' t, M2 ndo% h& {! `( l- s7 `5 q
        tab_temp.create;
$ P( c" V; p0 h2 k( M# M        Xdim := self.~.Tab_Stat.Xdim + 1;
; X9 W. h) D6 O" ~! B/ ?        $ q. t, y  ?; b; @" {% s# s
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
' X  k: K5 Z; N  ?& Q                tab_temp.delete;
3 h6 t: H! h5 }0 f$ G5 M6 C/ Q9 V                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
8 N8 q* f6 ~, `0 Y  n4 v1 o                + r, ], e2 |7 _! X  h' M1 _) W
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;/ A6 P4 [2 Q+ |1 H# ]
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;/ K4 R. z# E! M# R, c
+ u+ T) p! P, o: p2 D7 F
                for k:=1 to tab_temp.Ydim loop
. `2 e2 _2 e4 ~                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
2 x0 m( ]. m" g' A7 l  _                next;
6 S. g3 U  U; E3 E  f2 L                , {* A% S0 E; b) ^5 [" C8 h
        next;
  e1 [4 [. `7 w        4 }+ X" ~: B) D2 [
        self.methcall(3600);
; k% V4 P* R8 n! H% o# |; cend;' I. U" g# K2 r9 q6 q
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
  \7 d( E0 U9 o% L" z9 k' z$ S介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
: K7 |' X* r$ X4 ]5 C. q8 S
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!. k8 W3 Y; ~. o8 _
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
5 a7 ]2 ^. O+ e5 h' m, T; W; N0 N  c
; c4 {+ G+ u6 U- g; L
* u1 u7 @7 G0 l4 |7 g: z
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object $ ]& _$ D6 `6 E1 k3 ~- f
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 - Y4 @( c# i6 s
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
4 r" e1 o9 B8 W9 J  V而procVerdicht ...

6 y  m9 S: t) p* _! u: ^明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-9-24 06:59 , Processed in 0.018426 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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