设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5042|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。2 x2 H9 W5 `3 o/ b4 U3 p
9 Y; t7 l% q7 L2 H( W% U# |# o
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。# y$ m9 c) I9 |( Z, q6 G' ^$ k

3 r) G0 K/ @  s' U0 `! o9 F不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
) E/ O: ]6 k1 M( _( i  i% A  ]$ ]2 D# y
我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。$ r; X1 }7 v2 ^; _3 C

8 }2 |. B, A% \& E/ d( _4 J比如 给小车定义整形状态变量status
) M  k. J/ _+ I( P: |那么 在小车启动的时候 一般会用到2 S! ~( F+ t. f& [
@.currspeed:=xxx 或者 @.stopped:=false 之类的 ! p. r$ ?1 J+ }1 u& L, J' }* C
这时候加上一句 @.status:=1 . |. `& ~. c8 w; X  j( e! \
相应的小车停止的时候加上 @.status:=0
, Y& U  V7 L" [4 ?' _. l$ ~! H# p# v* Z/ R/ [
那么读取status就可以得到小车运行 和 停止的时间了
/ \9 j: G+ Z! p7 z. B; M8 ~# o' u9 X! c4 g8 a
读取统计表的命令是getStatisticsTable
" h1 Q7 I2 {0 {/ @/ L另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑 0 N9 S/ b0 T9 O7 m# d, W8 i2 u' T4 e$ [

! Q; M: Q" j5 z( ?另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
8 \* |( b- F; g! b3 l5 K6 }0 d5 F. s. c. t: X! H- n
is" P8 z% r4 e* f+ T1 T' P- x* v
        Xdim, i, j, k : integer;) ]  P9 K  Z* B0 o# U. [) ?* ?
        tab_temp : table;
) G5 a+ ~# j; q9 L, ?' l( ]        PufferKanal : object;
+ ]. {" m) k/ b3 M" Hdo
) m9 m4 `& P! J2 x9 M+ \( X3 H        tab_temp.create;
% |! c( n) x5 Y! y5 K        Xdim := self.~.Tab_Stat.Xdim + 1;$ `1 r0 z8 b0 V9 N6 i# h
          G9 s$ Q! N# i; y  N
        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop" ~/ a1 y( ^" H1 A( E( o* B. X5 m
                tab_temp.delete;
3 j2 B, ?1 K3 n- u2 w9 J                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
+ I% W/ J5 J# I0 v" H6 ~3 D( [                ( c; f9 _+ B  H( J% s6 F
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;) f  s$ r& x  A7 g
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
" x! n" a% ^0 b( t) h. h
( ^  E  h. P+ Z' M4 b                for k:=1 to tab_temp.Ydim loop  t1 r9 k5 K- ?
                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];* p/ x# v2 f% R9 c3 Z7 A
                next;
6 X: b  s6 W# h! ~                0 o, Q, Z/ i& z7 u# \- n; z* }5 p
        next;- U1 }8 |8 c) d3 I: ]* T* J
        2 k/ g% A' a+ ^: k
        self.methcall(3600);
* q! p( o' ]# cend;' J4 L& s; I% `7 H: i
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20 ' B( s0 F& p$ O' H$ D
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
0 u$ x9 i. g+ h" N( I* ^
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
. _1 [$ e% P6 \1 U1 u0 IProcVerdichtung这个是个什么东西啊,怎么在Table里面?
: o5 i- |3 u, x* m1 H" `; z& }( D  z0 s+ ~1 t0 p9 Q

4 e+ O* P1 }/ l# K7 \) B
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
: A9 D) B- I/ D, e3 ~8 r而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
3 f! W$ F* I& C, s' n9 V囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
0 O% u  r7 v( W& a; O! ]$ s而procVerdicht ...
7 M2 @1 U: w# `: T! X1 y
明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-6-21 08:39 , Processed in 0.016985 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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