全球FlexSim系统仿真中文论坛

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

作者: zorsite    时间: 2018-7-5 11:40
标题: 固定实体与临时实体统计信息的差别
在代码编辑器的头部代码中,通常都有对current和item的声明。
. d) B" H$ Z! X- t$ N# [6 Z
  1. Object current = ownerobject(c);  ~$ L, d5 [6 T" d$ P
  2. Object item = param(1);
复制代码
从字面上看,两者都是Object类型的变量,也都可以调用Object类的属性和方法。比如,调用stats属性:
( K( x5 s+ ?/ ]* Z  g
  1. int x=current.stats.content.value;
    / T2 D  r6 B: ?; ~2 G: r
  2. int y=item.stats.content.value;
复制代码
但运行时却报错:
2 A' ]$ o& M) u! T[attach]4451[/attach]$ y5 }0 E* r. n0 y$ E
在获取Pallet Object 的Content时出现异常。! T3 ?/ R! `, m  z  k, t8 [/ C

* O4 l9 R( n# b4 R7 F9 ~5 }观察两者的树节点,发现固定实体和临时实体在统计属性上有很大差别:
% F% T0 Q/ ^1 R; p[attach]4452[/attach]! C9 r' w' ]/ y
虽然都是Object类型,但是Flexsim并未在临时实体上设置更多的统计信息节点。
' e* c9 [+ p1 ~$ j在编写代码时一切顺利,只要是Object类型的变量,都可以使用Object的属性和方法。* B4 p( R# a% l, j$ e
但是能不能获取到值,就只有运行的时候才知道。$ f8 K' h7 H; d! X7 u! m& Y
显然,临时实体并未有content统计属性,所以运行时报错。0 X' Y' K0 n+ Z3 p1 @

9 N* Q$ Q% U2 n9 z+ j% G( B' e! M$ o% z/ p

作者: zorsite    时间: 2018-7-5 11:47
另外需要注意的是,Object.stats Allows you to access the statistics of an object as TrackedVariable objects. # z) {1 O3 N6 G" b
6 Y+ R) ]0 g% d& K+ w
Object.stats 返回的是 tracked variable,如果想要得到统计结果,必须再使用value属性。
. H. \; O+ V  r9 v5 i2 ]* e1 `, H诸如:9 E& O# a2 O4 U. D
  1. int x=current.stats.content;8 }# p4 s) j% M+ G5 e& [" S5 [
复制代码
- }( t1 C7 A+ k' G1 c2 J0 X  T# u6 \
将会报错。
2 |- K4 y# T% R7 s正确的写法是:
% ]1 Z- h# I  l
  1. int x=current.stats.content.value;
复制代码

7 h( W' c9 {. L$ p. m5 k; o1 w




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