全球FlexSim系统仿真中文论坛

标题: 固定实体与临时实体统计信息的差别 [打印本页]

作者: zorsite    时间: 2018-7-5 11:40
标题: 固定实体与临时实体统计信息的差别
在代码编辑器的头部代码中,通常都有对current和item的声明。1 G% ~  a8 E6 H2 ?# f" n4 |
  1. Object current = ownerobject(c);' ?6 j+ k. y9 Z: p1 M0 Q5 ]+ @2 m3 v
  2. Object item = param(1);
复制代码
从字面上看,两者都是Object类型的变量,也都可以调用Object类的属性和方法。比如,调用stats属性:
$ z; Y1 R0 s9 t# \. C9 v& ]
  1. int x=current.stats.content.value;
    ) {# z- L. k+ L! `7 g3 C
  2. int y=item.stats.content.value;
复制代码
但运行时却报错:/ g$ L# H# P  e+ W
[attach]4451[/attach]. l6 D0 c" [& U; N3 F
在获取Pallet Object 的Content时出现异常。
3 L5 Q& A& L9 _9 x2 G/ u' E1 ^1 J2 M2 p+ n0 `
观察两者的树节点,发现固定实体和临时实体在统计属性上有很大差别:$ k3 [% n+ }. U9 C2 d* i" d
[attach]4452[/attach]
) `) u5 w+ f' U" }: x2 v% W+ j虽然都是Object类型,但是Flexsim并未在临时实体上设置更多的统计信息节点。- x7 @1 U0 k- H! J+ r0 t9 F& p5 Z2 o# m2 t
在编写代码时一切顺利,只要是Object类型的变量,都可以使用Object的属性和方法。8 A% s0 V& P# j- c& S8 z) g8 N1 I
但是能不能获取到值,就只有运行的时候才知道。4 W4 A, H+ u' i/ V: Z. `) y
显然,临时实体并未有content统计属性,所以运行时报错。
6 B0 B+ J- o+ |# e  Q1 p
* g$ L$ V4 G5 n& M7 r# D
  g% N7 U$ U% {: M
作者: zorsite    时间: 2018-7-5 11:47
另外需要注意的是,Object.stats Allows you to access the statistics of an object as TrackedVariable objects. 3 a! u8 H, Q6 Z6 @. `4 k& z
; L9 h' M4 Z( T5 }  J& ^3 w* f8 S
Object.stats 返回的是 tracked variable,如果想要得到统计结果,必须再使用value属性。1 |; ^! L6 m1 c3 s, }1 W  U) Z5 r
诸如:
6 J; `: a6 [% {
  1. int x=current.stats.content;, T' _1 R, h0 W/ j" U
复制代码

0 c2 ], {9 x3 W9 y5 r$ F将会报错。8 n2 l, ]$ n" ^! l! j4 ?% ^7 T
正确的写法是:4 p( [2 V$ {! [2 e  B
  1. int x=current.stats.content.value;
复制代码
4 w! _/ k) }" h# @- E





欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3