设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4810|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
( L  N" P- V) I- h6 t1 q9 L; N
1 E% D$ G% y. [/ R0 q6 I) D+ |0 i关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
; z  H4 _- d" w- |% ^6 L/ B. O5 a7 r+ a  g) C# ^1 B
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。% Q' O. F# s1 \* M: b$ a
% F% ?1 g1 p9 ~+ w( z( e- ^
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
& F7 ]5 y0 w3 t$ W0 @/ I. j5 y+ x7 y7 P
比如 给小车定义整形状态变量status + E0 b: h8 w. _6 o; ]2 P
那么 在小车启动的时候 一般会用到0 o- K8 M2 B8 C4 C+ C/ |
@.currspeed:=xxx 或者 @.stopped:=false 之类的
7 d9 k# A3 P3 N7 ]- t这时候加上一句 @.status:=1
! _" l. Z, V! i相应的小车停止的时候加上 @.status:=0
  y$ _0 k, b4 v, t) |2 d" c& ]& J+ l- \+ i1 f, r/ Q% C! M$ O' K
那么读取status就可以得到小车运行 和 停止的时间了% t. M- o$ p4 z9 O* G! E0 i% \
; ~9 y! C5 {+ j
读取统计表的命令是getStatisticsTable
, V  |1 D4 N/ e& {$ W! W! [! ~另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
" G: z7 O& c( h) s9 t0 O1 D9 D
9 l' U4 E* \1 h. h另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。& X2 {. b! h/ r, O5 z: G7 ]
: S3 c3 h  J& o+ ^) t- t1 V
is
4 Q# R$ F, G) _) Y        Xdim, i, j, k : integer;
% j: c. m" H5 [0 e: k1 I        tab_temp : table; ( d6 g- |& F! E! ~# x& k
        PufferKanal : object;: I- u% q( M& ~  V; g/ D! C
do# f% h0 r; V. |  ~5 X% g
        tab_temp.create;
  b7 I+ Y3 J. T5 T" F7 q        Xdim := self.~.Tab_Stat.Xdim + 1;3 s* o/ r7 |: q) |
       
" i1 _$ ^; W! e6 `' u# r1 j+ N        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop: k! w3 V3 X9 H) |% X. s! W
                tab_temp.delete;) Z# k. V" T/ Q0 ]
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
/ u& ?7 f( j& X) ^1 k3 U               
6 t' c! V7 n0 i' Y1 T                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;# q1 q2 k% D1 U0 A1 u1 G
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
# L$ q( R. Y1 |# E2 F. ?& v2 c " r0 {  O3 d& a/ a
                for k:=1 to tab_temp.Ydim loop( ^4 P0 w) f- F9 v. y; `1 D5 x8 p/ q
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
6 x+ ?2 c6 L$ q; Y: z                next;
4 S5 Z0 c$ M4 c8 s               
; {2 w& c3 j+ V1 R- l        next;1 Q- Z/ r0 c# d. l! H: d
       
# n% q$ k0 B. Q7 X1 I. W1 F        self.methcall(3600);9 ~" t5 _& s# B
end;( z  D. i( q! J
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
. p6 t; z. ]: i) M/ J介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
; Y) q0 l( W: v
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
* y8 [8 d% E7 mProcVerdichtung这个是个什么东西啊,怎么在Table里面?' V* m* g+ Z5 z3 z0 l
- Y) h4 O( \2 I; J: N6 S( \

; Y# i4 ^! r: ^
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object & I. M1 y3 n4 b9 U
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
0 b. f# [: |# _囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object + z9 o% U5 v5 E
而procVerdicht ...

' {* o7 i% d- L1 Q& e8 ?4 ~; H明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-4-15 13:34 , Processed in 0.019208 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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