设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3803|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。/ o# F( W; t' K" p0 Q: V3 v8 l
* l. m! H; d" I9 {- h
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
9 F. T5 t! K/ ]0 N" h
, `: D( C. Q# q不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。' W, K9 F5 ]% Q8 B! k
& U; |: @! U$ }$ y  r* s
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
6 s* ]4 p# i' a
/ ~+ w1 @1 X& A% H比如 给小车定义整形状态变量status
# ]% g( k1 L' g" s# d那么 在小车启动的时候 一般会用到" a2 Y" K% `6 Y6 {. f( e
@.currspeed:=xxx 或者 @.stopped:=false 之类的
" G4 @/ `( Z) i这时候加上一句 @.status:=1
" P4 O1 u0 t  h+ h5 K0 W" g6 E相应的小车停止的时候加上 @.status:=09 v) j4 s* d  m0 V# y

# P5 _. I+ d5 x- z* d那么读取status就可以得到小车运行 和 停止的时间了) @/ D5 E$ Q8 N& `

; r$ X, l) G& c/ B2 |$ x读取统计表的命令是getStatisticsTable 0 d7 q. l1 }8 w1 j: n: C, K
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 " e/ f7 a0 F* ^( G6 O

# m1 u+ }5 L+ k另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
4 ~( A& ^8 R0 j! c- Z7 d8 E: W  x8 s  ^) q0 S: ^
is
; f  }" R& \" u5 s5 |        Xdim, i, j, k : integer;
( s7 ]- Y0 A+ _7 E        tab_temp : table;   J' i5 E/ h9 R8 C) `" N. d
        PufferKanal : object;
) h6 L% e! v" q' @$ G: k+ Ddo
2 y  @( r9 s8 `" d        tab_temp.create; . b; \- x" B. M% k* N' ]6 ^" w
        Xdim := self.~.Tab_Stat.Xdim + 1;) X$ Z5 e- Y* ]0 a% h  \% _
       
' t7 c. E" r- ?" S. u        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop6 j  l( U: k. o; E
                tab_temp.delete;
& l+ R5 {8 _1 P5 F' H                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
' X- B! Q6 z5 q/ ]7 \                ) b7 Y: Q9 @5 f) N4 f" S' ?
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
6 I1 P1 _6 y5 ^                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
9 y' I  D' u. c" M( J+ m+ x
/ C2 Z; z  h( x0 \; M* p                for k:=1 to tab_temp.Ydim loop5 p" p) ?: d  K( @* _2 }
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];- L6 \2 M( D; I
                next;
& Y4 v# ~$ u4 `5 H/ ?( k+ r               
7 I4 n+ K  I$ C4 Z! A        next;
% q$ a$ N; ?' O! y- b0 Q       
. m! f2 z. a5 b* w4 C( W        self.methcall(3600);) [# a2 @, G( R) {# n% f, q
end;
6 ]+ _) w% F/ O  [
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 . V* P/ N& F/ J
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

2 ?7 \5 a- q* l( k) }3 t看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!% Y0 L2 k6 ]% P$ v0 E+ L6 f- F
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?2 D8 Z4 ?( `4 T
4 [4 ]4 `1 G, x6 |
' v5 Y! N. W' L0 ^8 ^
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
" ]( U8 }: W( R而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
+ A+ B6 f' U- L3 ]8 m囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
4 c2 f0 F% f3 m1 r& \" {而procVerdicht ...
( L: b1 X- Y8 l% }, \) w
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-7-2 14:05 , Processed in 0.016084 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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