全球FlexSim系统仿真中文论坛
标题:
固定实体与临时实体统计信息的差别
[打印本页]
作者:
zorsite
时间:
2018-7-5 11:40
标题:
固定实体与临时实体统计信息的差别
在代码编辑器的头部代码中,通常都有对current和item的声明。
1 G% ~ a8 E6 H2 ?# f" n4 |
Object current = ownerobject(c);
' ?6 j+ k. y9 Z: p1 M0 Q5 ]+ @2 m3 v
Object item = param(1);
复制代码
从字面上看,两者都是Object类型的变量,也都可以调用Object类的属性和方法。比如,调用stats属性:
$ z; Y1 R0 s9 t# \. C9 v& ]
int x=current.stats.content.value;
) {# z- L. k+ L! `7 g3 C
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 [% {
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
int x=current.stats.content.value;
复制代码
4 w! _/ k) }" h# @- E
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3