设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4012|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
, j5 b8 T# a" v0 N9 a: e0 X
0 I( s5 J" b4 o- o& {* V关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。" t% n$ r5 s! ~1 y7 I" M
8 ?; j6 m/ O* Y/ I: @
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。2 J+ f& V$ ]: E. m8 ^" V3 d

( [( |% x' V5 B' U我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
* Z) o* w" R5 j9 d! E" v% k; I0 B
5 i7 y- R' N; |. p" Z5 b比如 给小车定义整形状态变量status " F, D: V* r5 l. h1 b% q
那么 在小车启动的时候 一般会用到
1 _' I3 O' r2 E" f2 r" W  t- k@.currspeed:=xxx 或者 @.stopped:=false 之类的 ; A$ g0 \  X/ `- I; V
这时候加上一句 @.status:=1
0 |# j4 ^( h7 v相应的小车停止的时候加上 @.status:=0
6 r! p) l' F* h$ z/ X. M, w% {7 T* N1 u8 r* k8 r" i0 I& |
那么读取status就可以得到小车运行 和 停止的时间了
9 z+ e" B: ], j  a* h: H8 I
/ j9 i4 O3 R. g+ n读取统计表的命令是getStatisticsTable
' x, K0 t7 I$ f, I$ U9 y8 ]- C! \另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 , K! h2 [6 A! a! {9 [- Y

4 N  W/ A1 m/ T; N$ w3 j- V' P( n1 {另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。4 e1 }5 Y9 Y; x* b
+ E, |" Z. r, ~5 k
is
: i4 O9 s/ ~" E# E3 i9 I        Xdim, i, j, k : integer;
2 P( M& T% b; q  ^3 `7 [        tab_temp : table;
* k5 f; s8 E9 o; t        PufferKanal : object;8 j2 d% ~7 a' R% n
do
: {1 T, e8 w$ x        tab_temp.create; ) u2 Z  I$ B4 s
        Xdim := self.~.Tab_Stat.Xdim + 1;- ]3 ]! s% W. u7 S( s
        # y' L4 {6 `9 a- h  @1 u" G+ Y# z
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
' H& a3 @- t( d4 }                tab_temp.delete;
+ g4 r- C4 k& l8 A! C                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);0 T  E2 Z0 k7 O0 G: b, p
               
# l  [8 L4 g6 W1 ~1 S  Q                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;; C: K! l2 V3 @5 u
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;/ e) Z8 l& u1 `

  C9 n5 B1 P6 j                for k:=1 to tab_temp.Ydim loop
) m! N6 l& P/ g                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];  y# B4 a: n1 y- B) Y5 }( }
                next;6 {4 |9 C4 ?6 v2 C+ U+ o. n' W# l
               
% Q* ~: C& ]. p& a' Q! b        next;
8 c7 m, N/ o/ M3 J' s2 E8 g6 O        6 Z' Y0 Y. |: Z) @) ?
        self.methcall(3600);% T& s  ?8 Y. M6 [( Y6 H* p( D/ }
end;' p! ?2 R* w" E5 G/ r( W
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 : k7 e% B- `8 ~; G7 I8 J+ g8 G
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
% ?$ u! ^5 v1 o) Y
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!5 x6 C/ A6 M3 G) _) i) l
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
. e3 x! t7 }! ?( |# q: Y: T. x
3 e5 Y1 Z$ P% `5 Y5 R1 B) Q  \( E' L3 ?; }' @9 K4 D' Z5 `1 D
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
) E7 i+ G& j4 D0 F$ T! i# a' V" ^而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 ) D" k3 ?% ^  i0 s% O; v
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
/ J: v  |( f8 p" P1 s8 N而procVerdicht ...

! _3 m7 `7 }% S  n& 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, 2025-9-14 10:16 , Processed in 0.014516 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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