设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5098|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。0 z  @# R3 D& f. Y7 f. \
- Q( P9 I$ x" ^0 k: a" `! h; M
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。) ]. _/ o- O( D$ }

$ u9 R+ r5 S$ s; [) {5 Q4 H+ S/ N" ?不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。; O' U$ U. c' m8 A

7 n2 X5 h0 D* [6 F" ]5 a. n  s我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
& o, m, p# u% D6 h
  p3 Y, [8 g2 L) t" w9 ?: y比如 给小车定义整形状态变量status ' ]! T' v- I9 N4 [& N' ~
那么 在小车启动的时候 一般会用到
) B7 |+ j4 l$ Y# x@.currspeed:=xxx 或者 @.stopped:=false 之类的
8 F( Y+ @6 V- R, [, F" N这时候加上一句 @.status:=1 : r3 ^) o8 ?! [: W8 D) n6 H
相应的小车停止的时候加上 @.status:=0
9 U- ~" k2 R! U5 Z( k  F
4 W9 R- ]( r1 l/ s那么读取status就可以得到小车运行 和 停止的时间了0 T! y* S$ b# ?0 N8 ~

- F9 @2 d- T# l2 D3 l& C读取统计表的命令是getStatisticsTable 1 u. z5 [$ i$ F# G9 Y7 f0 s
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 . `& A/ q1 T5 v1 n9 n# Y4 K
/ q5 n% r) k+ H9 P7 F
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
/ z. b- ~' z- T3 w9 w( Z1 o; B0 t* T! F. s
is
) n* W, Q! U6 N% K9 ~0 x        Xdim, i, j, k : integer;
2 F/ H* S! ]5 t, A; U8 F; u        tab_temp : table; / D. ~2 f) C! T8 @" G8 q
        PufferKanal : object;
# _5 P. X3 N) f1 m! D9 S# ido4 N) |" n* X. z3 x; D- U
        tab_temp.create; 2 g9 c, E& V$ e" f8 @, s
        Xdim := self.~.Tab_Stat.Xdim + 1;! u; s) z7 z6 m6 N$ n
        7 t! k  m4 c8 B7 l4 y5 P2 j
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
. e+ U% B% k* a( [+ L2 Z" p5 ^                tab_temp.delete;9 T2 t( x0 W/ I4 W$ N: U6 k
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);5 N5 S8 q: o) I" b" \
               
& h. I1 V" e( s2 h9 y4 \% G! J! ?0 X                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
6 @2 ^7 C: y2 @) D7 E                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;& }) |! I+ ?# R6 M
6 R  |! A3 M% b9 l1 G, [, L: G2 n
                for k:=1 to tab_temp.Ydim loop1 H/ ]. F2 E/ p' o% ?" x$ V. w
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
: G0 |) t/ w* ~0 f                next;
# i+ s7 u8 x! M% g) U5 R6 q               
& F) H: U* m0 x2 u" F7 W1 }        next;
5 C) v8 K) i% ~% ]  X5 ~/ O3 h        # w9 v1 s0 J$ f- R' {6 H
        self.methcall(3600);1 A0 I9 j9 p2 m3 B! O4 }
end;1 z7 Q: F4 E; W& m
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
# V, @0 d3 _) a4 v% P3 Q介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
6 \% C; c7 Y5 A% Y( v5 w! G
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!) g( x! r, e" Q+ N4 B2 K, P
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
0 ~8 p/ S7 W  X3 ^( H
; X# t* ^" i, l" ?, B
3 b) I4 G" ~7 f* g- z5 r
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
7 {8 g: F# g1 I. [而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
+ v- J; |- O3 |6 d( l7 A$ L$ W/ {囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
9 X1 ]3 G/ L0 f4 r+ y+ j* l# n3 x而procVerdicht ...
5 V" q! v8 q5 U' T0 G' D+ J
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-7-6 11:50 , Processed in 0.017063 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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