设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4300|回复: 7

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

    [复制链接]
发表于 2012-8-31 17:11:17 | 显示全部楼层 |阅读模式
现在德语烂 中文也跟着烂掉了 大家就不要拘泥于我奇怪的语言组织能力了。。。7 ?) x: s# _" S- ^

7 I- D5 a. {# V* b关于对象 比如工作站 利用率是一个比较常用的统计数据 PS也自带了 类似workingtime之类的统计。。。4 k3 q6 E7 G( }% ~* H, ?4 z) Z- L
: x" r' G5 R- w- B  D5 L4 w( S& A/ E, X
不过 对于比如加工不同工件 或者进行不同操作之类的复杂统计 自带的变量就不够了。。。6 `0 i; R4 U8 l( x

* E, o5 e3 G" {我个人一般是用一个整型变量 来对这些不同的状态进行统计 也就是说在要统计的对象的状态发生改变的时候 也对这个整型变量赋给对应这个状态的一个值 最后 就只需要读取这个整型变量的统计表 就知道 对象的各种状态分布了。。。4 ~  P) }1 i; f  z: V0 Z+ x5 M% h
# J# N* {) T7 X9 W
比如 给小车定义整形状态变量status ! U/ A0 d" h* V; o
那么 在小车启动的时候 一般会用到+ u& i4 h) N1 \% {* ~0 Q1 G( w
@.currspeed:=xxx 或者 @.stopped:=false 之类的
9 u" Q* f; F1 n* h) R! p这时候加上一句 @.status:=1
$ j9 D/ g4 S8 T相应的小车停止的时候加上 @.status:=07 ]6 V1 E% C$ q& t: ^: M2 [

: }, F8 b/ v, t' ]  t5 k4 Y那么读取status就可以得到小车运行 和 停止的时间了0 }$ Y1 f+ K5 H( z" [- C8 Z
" {$ ~; S  k8 P6 U! b! m; F( V
读取统计表的命令是getStatisticsTable
  x( g& {5 p8 S& k另外 对于无法使用initstat命令的变量 可以用统计关闭再开启的方法来强制initstat

评分

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

查看全部评分

 楼主| 发表于 2012-8-31 17:12:27 | 显示全部楼层
本帖最后由 五五 于 2012-8-31 17:13 编辑
7 e5 X9 k9 g# y0 i- @# X
( B6 O3 u1 B% D4 l另附相应 统计过程一份 虽然是德语大家可能看不懂 囧。。。变量名也很奇怪哟。。。
3 T+ e9 E  @- a+ n$ H8 a6 Q7 z0 f. X
# q3 E( E& Q6 Z; \" V! E# W  T+ [; h+ v; Yis( D/ Y: E! b& @: u) d" A, k
        Xdim, i, j, k : integer;  o! H9 O2 Q5 h3 ]$ Q/ I9 d
        tab_temp : table; 2 y# m$ b1 ?4 q; u7 l& g
        PufferKanal : object;9 V1 |8 N3 ]7 ]: i
do
8 I6 f4 v& @. @' G        tab_temp.create;
! i" w3 z& ~' A6 U        Xdim := self.~.Tab_Stat.Xdim + 1;  K1 _0 o+ [$ S/ N3 N1 `% D. Y
       
8 o) F) G# b, T/ a/ O        for i:=1 to current.Tab_Verdichtungsplätze.Ydim loop
2 W* h8 j0 Z) P4 V. @. B                tab_temp.delete;
5 W& w. ~" i' c0 G" x# z                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).getStatisticsTable(tab_temp);
* C# y/ Y5 Z$ {! x               
) i+ W" o2 E6 a% H2 ~2 i. `# P" q                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=false;3 I6 k& I' n5 {* v/ b* J& _9 @$ w
                ref(current.Tab_Verdichtungsplätze[1, i].ProcVerdichtung).statistikAktiv:=true;( H2 D" J7 J. _( ~% l+ S. X7 F
( m  J! ^/ u: k/ }/ w  a
                for k:=1 to tab_temp.Ydim loop
9 _2 s5 A' a4 Q                        self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]:=self.~.Tab_Stat[XDim, 4-tab_temp[1,k]]+tab_temp[5,k];
) l. `+ ?$ l+ I8 \! m/ v                next;# ]( j* ]% F1 k7 m% q
                - [3 U5 ^! H: i
        next;
3 ]$ ]8 s8 i; y( I       
0 a, {7 _0 {3 O        self.methcall(3600);
7 i! |2 W) d6 ]8 w- U& ~- o1 l2 aend;0 F* R. F  ?9 r% n2 n: i+ P) R/ Z
 楼主| 发表于 2012-8-31 17:20:09 | 显示全部楼层
介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间

本帖子中包含更多资源

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

x
发表于 2012-8-31 21:10:12 | 显示全部楼层
五五 发表于 2012-8-31 17:20
$ N) V, J% O8 h) w7 ^( \介个是读取出来的统计表 第五列 也就是我用到的那一列是每一个值持续的时间 ...
& M' O4 e( K; e% X
看来有空得跟你学几个德语词汇了,不然都看不懂了 !当物件本身统计功能不能满足要求时,只能自定义收集数据,这个方法很好,这个帖子应该是技术帖了,呵呵!
3 }$ c9 g  d; B& z3 v2 RProcVerdichtung这个是个什么东西啊,怎么在Table里面?
; \1 V2 Z9 q3 O9 ~, t9 K- T2 n6 r! k* i6 s1 }2 w& i8 t

# @% u7 Q* E# [0 L; J& e
 楼主| 发表于 2012-8-31 21:17:52 | 显示全部楼层
囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object * [$ k5 s+ g7 C7 G
而procVerdichtung就是这个object的状态统计变量。。。是一个简单的整型变量。。。
发表于 2012-8-31 22:44:18 | 显示全部楼层
五五 发表于 2012-8-31 21:17
! N2 I  l2 s: B+ n1 B7 I囧 解释一下 表格的第一列 也就是 current.Tab_Verdichtungsplätze[1, i] 保存的是object
- m; P# C2 @0 j8 F9 O. D1 |而procVerdicht ...

9 C  B3 i7 O4 U, m! R+ }明白你方法了,很巧妙,一般人想不到的,赞!
 楼主| 发表于 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-11-5 14:21 , Processed in 0.016745 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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