设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3927|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
' ~  z; u3 G( y5 M7 T9 j
+ [. N8 u8 T4 M+ B" r/ G关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
$ s% i; x/ s  O3 z$ H5 _
( h+ H. e7 J# R8 e不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。. L7 A0 [  p" ^% w1 K8 }7 ^3 n8 r3 Y

. u3 S. O" W+ H我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
# J) Z4 H9 @( e3 z0 n& w: L
6 r/ J, ]1 _' p. C( A0 e比如 给小车定义整形状态变量status
/ J0 o4 `: \/ {) c& H$ H5 W那么 在小车启动的时候 一般会用到
- C3 ?9 T* |+ W9 d0 F. n@.currspeed:=xxx 或者 @.stopped:=false 之类的
* H! C; b' o6 X+ s7 i7 A这时候加上一句 @.status:=1
8 R8 ]) ^# p0 z* P! _9 e8 f. f相应的小车停止的时候加上 @.status:=0% u+ _5 `# b& _1 }

& J' L7 R+ ~3 u那么读取status就可以得到小车运行 和 停止的时间了
+ z8 A7 r' s2 K: \: T( O* o: f$ t  N6 Y- E1 U7 _
读取统计表的命令是getStatisticsTable
" a9 z; o" C. r" i* J/ w# @( K另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 9 w0 }9 B. ~1 y* i3 C0 N
$ g) a) ^6 [! `* f2 h, J
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
* N9 o. X6 P0 U6 r' k
6 H/ d; O* O2 uis  t$ b1 w7 k/ l! B- h
        Xdim, i, j, k : integer;- p# ]# V) E% ?( F+ ?7 k$ ]$ W1 \
        tab_temp : table;
, B' w6 m" `7 \) {  ^- p# k. e        PufferKanal : object;' K4 E2 k, F# O3 e
do) \1 l4 |+ V( |8 j
        tab_temp.create; # v- o, K8 r; Z
        Xdim := self.~.Tab_Stat.Xdim + 1;, b# j( F+ b, j1 q. @* M" J7 F* O
        ( [! p! X& b1 s) r1 Q
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
. }. t1 m! `! c% Z8 R  _                tab_temp.delete;
# ]9 m' B1 d8 E  p                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
$ P! e. N% v2 A; V; [/ _. b               
3 m( C# {' Q  ?8 t& P1 P                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;' X6 w/ e% O+ z/ ~, J0 W
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;) C$ h) Q+ s- f9 W

/ Z/ `- C! Z$ _7 a2 v4 j* D2 a                for k:=1 to tab_temp.Ydim loop
: v8 _, b0 }( r& ?* G                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
( g" X0 C5 r6 O7 @5 ?                next;) X) E& o6 }0 e0 Q5 r# j
                - G9 M, A9 l/ M9 j1 c9 }$ U4 y
        next;" V. l  P( N" x2 J/ `  y
       
# {. C8 ]/ u7 P' q% Y! f% x* B        self.methcall(3600);
6 K/ n/ ?2 n7 s1 a8 o; ?$ ~end;; h- J3 X* u5 E4 K/ Q
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 4 j1 m, r1 q- _& P6 h2 o; v% s& U- k% ^
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

+ o8 |# w, M3 a! M/ J看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
4 A4 i  ?6 P+ q2 ~2 D% ~. LProcVerdichtung这个是个什么东西啊,怎么在Table里面?
+ ]* M/ f* n% w- H; r0 ]: R/ i1 `: T6 k! O' o  E
, V, p$ j: ?5 H5 a& |) Y
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 0 ?9 p; a1 m& v* c4 S
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
( e: ]7 z/ p5 s. ^囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
9 W+ t0 S8 {8 b+ X& ?而procVerdicht ...

$ s; ~8 N9 i9 ]' b& W; c# \  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, 2025-8-21 13:49 , Processed in 0.017129 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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