首页 > 解决方案 > Anylogic状态图计时器?

问题描述

我想知道是否可以计算系统处于特定状态的时间?而当它离开状态时,“秒表”停止,然后再次进入状态时继续?

如果是这样,怎么做?

标签: anylogicstatechart

解决方案


“连续”测量(不推荐)

实时计数器可以在您想要测量时间的状态内的循环转换的帮助下实现。此转换循环记录在此状态下花费的离散时间量:

状态图状态时间测量

然而,这并不是一个好的解决方案,因为:

  • 它需要相对较高的计算资源(更小的时间步长 -> 更多事件 -> 更多资源)
  • 测量的结果可能不够准确(较大的时间步长 -> 较低分辨率的测量结果)

离散测量

如果您不需要查看实时计数,最好在进入或离开状态时使用代码字段,保存时间戳并在每次离开状态时将差异添加到计数器一次。这两个变量都是double类型。

离散测量屏幕截图

但是请记住,(正如 Benjamin 在他的评论中已经指出的那样),该值仅在状态当前不活跃时是最新的。


推荐阅读