设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4049|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。
  H/ F; `' o0 K5 _" C) J4 f1 j) j/ x& v/ p
关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。
# P7 D" k1 J( u9 }0 u0 v) |9 V$ S- v0 m# ^6 x
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。
( T5 m% H, F: P0 e; n0 ~5 v1 _1 w
( U6 z! ?* j( R; i7 Y7 A我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。
& D7 A  o7 q5 Q* @
' I* G. L* k9 n  |% _0 v8 o8 i9 ]5 N; D比如 给小车定义整形状态变量status
4 H5 e  Y" m& B7 G那么 在小车启动的时候 一般会用到0 F$ r9 b5 i8 D! L
@.currspeed:=xxx 或者 @.stopped:=false 之类的 ( G7 s& f% D# {/ X
这时候加上一句 @.status:=1 # h; \* u1 f( B7 P8 q
相应的小车停止的时候加上 @.status:=0
# \1 ^& A/ }. P# W
# q2 X$ U/ D6 ?3 C# S  v7 \3 x! m那么读取status就可以得到小车运行 和 停止的时间了
% l+ K8 V( \# }0 k8 n+ t5 o7 p5 S! `/ [" ^" Y) p: r  U
读取统计表的命令是getStatisticsTable 7 U  t0 J, W, }0 ]; T
另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
( h. Y4 O9 B! E4 p) Y2 X& D
6 I# p5 s6 n& N另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。8 x6 L6 M4 y. a# M- ]6 E) i! z

, y9 [' ^( }1 B  ~  }/ E( xis, _, f9 H7 b2 V% ^
        Xdim, i, j, k : integer;8 H5 ~6 j* a- j
        tab_temp : table;
4 U9 G$ A* W3 x3 t; P. A0 f        PufferKanal : object;
8 `: C: ^+ D( bdo9 z' D# I3 y, R5 D& n
        tab_temp.create;
- @5 |2 Q9 B4 k* N& r! x        Xdim := self.~.Tab_Stat.Xdim + 1;* E  ?/ }6 m& |6 _: D# ~
       
6 f; [" s; {7 {" Z# c" Y- j        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
- |+ n; p$ t7 ^$ N& \                tab_temp.delete;
8 M, c$ |# X/ r7 R9 @6 `                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);( g* W9 ~2 {( s8 Z* m
                ' f) o2 y' G* W6 w- M9 H
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;
3 I  ~3 K0 [6 _# l5 W. `                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;
' V5 M- J: p8 K+ L) a+ w 9 S9 C% e: e) o  S% y2 s& H
                for k:=1 to tab_temp.Ydim loop
" y1 j* C2 f' h* `- p5 h                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];5 F& m# ?( \' }3 \1 Z. K$ U
                next;$ O$ I$ g& o( b2 ~# j" g( x' x
               
" W) S) _1 x8 ]" G$ q# t5 A( u        next;
% O0 s* ~- l2 j9 c& M/ R+ ]0 X0 Z) i       
& V- N& D  g7 d+ V        self.methcall(3600);3 t& T8 O! i, ?- V; }+ }$ C
end;
5 k; ^8 x$ C' K3 Y  W  m5 b: s
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
' L, A. S8 \. X0 G+ d$ W9 Y! M介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
0 g7 L" F: f+ a1 J$ @5 j6 i+ U; L3 `6 {
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
- ?* a. \3 O- H7 t- X+ q$ zProcVerdichtung这个是个什么东西啊,怎么在Table里面?  d  _1 b# j4 i+ A
3 h& Q( {7 v( Z

: F. {$ L3 @8 o1 M
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
* R% u& o# Y2 f6 l* o3 n2 H而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17 & M' Q  h& p7 j- h, r, g  \
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
0 s4 @0 d$ c8 J0 a! l% t/ {而procVerdicht ...

/ [3 C" L" Q4 n& Y4 [" [明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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, 2025-9-18 18:38 , Processed in 0.022376 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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