全球FlexSim系统仿真中文论坛

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

作者: zorsite    时间: 2018-7-5 11:40
标题: 固定实体与临时实体统计信息的差别
在代码编辑器的头部代码中,通常都有对current和item的声明。
. c" z3 m- Q1 \; W! r* Z
  1. Object current = ownerobject(c);$ ~, M- o7 J4 u: x
  2. Object item = param(1);
复制代码
从字面上看,两者都是Object类型的变量,也都可以调用Object类的属性和方法。比如,调用stats属性:# t" a+ f$ w1 A4 q$ Q" w$ g
  1. int x=current.stats.content.value;
    0 R' }7 B0 G  f( k
  2. 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* HObject.stats 返回的是 tracked variable,如果想要得到统计结果,必须再使用value属性。# t  i& u0 r& u5 u$ d
诸如:7 H, L- T5 l% ^1 Y7 W; \
  1. 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
  1. int x=current.stats.content.value;
复制代码

" V3 ~- a( e4 w* h. a  @3 @# y




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