全球FlexSim系统仿真中文论坛
标题:
固定实体与临时实体统计信息的差别
[打印本页]
作者:
zorsite
时间:
2018-7-5 11:40
标题:
固定实体与临时实体统计信息的差别
在代码编辑器的头部代码中,通常都有对current和item的声明。
4 C0 K( q* L4 v8 `
Object current = ownerobject(c);
. \; I; h. K, u, ^4 ]" h$ w
Object item = param(1);
复制代码
从字面上看,两者都是Object类型的变量,也都可以调用Object类的属性和方法。比如,调用stats属性:
0 X' q V4 N, q" I x3 X2 _3 F
int x=current.stats.content.value;
9 K+ d- u4 Z, Q" _6 B
int y=item.stats.content.value;
复制代码
但运行时却报错:
, H! Y7 F5 Q. S' a4 b/ U
[attach]4451[/attach]
6 M1 b6 |3 v4 ]7 o$ I
在获取Pallet Object 的Content时出现异常。
2 O! T. y1 M& |; C4 @2 _
6 K0 @3 G' t& }$ ?3 s* l6 I
观察两者的树节点,发现固定实体和临时实体在统计属性上有很大差别:
" G7 l" {7 Y4 Y) [% q2 _6 O5 u# X0 W
[attach]4452[/attach]
% N z* u! F- A/ u3 u% h$ V
虽然都是Object类型,但是Flexsim并未在临时实体上设置更多的统计信息节点。
! M% G3 T( B! \/ c1 C9 u' ]% j
在编写代码时一切顺利,只要是Object类型的变量,都可以使用Object的属性和方法。
, Q& L w9 r; [; c' \
但是能不能获取到值,就只有运行的时候才知道。
* g' L; x" P5 N( F. _
显然,临时实体并未有content统计属性,所以运行时报错。
/ F( K& O5 ?" }8 T0 ^9 y8 p3 Z# @
7 c5 @/ L" G" Y- u/ f
7 f1 C5 u: J* X1 s5 y
作者:
zorsite
时间:
2018-7-5 11:47
另外需要注意的是,Object.stats Allows you to access the statistics of an object as TrackedVariable objects.
# ]2 v+ B% s9 H8 w* e% ~6 t5 W
$ Z% J# h. M3 P, D" H
Object.stats 返回的是 tracked variable,如果想要得到统计结果,必须再使用value属性。
# D$ @, _& x+ I- t! _: S( Y
诸如:
1 I! l2 u1 `9 Z8 r' b/ ~: V
int x=current.stats.content;
- w w7 ^2 {: z+ m4 q( X! N
复制代码
! I7 c) ?0 R" {4 }8 d" n" }2 Z3 E
将会报错。
, L1 z+ `! `' e
正确的写法是:
. X V$ p: n8 P- o' ^, _
int x=current.stats.content.value;
复制代码
' H5 O! ?2 m% |6 l3 s
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3