|
官方论坛上的一则帖子,是关于设置dashborad如何显示临时实体在系统中的平均停留时间,翻译过来与大家分享,同时上传相关模型,此模型的代码功能是7.0新加入的,旧版本无法实现。
3 A8 q2 X* r, v$ O# z1 u, @
& V0 [$ E" }( j+ Q5 r0 Y' E# v% x& G! p
David Chan询问:
. s% W% b3 ?$ R$ I i. M/ E我们以前通常是使用可视化工具来现实模型中临时实体的平均停留时间。现在我们有了系统中的时间(TimeInSystem)作为每一个临时实体的追踪变量。除了使用代码来显示临时实体在系统中的停留时间外,还有更简单的方法能在Dashboard中应用输入中显示时间么?
3 }- P2 C8 B- N$ r5 c
/ A. c3 D1 P5 P- b/ y' Z虽然我没有找到更简单的办法,但是我找到一个有用的变量作为平均停留时间。- B; r2 T9 Z- Y/ D( P
- @( Y0 t3 J/ k( s v
# w3 y$ ?" L; y5 ePhil BoBo回复:! {! w* D5 B e1 k; u+ s( i
我已经在开发列表中添加一个实体来为Dashboard创建最小、最大和平均停留时间的追踪状态。" V% r2 L! | d" j3 l) _7 H
同时,你可以使用模型文件dashboard静态实体,来显示追踪变量的计算的均值。下面附上一个模型来显示如何实现。5 N1 A9 J% k$ ]) t8 P
你可以使用getdatastat()命令来找到追踪变量的均值,具体代码如下:
9 F! D0 I( y4 L4 H ztreenode timeInSystem = node("/Tools/TrackedVariables/TimeInSystem", model());1 h: S+ Q* ^5 g! Z( L! w
int numEntries = getbundlenrentries(timeInSystem);" ?6 R$ Q, `5 \0 D
if (numEntries > 0)
( p7 [5 W5 I3 [" A e6 p1 Y* Y s# B return getdatastat(STAT_MEAN, numEntries, getbundlevalue(timeInSystem, count - 1, 1));0 S" ?7 B% T$ C! ]2 S" i
else return 0;
# h% ]7 A2 b' K1 P& Y! a7 T& z; W! A* f% L' l1 X, ~/ Y ?9 t
备注:* _( Z$ w4 G6 M/ w/ v3 }
1. 介绍一下新加入7.0的节点,位置在/Tools/TrackedVariables/下面有两个子节点,一个是TimeInSystem,另一个是WorkInProgress,TimeInSystem统计的是每次临时实体离开系统的时候,此临时实体在系统中的停留时间;WorkInProgress统计的是每次有临时实体进入或离开系统时,系统中临时实体数量;
) Z* c4 w1 j0 W/ Y2. count是在某些函数命令中使用,它的值取决于此迭代循环执行了多少次;
# i9 \/ O$ L3 c$ J3. getdatastat()命令是使用不同的方法,处理树节点中的数据;! r0 j( B1 d6 \. R
4. getbundle等相关命令是返回一组数据集中的相关值,具体使用说明请参见命令帮助。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|