设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3800|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。. H& e) N  }* j/ N" I- r% v
4 \4 I: Z' c# d# ]0 A- A4 D
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
$ f& Q" I3 u  p( g7 Z) m: s1 C; U9 ]* D# y
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
: p3 z! C0 m5 A3 }
3 z( E. |! h4 @# N我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
  K8 f7 U' y6 v0 n* I- S1 M, W
+ J# \; _  `1 |- X; E/ A! K比如 给小车定义整形状态变量status
. w  R! x* m* ]4 J0 O! C- n那么 在小车启动的时候 一般会用到
2 \% V7 Z% k6 j: I: V& O, M  f@.currspeed:=xxx 或者 @.stopped:=false 之类的
' j4 k$ E7 q% R8 R0 `这时候加上一句 @.status:=1 2 @. U8 Y7 ^+ J; Y
相应的小车停止的时候加上 @.status:=03 D- L& @7 k0 F
  C, `$ a" q+ J+ ]
那么读取status就可以得到小车运行 和 停止的时间了* ~# H" T6 r0 j$ ^

, H% P$ i* O1 Z: \( Q: l+ q2 p读取统计表的命令是getStatisticsTable
6 a4 Z" X/ Q5 c& {) I: t$ W另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 0 Y: D" Y2 ?. _9 ]8 m- d

* F$ f5 t5 u! Q8 _! Z, \" s* W另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。5 R9 a# \/ @0 _# M1 R

% Z# s& |3 C8 R" nis
" _3 x+ b6 ^1 u1 f: i6 B! F! T! t        Xdim, i, j, k : integer;
; E3 C1 `* a) w0 o        tab_temp : table;
7 E0 y6 v" o! f# u! }4 M$ _        PufferKanal : object;! l# Y; [, f, k! o6 x5 q1 {
do
0 Q! |# T4 v1 J# B1 j- u; @# m' x0 Z+ ]        tab_temp.create;
1 D5 A; M- r5 J2 Q. A1 y7 W        Xdim := self.~.Tab_Stat.Xdim + 1;3 A. d9 N, R0 d& |+ ]
       
: d+ w; o' U. F        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
! a9 }) p8 \* o5 b( e                tab_temp.delete;7 k4 c  ?/ _6 e6 O3 v# F
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);6 X9 K) `% B& W6 Y
               
5 I) \8 g4 W- v+ w" @5 r9 A                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
% U( R3 J+ j7 C3 C                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
8 F7 F6 J4 a& P+ ^1 @
1 i( V" [2 a( f; Q$ z# E- @                for k:=1 to tab_temp.Ydim loop$ g+ d7 K2 p( ]$ J% G8 x# r3 T
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];. C- ?  s9 P9 p; x% |. X
                next;' y9 G# z9 E, o9 a0 m
                8 F5 s7 {" r6 t0 _/ b$ k
        next;
4 T1 f1 N! G0 k% Q& q9 M* k" C       
- ]( r0 r- s& L. U% G        self.methcall(3600);+ k' D( v7 O/ n
end;  F; w% {% ~+ R9 Q# e# c# l
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
8 Y# k) J" G5 j1 C. G介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
% A* `# `( ~2 @2 d" J/ r$ w
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!7 o) T$ I5 I0 i
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
* C$ l. a9 @9 N; A4 k" X9 w. X* D

& U+ x7 t7 ~+ F/ M9 q, a
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
% }+ d( z3 T' U# j2 |而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 $ P1 \2 @+ {- z. Z/ \; Q- G
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 9 ]1 m2 T- s2 E3 C  N5 ~3 T
而procVerdicht ...

. D! Z& u3 I# m9 n8 P- M- \9 O# {) Q  G/ V明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-7-1 09:53 , Processed in 0.015393 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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