全球FlexSim系统仿真中文论坛

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

作者: zorsite    时间: 2018-7-5 11:40
标题: 固定实体与临时实体统计信息的差别
在代码编辑器的头部代码中,通常都有对current和item的声明。
4 C0 K( q* L4 v8 `
  1. Object current = ownerobject(c);
    . \; I; h. K, u, ^4 ]" h$ w
  2. Object item = param(1);
复制代码
从字面上看,两者都是Object类型的变量,也都可以调用Object类的属性和方法。比如,调用stats属性:
0 X' q  V4 N, q" I  x3 X2 _3 F
  1. int x=current.stats.content.value;9 K+ d- u4 Z, Q" _6 B
  2. 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
  1. 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' ^, _
  1. int x=current.stats.content.value;
复制代码

' H5 O! ?2 m% |6 l3 s




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