设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4365|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
! A5 F1 L) }: n2 v) S+ s6 m' j& X$ ~: H- p. m
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。; ~/ T9 |; w4 \5 {

8 O, _8 O- D/ G不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。6 b0 P/ L6 j6 U2 Z7 R5 a

. A/ a7 g& D# {' l5 y- p我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。# [) q: Z0 d* J  n4 A- L! p% Y# C1 X
' i- C/ x5 L+ t! h6 Z4 M
比如 给小车定义整形状态变量status 0 t0 D! P9 W! e" X# D$ n
那么 在小车启动的时候 一般会用到
. w4 ^# o1 s! J. k% C2 K6 m@.currspeed:=xxx 或者 @.stopped:=false 之类的 5 p4 Q& P* E% C" K1 @
这时候加上一句 @.status:=1
( J, o. u/ \8 v6 r) }相应的小车停止的时候加上 @.status:=0
, @4 ^# [2 C( K  p* \
5 g" V+ I5 ^) y! |5 h% Q' B那么读取status就可以得到小车运行 和 停止的时间了
4 p( G( ^0 o% G$ y! J. \; K
% c* }2 ^7 N  v9 J读取统计表的命令是getStatisticsTable : ~: B# s  G" x4 E6 E8 h: w  K
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 ' Q3 U4 M: W6 F" C" r" Q

, a1 t- w7 I# o; L2 w% S  z另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。7 @4 T* r5 E/ w- @5 i& n
' E: k$ r! M. D  u: P3 v& J
is7 L5 V$ o4 x: w- X) X& b
        Xdim, i, j, k : integer;
+ _) c: d  \+ B& e        tab_temp : table;
0 y% `" Y% Z/ H) k2 V* h" G        PufferKanal : object;9 J2 o2 O- ?& k
do1 {. q5 {$ B7 D: a4 G. S! h! g
        tab_temp.create; 9 A6 }( i$ p! a) j# X# \
        Xdim := self.~.Tab_Stat.Xdim + 1;" g: k: f6 N! g2 q" ]& L* u) ~; Y
       
5 q* o6 _5 ?( p: ~# v        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
) n) u  C# Z0 S1 F8 L! {0 G# b                tab_temp.delete;+ b2 i' z$ q' r: @" k0 ^7 F
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
. r+ b: ?" y0 K4 k               
1 ^) N* s- G/ t/ i: G! |; z1 @                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;6 I/ L5 x6 T! f
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;8 q% `+ y! Q3 f

2 k1 ]1 q2 I) y                for k:=1 to tab_temp.Ydim loop
  y+ ~: i2 t/ S. V                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];. D( F. Q1 \: C& V3 x( v
                next;
1 K5 M+ j  W& t+ F6 }8 C# e4 j3 J& n               
4 r/ K' Z' w3 ~# x" d        next;/ H9 `7 y- Z6 B% s
       
- h0 J' J9 T; V* O* w9 v+ s# U. M) N        self.methcall(3600);! \. [% z: x3 h+ H
end;8 q2 S9 Q9 n% Z2 z/ R
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 9 L: `# ?* @- }# \
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

8 z, P- k$ l( `% U9 B) L5 a看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
( W/ ?8 S& X9 I* SProcVerdichtung这个是个什么东西啊,怎么在Table里面?2 L2 U! s* i7 l* f" @9 M( r
/ M6 R$ c4 M/ g! G- w" p
! ]7 h1 M- N4 ?, Z/ _: ^/ g1 L) Q
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
3 T# Q- z( d2 |而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
+ B  U( M8 E8 s9 N: B囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 4 \5 B; Y3 }* ]4 L
而procVerdicht ...
0 V2 u8 w+ D+ O
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-11-13 08:36 , Processed in 0.022954 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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