设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4880|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。9 A5 [1 X7 m+ S4 O  A- Z- I

: m) @2 u3 ]- a7 G4 X# H% N关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
, U0 K* V9 a, j) H) ~1 b0 K" L8 @# z/ h
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
3 {. O" G: f+ U0 A3 b) R2 @% ]0 n0 k3 c3 w& A* J7 S7 d- \+ e
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。- m7 j) j8 B: E+ f/ }" ]  R/ Q

* ]7 g6 ^0 _: M9 p: H7 P比如 给小车定义整形状态变量status
4 m5 e* O1 j8 R; B3 f那么 在小车启动的时候 一般会用到' v7 S" {, {  l; H: O
@.currspeed:=xxx 或者 @.stopped:=false 之类的 1 g6 a2 Y" A1 t
这时候加上一句 @.status:=1 9 m6 {4 ?/ q3 c# J
相应的小车停止的时候加上 @.status:=0* T9 _7 O6 J4 I: \; A( w% O2 Q" M

1 U/ s6 H1 e* c那么读取status就可以得到小车运行 和 停止的时间了
. ~! Q8 a1 `0 ~2 y8 m. L' J# l2 B) L! x4 V4 a. [1 y
读取统计表的命令是getStatisticsTable
+ t; k  [8 I2 O, t: O另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 0 g- B0 m  |- x! e( s9 o
$ _& R4 K: `, _1 Z8 L. B
另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
. ~. Z( I) u  {3 ?) t8 q+ ?& _3 v( i6 @/ P! T
is
+ j; ?% N6 E+ p3 u' _$ ]        Xdim, i, j, k : integer;
# {' M6 R5 b) ]/ U        tab_temp : table;
" K7 ^; K. W0 [        PufferKanal : object;! W0 s# l7 L) r+ b" I+ f1 P
do+ k, ]% O+ t6 s# o: p2 ~3 h. U2 E/ b
        tab_temp.create; 9 \1 ~4 M+ l7 |9 @  Y3 n& x/ J
        Xdim := self.~.Tab_Stat.Xdim + 1;/ G! P8 c& d! x2 `0 B
          I* t6 l8 H8 u5 w
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
5 Y8 L7 Q# T# N" `  t' ]                tab_temp.delete;
, H9 f, Q: Q2 [' o6 g                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);/ ]* u+ y) Z! r. D7 d
                / \7 K$ J, Y* o! A: @# x
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
* n! o$ _9 ^" x/ w& M                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;0 R8 @" w* Y# `0 F: z

3 h3 D% s" z* s/ M                for k:=1 to tab_temp.Ydim loop
/ v6 E" P$ t8 ~# j9 O                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];$ M* Y& ~  }# _$ E
                next;
3 N% J% c' g8 T               
0 s% {5 o* K: H# q4 p! B: M0 k/ I        next;$ N7 e: Z0 ?1 x# k" G( \8 x  I
        : C5 z8 L* x& Y  |  Z
        self.methcall(3600);, x0 Y) ^  i! r7 }& P. B. e7 }4 w: w
end;% u5 ?5 Y! w. H( k! B9 R
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
  W  A# i, a* a; C介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
# L( W) g( U' ^; q; f
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!. n; \& z" @0 L% K! T) N
ProcVerdichtung这个是个什么东西啊,怎么在Table里面?
% w# |- l7 Q, z: W4 q, p# s. f2 q8 \: [8 @

# {) g, c4 C/ J- I& Y
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
4 z# L* ~2 ?* b2 i. z% L( S而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 ! Y% B0 Y" x8 D- F6 R' D7 V
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object $ m! h% K9 _$ E4 X, o  R$ B& @
而procVerdicht ...
& |; E( `2 n# i9 {; Y3 p( _+ O3 e3 i. K
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-29 17:59 , Processed in 0.017805 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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