全球FlexSim系统仿真中文论坛
标题:
固定实体与临时实体统计信息的差别
[打印本页]
作者:
zorsite
时间:
2018-7-5 11:40
标题:
固定实体与临时实体统计信息的差别
在代码编辑器的头部代码中,通常都有对current和item的声明。
. c" z3 m- Q1 \; W! r* Z
Object current = ownerobject(c);
$ ~, M- o7 J4 u: x
Object item = param(1);
复制代码
从字面上看,两者都是Object类型的变量,也都可以调用Object类的属性和方法。比如,调用stats属性:
# t" a+ f$ w1 A4 q$ Q" w$ g
int x=current.stats.content.value;
0 R' }7 B0 G f( k
int y=item.stats.content.value;
复制代码
但运行时却报错:
$ d) k2 K' c+ E7 M8 s" W# ]
[attach]4451[/attach]
8 R& U* ?% m. e! _4 \& i
在获取Pallet Object 的Content时出现异常。
2 q R( H( Z3 h! r! e( G
- R1 D9 _' W* W r8 y7 I# m9 M
观察两者的树节点,发现固定实体和临时实体在统计属性上有很大差别:
7 ]* ~* {+ E2 X
[attach]4452[/attach]
3 P( M7 v" ], f) e/ n9 a9 A8 E. R* H& F
虽然都是Object类型,但是Flexsim并未在临时实体上设置更多的统计信息节点。
8 i+ f5 C7 X8 r! `* o
在编写代码时一切顺利,只要是Object类型的变量,都可以使用Object的属性和方法。
- P! K {+ h; Y6 L$ n
但是能不能获取到值,就只有运行的时候才知道。
$ c' i4 P# f, |7 ]6 L5 a+ x
显然,临时实体并未有content统计属性,所以运行时报错。
* ` }; Y+ F- { A. M6 c
. m1 P! T0 B5 F; e7 G% o: p. U
$ Y" V" `* I# }& O5 u# r7 v
作者:
zorsite
时间:
2018-7-5 11:47
另外需要注意的是,Object.stats Allows you to access the statistics of an object as TrackedVariable objects.
- q- N: Y! ~5 }& o' a
+ k( D7 c, }2 e& x* H
Object.stats 返回的是 tracked variable,如果想要得到统计结果,必须再使用value属性。
# t i& u0 r& u5 u$ d
诸如:
7 H, L- T5 l% ^1 Y7 W; \
int x=current.stats.content;
+ m; g$ K- z9 a# c# J( w% j
复制代码
1 {" z7 t4 ~1 K/ o
将会报错。
l. w. u: Z2 Z" A
正确的写法是:
& ?; g; J# z8 c) B2 r; M
int x=current.stats.content.value;
复制代码
" V3 ~- a( e4 w* h. a @3 @# y
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3