设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4496|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
: R6 _) g( Q- ^9 u4 K' f& H6 n) R8 D2 M, ~0 J
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。5 @( ~, v# h7 N  W

  r! b; B+ |" l2 I不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
1 `- A* F' c& i; z6 A4 A9 @1 ?1 H7 @( a! }( C4 v$ T
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。5 o# z8 D8 A' q, B

1 `% W% z' [8 a3 z" u( N比如 给小车定义整形状态变量status
2 V* Q1 k7 R) e( B- v+ n那么 在小车启动的时候 一般会用到
6 G  t7 w: [5 T) |# L  k4 _@.currspeed:=xxx 或者 @.stopped:=false 之类的 % G( _" q$ C- h2 H8 o* x1 g, i
这时候加上一句 @.status:=1 - y; l6 g9 j% L5 D
相应的小车停止的时候加上 @.status:=0( [2 j2 D1 ]5 d7 n
0 X9 T9 i: G+ |. T$ Z" V
那么读取status就可以得到小车运行 和 停止的时间了
( L* m2 G, P4 q2 O) L9 S
. r) W/ c8 h# g" W6 w& k: [& Z读取统计表的命令是getStatisticsTable
: d7 I. `3 k& Y另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 7 w. d) E* F" E. y. n' `
7 J% H& ]+ p' k9 A
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。! i  g6 B# S% A/ ?% n) b

. ^1 j  R0 P" }# `" m6 jis8 p$ S3 S/ J; r/ o
        Xdim, i, j, k : integer;
. z4 _+ ?' B7 v4 u        tab_temp : table; 4 U0 ^2 S$ p- z  B
        PufferKanal : object;
+ l$ r' C+ ~1 S) m3 }6 Z6 Ddo4 A3 I4 K- K! m/ l: B/ i
        tab_temp.create; * ]. J. g& A' V9 C% O: N# L: N+ Z2 i8 h( n
        Xdim := self.~.Tab_Stat.Xdim + 1;. ~+ a) ]3 E+ [  t4 [# @
        + ?  I6 ]: X3 K- }+ m# S' r: ?
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
) i$ d' |" z! Z3 G' W& k$ B                tab_temp.delete;: e. ^/ n1 G$ p, d; L6 J! @- J; e
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
( h$ w! l+ J* O0 r( l" F% S* x               
$ y) w4 v7 m# ]$ k                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
1 g6 b) g3 W( F% q/ ]                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
- Y' L$ w  ^! ^$ l6 ] / q, U# A3 Z9 x
                for k:=1 to tab_temp.Ydim loop3 }+ A! u. ]7 r$ ~
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];& ^3 M+ e& r# X  r  f! ?* c
                next;
9 H: G/ e8 T/ P' I5 c4 ?6 A; s                % c& E# i* M* F( o
        next;6 ?/ s3 E+ E0 o) ?8 l9 E
       
% ?! [  [/ R" K7 x4 r/ f0 ^        self.methcall(3600);, B# v& z5 V5 f
end;
* e) p- ]9 D7 u0 n0 M
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 # p4 v, g  Y( I8 z4 T. t- M
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
3 D, _% o4 \- p2 }
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!2 ?( v# ~+ q! l, _+ u
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
- ^# G2 N" Q4 v% P" \3 D5 T4 C6 e4 ~) Y; Z: q6 p

2 s9 R( n% U$ I) X. b2 _0 N7 a8 M0 Z/ L3 J
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 5 k) Z6 b; f+ X+ C5 e: h- f
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
) q* D5 ?1 ]- g. g) r6 Z4 X囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
1 x3 O% u' \9 c: P5 R+ ]6 a/ m而procVerdicht ...
, B- ~7 B: c8 |- A* J; a( |* m
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-12-22 12:55 , Processed in 0.019089 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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