离散事件执行异常:使用timeMeasure块测量双路径系统平均时间报错
TimeMeasure模块测量双路径平均耗时报错解决
问题说明
你用TimeMeasure模块分别统计两条路径的耗时以计算平均时间,但触发了错误:
错误提示(对应第一张图):TimeMeasure无法记录某路径的测量,因为该测量已处于激活状态
模型设置(对应第二张图):两条路径分别挂载了TimeMeasure模块,但可能存在标识重复或逻辑闭环缺失的问题
核心问题
要么是两个TimeMeasure模块用了相同的标识名称,要么是单条路径的测量逻辑没做「启动→执行→停止」的闭环,导致模块认为同一次测量还没结束就被重复触发。
解决办法
- 给两个TimeMeasure模块设置唯一的标识名(比如
path1_total和path2_total),让模块能区分两条路径的统计 - 检查每条路径的逻辑:确保路径执行前启动对应TimeMeasure,路径执行完成后立即停止该测量,形成完整闭环
- 开启模块的平均耗时统计:在TimeMeasure的属性面板里找到「统计平均值」选项并勾选,后续直接读取模块的
average()方法获取结果
额外注意事项
- 如果是仿真软件(比如AnyLogic)里使用,别在循环、高频触发的逻辑里重复调用同一标识的TimeMeasure启动方法
- 可以用判断逻辑(比如
timeMeasure.isMeasuring())避免重复启动测量
内容的提问来源于stack exchange,提问作者tuneKawaii UwU
相关产品推荐
相关产品推荐

