设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5335|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
) Q" W6 }# n1 Y. a& a5 @2 P6 N% v3 t6 d
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。; L- N5 Z- N/ r( s7 B. d/ F

* e( p( }! F: m; Y0 b, ]8 b/ R7 ~不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
, L5 S1 |* X' \# H8 z3 W) C9 S# _
6 f! t1 q0 \- b# |3 d我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。+ S* D7 a4 d/ f6 @) c1 m

. M+ c4 u, d! p) S2 Q: J7 O% @, r: g比如 给小车定义整形状态变量status % W# i6 m5 S" u. U$ J7 i
那么 在小车启动的时候 一般会用到
+ O$ ?: D' ]0 _1 c) \  A5 r) ^@.currspeed:=xxx 或者 @.stopped:=false 之类的 2 }% a# |9 Z2 Q! q
这时候加上一句 @.status:=1 0 F0 O" q  y" k$ H
相应的小车停止的时候加上 @.status:=0
6 i5 k1 E% C$ Y6 D! X' l2 S: c5 |9 [' Z, h# u. |* Q- _" n' p' z) i7 h
那么读取status就可以得到小车运行 和 停止的时间了9 S: ^& Y9 o2 \8 I# b

+ [. H5 U. I( ?; K& I读取统计表的命令是getStatisticsTable
7 Q. K' Y$ F6 {4 v  V+ n另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
) K; u) d; G7 L, q5 \
, a) q5 k2 {$ U& {另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。% r* r4 R; M) ?7 F2 d

3 T( {: T- ]/ v! pis
4 M2 @  b7 a; O6 ?        Xdim, i, j, k : integer;, h6 n& C. R* K% R3 G8 f
        tab_temp : table; & ^; l, w7 m9 ]. c# c) {& ~
        PufferKanal : object;
; h5 E7 l/ a$ U  Rdo8 N+ B1 T" o8 O& |1 P' J; \2 o
        tab_temp.create;
1 J: _$ W( [6 k1 q7 q. r5 R0 u2 q        Xdim := self.~.Tab_Stat.Xdim + 1;3 Y  p6 t( Y$ P( _$ ^) d
        7 G7 e* |- s8 f9 b8 U7 Z8 b
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
4 D5 k; n1 X+ j3 R" ]: ?- f                tab_temp.delete;7 E/ F. O+ A; e- v: y3 N
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);0 x6 ^, k4 m5 ~0 T: V6 ^3 p
               
0 C) t7 c( t3 p7 j: Z                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;6 |  j+ ~8 l1 d; [7 U, {
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;5 {3 N" a/ g7 L" {1 d
0 J9 N+ F  O# |% A* q" z
                for k:=1 to tab_temp.Ydim loop4 O$ l0 B) p( n  [% u
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
* E* X) t1 V3 w& y( A' L9 U0 c                next;' f4 `7 T1 |) C* c. v
                5 T4 F3 i( v3 o  |) q+ `
        next;# a: z6 m1 x; E( p* U
       
2 W& _. [- b* o, B; X+ w' Y5 P' k        self.methcall(3600);
- R9 k4 E# d/ Iend;# E4 }& d$ P9 D
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 ; h. j8 Y9 a5 o# Y/ C8 j( `
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

! Y6 U. B! B3 ]5 ?看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!6 m  U. {! O" S. _: D. ^
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
! ]6 p. }7 ~  H$ t3 D
  p" g4 D4 {5 ]9 v$ e' o9 B1 |9 X- X2 x7 U
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
7 G2 ?7 O: U2 C4 B$ |+ H而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
, s% v& ]  q0 R; o9 F8 I" w囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 0 X% n7 v, l% A$ b1 H& v
而procVerdicht ...

2 A8 I8 b: s2 t* s5 J7 I明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-8-6 23:33 , Processed in 1.175585 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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