全球FlexSim系统仿真中文论坛
标题:
固定实体与临时实体统计信息的差别
[打印本页]
作者:
zorsite
时间:
2018-7-5 11:40
标题:
固定实体与临时实体统计信息的差别
在代码编辑器的头部代码中,通常都有对current和item的声明。
+ @6 K( g& ~$ I) U7 C# x
Object current = ownerobject(c);
, r( ~. e l7 X
Object item = param(1);
复制代码
从字面上看,两者都是Object类型的变量,也都可以调用Object类的属性和方法。比如,调用stats属性:
( j! _9 ]4 Y9 L5 j, }% ]
int x=current.stats.content.value;
2 q: j8 n; m9 {) m
int y=item.stats.content.value;
复制代码
但运行时却报错:
9 |4 d9 I: T7 T3 }& U; m
[attach]4451[/attach]
0 S7 ?9 b2 B- ^% N' e
在获取Pallet Object 的Content时出现异常。
; b% m; e8 e8 w( V7 {
: \0 X4 q! d2 y9 p9 W+ o
观察两者的树节点,发现固定实体和临时实体在统计属性上有很大差别:
$ `/ }6 t4 |- @# A! p9 n
[attach]4452[/attach]
4 e' M* q. ^8 ?
虽然都是Object类型,但是Flexsim并未在临时实体上设置更多的统计信息节点。
0 D- {; X N- Y0 E# m
在编写代码时一切顺利,只要是Object类型的变量,都可以使用Object的属性和方法。
% y1 |3 a3 M& k4 d% }+ E! M
但是能不能获取到值,就只有运行的时候才知道。
: I. S8 i! ~$ Z
显然,临时实体并未有content统计属性,所以运行时报错。
2 y, f$ S2 ~0 ]
' U ^: U( R# y' {
- _! C; k; r7 ]4 o6 A' I* J6 Q! Y. {) u6 }
作者:
zorsite
时间:
2018-7-5 11:47
另外需要注意的是,Object.stats Allows you to access the statistics of an object as TrackedVariable objects.
: H* v6 T! f& r$ n& P
& w5 t$ d2 S4 v+ f$ q0 d( E) o
Object.stats 返回的是 tracked variable,如果想要得到统计结果,必须再使用value属性。
) L% d: d2 {6 W0 y: c$ _+ m
诸如:
4 s- j. }8 r. p" m f& R+ k! U4 g
int x=current.stats.content;
, P, |4 {, _9 w; j" o6 u
复制代码
) d5 z* P* X6 X( X; e( a. n
将会报错。
: g+ t1 h% `- ~" P* @" ?6 X
正确的写法是:
4 \, t" P8 w+ _+ e8 F* G
int x=current.stats.content.value;
复制代码
R7 `2 X. Y& F" X T# _1 @
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3