设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4711|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
/ H$ I. z* @- p! ~+ w5 i) f+ t! v
) z+ k9 k' c6 Y5 A0 ~$ V( V  W4 h关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
/ G& [+ @1 \9 N. S5 d) P. u* T" b) X  ]8 }+ v3 Z: X$ S
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
. X; a+ x$ Y7 r: k+ G
! L3 i7 h3 d9 W3 j5 e我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。. F% ^$ k- t; Q

! {8 x4 c; u$ p& t3 O; Y: U' n比如 给小车定义整形状态变量status
9 Y, b) }* K2 K" W那么 在小车启动的时候 一般会用到
. c' S+ f8 E- Z9 T5 K@.currspeed:=xxx 或者 @.stopped:=false 之类的
9 J( n+ c' n# k5 ~. L' X0 F这时候加上一句 @.status:=1 % E$ {8 Y: C7 i; U, I" J0 W/ I# `
相应的小车停止的时候加上 @.status:=0% R- h: y  l$ d0 {4 z( d+ b  I- l
# w9 B, W2 C0 `# K& }( r
那么读取status就可以得到小车运行 和 停止的时间了9 t$ w  ~3 @0 k. H, M" F
; G: r( ~" R" F; ?7 C6 a* X; ?; f
读取统计表的命令是getStatisticsTable - s, s# J! I# a6 D% J
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
, ~3 P8 l" ~4 ~2 P! d# `8 s3 W
( W. [3 K; O8 f, r" s6 k另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
- F, c8 P4 c9 d1 T* N/ h  q% Z4 f
/ M7 C2 T& d! dis! r' ?7 `& X+ S/ f& \
        Xdim, i, j, k : integer;1 o$ i8 H  U( k$ h* E( k% a
        tab_temp : table;
# |. y% V; |* ^: o: k" O        PufferKanal : object;. v1 D' U) P- E) m0 Y) K: v+ L
do
' v6 U: D  X( F4 ~( e! ]4 D        tab_temp.create;
, O! }. x" L' R5 R        Xdim := self.~.Tab_Stat.Xdim + 1;4 l$ P$ A8 V; W. Z
       
9 Q$ b1 v% Z" w6 ]1 N6 e- q) c/ ]        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop5 S% s5 h9 F: I: k$ C& S- h
                tab_temp.delete;/ k, w1 r! H' f" k. |! ~" y
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);8 n0 P7 |6 ]' n" k: R/ l
                , ], D, E8 P# d1 `% r. W
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;# P8 I3 u  K# B# ^0 v! ?) B- Z# c
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;; Y+ ]; s4 r, @& a
, e7 ^$ U8 i4 m/ U* A9 _. r. j
                for k:=1 to tab_temp.Ydim loop
5 J4 S$ m! S5 h8 [2 {, U+ y3 v4 j                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];% G; l/ `! g! g  i8 G! }; f, l7 S
                next;
( ~6 u' B' n. h" J& c6 \               
- M8 U9 ?5 z7 C$ d/ @  M4 f: K/ r        next;
) c0 Z' p( d, a$ s* M        & `# q; t% _2 u! F8 E
        self.methcall(3600);! E: _  g' ?1 ^8 o$ @5 z; c
end;  G( O+ Z% f6 {
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 4 g) M5 j' e% Q& x6 h6 `3 }  |
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...

  Z- K! E3 d+ z. V! v; o$ A看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
- x% E. q' r* F2 D# r, @ProcVerdichtung这个是个什么东西啊,怎么在Table里面?, w. ^& I! ^. _# J) X8 w/ P
5 z) A2 e4 |8 `+ W8 T7 n1 G6 N5 ~

; M" W. V; h, T5 I; N3 L( o- C
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
" e3 N7 h6 y. [, X, |  [而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
- _0 Y: Y7 j3 _囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
: c" m2 S1 L2 e- H; l5 r而procVerdicht ...
( \0 M2 [# }$ _6 \8 U
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-3-13 15:46 , Processed in 0.016452 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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