设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4216|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
( F7 v+ Z5 a% J% F, D: Q5 G3 E% F1 W- }' A
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
9 J2 ]+ R3 q" c. _6 ?1 k! Z1 _; _# h* p  B
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
; I. Y: r8 d; \9 t0 o4 L8 Y
0 Q4 X! m9 ~6 |( O我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。6 N/ v, {. s4 c& V; y$ y" _3 k

% j1 v3 ]9 d. I比如 给小车定义整形状态变量status
# _5 ]' E6 L" ^" Z那么 在小车启动的时候 一般会用到
! M# ]) }/ q) f9 F6 F/ B@.currspeed:=xxx 或者 @.stopped:=false 之类的 0 F9 j3 j1 c' q, a; a' c& O
这时候加上一句 @.status:=1
  @2 O! S' W: R. C" n相应的小车停止的时候加上 @.status:=0* Q% S: p8 Y4 t$ s$ J; ^
  |; z' n( D8 i6 N5 A
那么读取status就可以得到小车运行 和 停止的时间了
1 O' z( ~3 {/ Q8 N- m; B: b: l& L/ h5 g/ s( U* y5 q
读取统计表的命令是getStatisticsTable
3 l$ h/ x- [7 N) C  ?- s% r% M) C另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 - a  V. U1 f  B
* p! ]  f. I+ F1 W) g/ [0 s
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
4 q  ]/ _- O3 e7 m; ?" Z; Y. U1 p, l- v  ]! k5 w
is
7 Q) U- ?, K' p* O$ w+ c; F& L        Xdim, i, j, k : integer;
# X" y8 K( G7 n" r        tab_temp : table; : A& h. Z! y6 n( a- W7 e6 u
        PufferKanal : object;+ H3 I- q8 ~; Y  J
do. D- `% o% u: J2 \( d
        tab_temp.create; " l  l( w; p9 {/ d
        Xdim := self.~.Tab_Stat.Xdim + 1;
' f# V, r/ d! L  I. a       
0 d/ O& ^( Z, I3 g        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop' o3 j6 }4 b* _5 M
                tab_temp.delete;; v% i  z5 D# S* ~. t
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);( L- W/ c5 R$ X" y, I  s
                ! }3 j5 Z% k1 g' ~  s; _
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
5 H( s9 v) n" x: w% p3 Z                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
) v% G4 y) \1 O# N' g 2 y8 y# z7 O( i5 l
                for k:=1 to tab_temp.Ydim loop1 x/ Z% s. B2 `/ M% J0 Y7 L9 A
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];3 U6 ?1 U5 l2 u9 ?3 I* k
                next;$ f; N% I/ X% @. O
                6 t- V" G" M0 E, j
        next;
9 _' P* v; T( g' a) o        & V& m& j! j0 y8 ?* o
        self.methcall(3600);
$ ^" A1 V% A' [+ B; W" o) y; u7 Zend;, @4 r, O$ q5 C# X+ R9 z
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
0 r% }* [1 R5 s介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

, _8 B; G4 H; x) U& D  s看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
2 x; C; F$ O2 c; S' T; LProcVerdichtung这个是个什么东西啊,怎么在Table里面?
9 K; L# k! Y5 G$ W  ^! s$ T
) {- P% ?2 W) D% }9 N8 v: l) R$ y& @  j4 J
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
' o$ o4 h$ {( X& [9 {  h% n而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
1 l1 K6 ]; v; J* ~囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object * D* l  Q2 \+ p1 y; S
而procVerdicht ...

& y5 {/ i" U& t! t$ ]2 F) ~( Y: F/ Q明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-10-15 15:49 , Processed in 0.016754 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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