设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3654|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。5 ]/ p7 G5 T  k7 I
3 z3 z3 j1 m7 t! f
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
8 {* k" }3 o& C4 ^8 c) S
" _' {; @( b! U( z不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。, A1 z! Z5 O& M; F( T( v

- _% t% t2 J" F1 k9 P我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。; c( q2 R* a7 @. C# q- J, Q8 B
* A% c3 I( \5 D- r- L' y9 n
比如 给小车定义整形状态变量status
/ P( U* ?8 F7 k8 Q. Q那么 在小车启动的时候 一般会用到
: X+ m2 ?0 G. ~, [1 ~1 m7 e@.currspeed:=xxx 或者 @.stopped:=false 之类的 ) X. d7 y: H! l# E1 P
这时候加上一句 @.status:=1 5 }( h1 ?5 \4 z& }- s# _, }
相应的小车停止的时候加上 @.status:=0( d9 d( o! R% E4 Z) Y

3 x. B6 D+ L& w4 T  G  I# I! m那么读取status就可以得到小车运行 和 停止的时间了; C9 I, u6 |% r7 e/ n- s
" I0 \) M2 M3 a4 W) b' c) o) t
读取统计表的命令是getStatisticsTable 5 Z7 ?: h# F" O; p' [( d& G8 u% p
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
- c% O; q+ r9 z3 n7 p: U3 i
' b6 u( n2 G) L8 n  T另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。+ d% t( ~( g4 S! a0 h
1 E" p: d4 ~) Y, b) n
is
6 x9 {( a8 I; J- {3 D+ r* D        Xdim, i, j, k : integer;! ?/ R& X" m2 }% p" n
        tab_temp : table;
7 c. b0 [; r# F        PufferKanal : object;
6 r  [# ^0 N. o& F$ Ndo
4 D: s  }0 ^4 T# z5 i: U3 j        tab_temp.create;
! N" t: {3 L% l4 X, E+ R! M9 t4 `# O" P        Xdim := self.~.Tab_Stat.Xdim + 1;
7 C) q& B0 k7 M3 y+ w: E) l2 ?' V        9 }) s5 \5 `+ s# R& O( \
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop, {& ]5 K- w  n% o8 D! {: `/ }" c
                tab_temp.delete;* e( y0 ~+ m2 {1 N5 `
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);; k* n9 ?, s, E! j( B) |
                ) z, L4 s# N- t7 h
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
/ _0 z2 S, D. `% f/ h# s+ H5 o                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;7 N7 N6 E+ f. i" R

4 t9 q1 {3 ]- u6 k- s                for k:=1 to tab_temp.Ydim loop
9 i( M: ^' g) u5 [                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];  E- z' _$ Y$ q& [' h4 r
                next;
0 y# r1 J! z( _3 z- X% B                6 W9 |" X" E2 T- m9 p
        next;
: f3 N% {7 X( [& e: ]       
3 f7 z6 a# y; h6 A. S  k' ^        self.methcall(3600);. }2 G6 K3 V9 X* ]1 U
end;. t$ B7 D3 g' l& _, k1 F
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 + a* t, H4 n4 |( w) K
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

! r: v0 {+ V" R看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!( J9 Z( t. G) t7 z3 {
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?$ \( E9 [9 b% I; V
, s& q3 k' o% f* E( n
! a1 v: z/ M/ `( ~1 P3 s% [
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
5 P! ^2 u: |& v& @; D$ H) G而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 3 h6 S7 d: l: S
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object   K. v" Y% y, d+ C7 H5 b
而procVerdicht ...

( k& m$ K% C# w0 T/ w% E4 ~明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-5-14 00:39 , Processed in 0.015699 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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