仿真 Guide

知识指南 /

仿真任务怎样可靠启停?从初始化到单步、暂停与结束

最后更新: · 新航路数字化外协团队

仿真任务控制需要一套明确的状态转换约定:配置校验、初始化、就绪、运行、暂停以及结束分别允许哪些操作。每次转换都应有来自执行端的确认,并保留失败原因。建议把仿真时间、周期号和运行标识纳入状态反馈,用明确的结束条件管理任务与输出。

把初始化作为独立的就绪检查

  • 初始化前检查场景文件、算法组件、节点标识和依赖服务是否齐备,并确认各执行节点实际使用的配置版本。连接建立与配置接收是不同检查项;界面上显示已连接,不能直接推定节点已装载本轮任务数据。
  • 为每个必要节点保存初始化结果,全部满足约定条件后再进入就绪状态。若某节点缺失文件或初始化失败,界面应定位失败节点、说明修正项,并阻止开始。修正后重新初始化,使操作人员能够确认本轮准备已经重新完成。

分别约定单步、连续运行和暂停

  • 单步应明确推进的是一个调度周期、一次求解调用还是一个已约定的时间间隔。一次操作完成后,检查周期号、仿真时间和输出状态是否一致更新。连续运行时禁用冲突的单步入口,避免重复指令造成意外推进。
  • 暂停需要定义生效边界,例如当前周期完成后停止推进;只有执行端确认后才显示已暂停。界面刷新、仿真时钟和现场设备可能有不同的运行节奏,暂停仿真不应被解释为现场设备已经停止。涉及实物时,另行约定设备的安全状态与确认方式。

让配置变更在明确时刻生效

  • 将场景配置与一次运行绑定,区分尚未提交的编辑值、已分发值和执行端已采用值。若允许暂停后修改参数,应约定哪些字段可以修改,哪些修改需要重新初始化。修改记录要说明旧值、新值和生效周期,避免只保留最终文件而丢失运行过程。
  • 分布式执行时建议先确认各必要节点收到同一变更,再按约定边界继续运行。某节点未确认时保留待处理状态,不能由界面自动推定全体已更新。恢复后的首个周期应检查配置版本、时间和输出,及时发现旧配置仍在生效的情况。

以结束记录确认任务真正完成

  • 分别记录正常结束、人工停止、运行失败和超时终止,并保存结束周期、最后有效时间与原因。停止请求发出后仍可能有当前周期和写盘工作,建议区分正在停止与已经停止。为任务设置有限的运行预算,并事先明确达到预算后的处理。
  • 验收时走通初始化失败后重试、单步转连续、暂停后继续和主动停止等路径,检查重开场景是否遗留上次状态。最后核对日志、结果文件和结束标识是否属于同一次运行。中止任务留下的部分结果需明确标记,不能直接作为完整工况结果参与比较。

还有更具体的问题?

说明项目阶段与目标域,我们将在 1 个工作日内回复协作方式与范围建议。