设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4882|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
  [$ o$ k' ]! Y" Z1 O, e' W. t( @: J) Y" c& `7 B, C" O
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。: ]' O8 F1 C% M$ k* ^' U2 t0 R- f$ A
4 B6 }2 |- E. A$ g( p3 I; ~& J4 U
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。6 C+ g4 t/ p( n) O7 S- ^0 {

( A/ R  p5 j$ b, l我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
& S2 e  j) o8 W- r4 f, k2 U  X
; }! V3 l1 @, p; e7 O  q& M1 ]比如 给小车定义整形状态变量status ! v# \) q1 G2 ]' y
那么 在小车启动的时候 一般会用到
# s% q; x0 g7 O$ i@.currspeed:=xxx 或者 @.stopped:=false 之类的 ; r: W# H5 K1 G+ k+ ]
这时候加上一句 @.status:=1 ; z5 d& }6 U6 \8 U: t" e5 r
相应的小车停止的时候加上 @.status:=09 u9 |9 A" i3 J) f2 i

% P: P7 I( `: O3 n; T' ~那么读取status就可以得到小车运行 和 停止的时间了0 g  u. s, ?9 q* L2 D# F* ?  C4 s
, M; M; E* O" g  Q
读取统计表的命令是getStatisticsTable 2 a& v' }( j, q5 X- w
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 % G7 ^$ Z3 e( }! Y7 f2 A

! [# k" A; |8 O2 f/ i另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
0 W7 T! P6 i3 j0 _
5 c5 A2 M* ]1 H: t" |; w6 ~is
& s) R- ~/ l# x3 y; h% M& E/ l        Xdim, i, j, k : integer;
; P, x9 n  j& @0 f6 z        tab_temp : table; $ t) O6 b5 d! ^% S. e8 f3 Q
        PufferKanal : object;
/ M: L2 U2 T. `  }5 ?( Bdo
  X4 E+ j+ Q5 }, a) Y1 X1 `        tab_temp.create;
, u. ~* k0 f* N8 o7 S0 Y        Xdim := self.~.Tab_Stat.Xdim + 1;
1 x& ?0 k- j- D$ `7 w1 Q       
/ F/ o& k' w$ w$ L        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
3 \$ m! J- {( U# `5 }: `& K% Q. W                tab_temp.delete;
" _2 V3 W( M8 p4 c1 ]0 v; X/ _3 N. a                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);+ e0 n- |' c+ I
               
% w' e9 h4 D+ y/ m) i  O3 c                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;7 r6 s7 Y9 ^& n( U
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;$ m3 B0 z8 q$ N

; |  Y5 ^' ^. }7 _4 [  `2 ~                for k:=1 to tab_temp.Ydim loop0 V3 \! J4 V2 v* i
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];* ]# @" C- A* Z% g" s
                next;$ a% @1 J4 s9 {* C) C/ p& j5 g
                & @  P/ r( s0 f2 J: J
        next;
3 Z7 y! k" P7 _' G8 `+ H! h       
6 ]9 E* X% [+ C3 [* p8 Z        self.methcall(3600);
0 m# m9 G( p2 R+ e: u% B& aend;4 S! s  x: L5 ~9 B, J9 }
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 % j/ [9 j3 [4 b7 V! R; u
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
) r( Y3 [# S4 I/ y, i2 k
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
: j2 C2 g! n3 R+ dProcVerdichtung这个是个什么东西啊,怎么在Table里面?
' H" _8 h1 u) L' _4 W. T" @3 m) W" D0 l+ ^; q7 w/ O' `, r5 O' W

4 P: y+ F+ o8 p' _) {* K
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object ! E- [4 d7 M( C" u! u
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
0 X& U; F7 g' w囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
' L& L$ `5 F6 G( i而procVerdicht ...
; O) T, C5 m$ ]3 j% i0 g2 ?
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-4-29 19:05 , Processed in 0.018069 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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