设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5231|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。4 c( l% E2 o8 j

0 e. a- v; K% U$ W" B  T关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
+ n5 R% q  Y8 ]0 V' _1 ]$ M
) W* ?5 r& s. v1 ~! q3 S不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
" |+ K" \: w! V9 k4 Y* g/ S4 Y: J+ K% G$ u$ d
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
3 j, L- u, n& Y8 C3 h8 a, E/ [3 V) t6 F4 V- d' u6 m& O
比如 给小车定义整形状态变量status
: B7 Y# `# S: z那么 在小车启动的时候 一般会用到$ w- {" T7 G6 K/ n% c
@.currspeed:=xxx 或者 @.stopped:=false 之类的
: G7 J' g- ?5 [# C6 K( C这时候加上一句 @.status:=1 ; J" b5 b) S6 E( d5 P
相应的小车停止的时候加上 @.status:=0+ Q. Z. i! f: l) V- v' g0 E$ |

& `3 s0 ~$ k6 O- ^2 m那么读取status就可以得到小车运行 和 停止的时间了
+ ^' A: X: T; ?
) e1 m3 k9 @7 ~; Q: m读取统计表的命令是getStatisticsTable
) G3 \- A% x" O9 l6 }: H- j另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
8 h3 _  G: x$ C& O) @" e6 J) F  V! x( k" L  L, _; x2 e, |% @
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。6 l7 ~( H  A) n. M3 _5 S
6 C, g, B3 V- k! U& n* i6 X
is
9 m: H' }% S1 V+ {: b0 l3 g        Xdim, i, j, k : integer;, U( A0 K: Y. F& `1 h
        tab_temp : table; , d( k) M6 {) e  |
        PufferKanal : object;& v5 C2 ^% Z/ {- ~
do6 \9 B. y0 v: L5 i
        tab_temp.create; ) ~0 W, N- [- M7 k6 D
        Xdim := self.~.Tab_Stat.Xdim + 1;
* p/ ]* Q8 h& \- S. i        ! F, r0 M+ \$ O
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
  P7 O5 B6 A+ ~# ^6 R( _                tab_temp.delete;
/ I2 J1 G5 E$ a2 E/ \( T1 o                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);3 G9 N+ w* K: o
               
) @  L8 ]3 E5 a& V4 i                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
/ D3 F6 W! o* n1 l! \% X2 Q                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
. \  o1 p" A$ J  @8 R0 ]9 A/ a, h
) |' x2 `2 \3 s! P                for k:=1 to tab_temp.Ydim loop
1 M, T3 T5 o' X                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
  c& u; p3 e$ F1 F5 G                next;
) [2 i$ X2 Y& L3 L               
; G. ^/ U3 U( j7 J$ p        next;
- s# L9 l: e. J: l" x' D5 A       
! |; _  v' ~6 [- x- W4 D        self.methcall(3600);% p9 e3 ^; d# s, w! c
end;* p6 S( }/ p6 a6 u- J) q
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 + n$ x9 k2 ?' f/ x
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
6 D, K1 Z  s: O" n9 a
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!* u; r4 a* K& ?! w- C
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?' n7 o' }5 E2 u2 c- i
  L/ V. L; Y' J$ j4 G. t( n
: D) p( D( i0 _6 h; v: h* w
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 8 b% v6 }- ~# ~' {! j6 _
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
7 i* R* W. |& M6 |+ J0 \5 S囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object 4 o; H% Q2 ?) O- o  |% s
而procVerdicht ...

& |/ J$ k4 r! L2 |明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-27 10:56 , Processed in 0.019475 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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