设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4590|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
" t* B7 L2 j. i2 E1 J
3 Q( Q$ ^% _1 }/ @9 a# @关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
9 g, C! K, r1 Z, C0 P8 ?( }: {( q" C- ~3 E
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
% P& V( W: t! k* L' {4 S
. ]9 N# e% W- L我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
6 k$ |2 c7 f" c0 L
% a! U( i' M- L& B( F; L1 L! ]' A) k9 a比如 给小车定义整形状态变量status
/ s- Z$ d1 J5 ~/ ^6 Y2 s. f9 y+ u那么 在小车启动的时候 一般会用到
- Y' N1 X4 H! b9 T4 K/ Z@.currspeed:=xxx 或者 @.stopped:=false 之类的   @) B% W6 c! l+ O, B
这时候加上一句 @.status:=1 ' E1 U) _8 q% _4 W+ W9 I8 ?
相应的小车停止的时候加上 @.status:=0( q4 w1 W3 m' [2 X* c
$ J0 r7 g- W8 c
那么读取status就可以得到小车运行 和 停止的时间了& l, @4 w, J2 s2 t+ N1 e
/ e3 S& ]1 t" ?2 ~0 n9 g4 F" I
读取统计表的命令是getStatisticsTable
) |1 E2 F2 g2 ]& X( F另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 0 a5 [# J' Q9 ?* l" l6 l

1 X6 v( D; Y( a5 ?+ |8 ?. C另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。+ _0 B9 R/ x5 N" S0 R, g8 }

' k2 q8 q$ g8 O7 {% _" Uis
/ g6 w- T  E; u4 e$ R: |        Xdim, i, j, k : integer;7 U6 K8 R: Q- w% P& U
        tab_temp : table; $ U# V: q' Q" y2 ^0 l" A2 H, s
        PufferKanal : object;
; d$ d7 w- `5 [- }0 B+ G  Ldo. G8 o5 F- O2 z" h+ e) Q
        tab_temp.create; + Q) |: `. l6 l& t( S4 W
        Xdim := self.~.Tab_Stat.Xdim + 1;
7 V8 H' D2 [7 h0 C        4 c9 I) g1 [( T' x8 I
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop8 e' N. Q2 p$ O9 l
                tab_temp.delete;' y3 t$ Y' }% ?
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);$ `6 G1 e' u6 ^1 L
               
3 O- V* v: K8 v* Q$ ~4 |                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
% |: v% t! ~- T( t                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
+ H" y% M' ^2 |7 B5 c0 K( D   V" s/ a6 q! Q) J" B1 Y
                for k:=1 to tab_temp.Ydim loop
' ~, R  v, y  ?2 T% s$ t3 {                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
6 _( j7 L; l) g+ s1 ~" a                next;  F: [  m. l& ?5 K  l3 _! y
               
3 K2 i1 J/ Y+ W# O5 \& R        next;
. J% l4 b4 f" O+ |2 O  i) X       
( Z! V2 n6 A' e8 Q        self.methcall(3600);
% _1 Z0 P$ f6 H7 v8 [4 qend;5 j) N- X( z6 _* F+ C
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
  C7 C0 W" D( m介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

/ X: Q1 M" T+ I8 q2 O3 W看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
& R" w) u+ a: ?. ?0 Z" N) bProcVerdichtung这个是个什么东西啊,怎么在Table里面?
7 c# z( i' g+ ]
3 ?# h- D2 b0 v! j" ~$ p% ^- G/ ]6 [0 R
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
: F' o, s& e3 `* e" |2 p, Z而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
; I! a7 `9 J- ~  n  ^; O囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 3 g+ L0 _  u. M: f
而procVerdicht ...

' N1 u9 l- e/ l- J: t明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-2-3 20:06 , Processed in 0.021095 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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