准在线算法运行

在 DAQ 数据采集过程中,自动触发算法批量计算并将估算结果实时追加到波形窗口,让工程师在台架调试时"边跑边看"算法表现。

"准在线"是对实时性的语义重定义:XCP 是监测协议而非控制协议,PC 端通过 XCP 获取的数据延迟典型在 10ms~100ms 量级,不可能做到与采样频率一致的硬实时。准在线聚焦调试体验,不参与硬实时控制

功能入口

  • 菜单:分析 → 准在线算法运行(Ctrl+Shift+Q)— 可勾选菜单项,纯开关
  • 配置入口:分析 → 算法应用(Ctrl+Alt+A)或资源管理器右键"应用配置" — 创建/应用算法配置

核心概念:纯开关语义

菜单"分析 → 准在线算法运行"是一个纯开关,遵循极简语义:

  • 开关打开/关闭不需要任何前置条件,无论 DAQ 是否运行、是否有应用配置,都可以自由切换
  • 开关仅表达用户意图:"我想看准在线算法运行"(开)或"我不想看"(关)
  • 实际启停由综合条件判断:仅当 开关打开 + DAQ 运行中 + 有应用配置 三者同时满足时,引擎才运行并显示派生数据
开关状态 DAQ 状态 有应用配置 引擎行为
运行中 运行,显示派生数据
运行中 不运行(等用户应用配置后自动启动)
未运行 不运行(等 DAQ 启动后自动启动)
未运行 不运行(等待 DAQ 与配置就绪)
任意 任意 不运行(用户主动关闭)

停止方式:用户不想看到准在线算法运行时,只需在菜单上关闭开关即可,引擎立即停止。这是唯一的停止方式。

使用步骤

场景一:离线分析(DAQ 未运行)

  1. 加载数据集(双击资源管理器中的数据节点)
  2. 通过"分析 → 算法应用"或资源管理器右键"应用配置"配置算法
  3. 派生变量基于当前数据快照计算一次,注入波形窗口

此场景下准在线运行不会启用(DAQ 未运行),派生变量仅计算一次。但应用配置会被缓存,用户随后打开准在线开关并启动 DAQ 时可直接使用。

场景二:准在线运行(推荐)

三种操作顺序均可,最终触发相同的综合条件判断,用户可按习惯选择:

方式 A:先开开关,再启动 DAQ

  1. 菜单"分析 → 准在线算法运行"勾选打开开关
  2. 通过"分析 → 算法应用"或资源管理器右键"应用"配置算法(若尚未应用)
  3. 启动 DAQ 采集 — 引擎自动启动,新到达的数据自动应用算法
  4. 派生通道在波形窗口持续累积刷新

方式 B:先启动 DAQ,再开开关

  1. 启动 DAQ 采集(电机开始运行)
  2. 通过"分析 → 算法应用"或资源管理器右键"应用"配置算法
  3. 菜单"分析 → 准在线算法运行"勾选打开开关 — 引擎立即启动
  4. 后续到达的 DAQ 数据自动累积触发算法,结果逐点追加到派生通道

方式 C:先应用配置,再启动 DAQ

  1. 通过"分析 → 算法应用"应用算法配置(DAQ 未运行,配置被缓存)
  2. 菜单"分析 → 准在线算法运行"勾选打开开关(开关打开,等待 DAQ)
  3. 启动 DAQ 采集 — 引擎自动启动,新数据自动应用算法

停止准在线运行

  • 菜单关闭开关:取消勾选"分析 → 准在线算法运行" — 引擎立即停止,DAQ 采集不受影响
  • 停止 DAQ:DAQ 停止后引擎不再收到新数据(但引擎订阅仍保持,下次 DAQ 启动会自动恢复)

切换算法

DAQ 运行中重新"应用"新算法配置时:

  • 若开关已打开,准在线运行自动平滑切换到新算法
  • 旧前缀的派生通道被清理,新前缀的派生通道从零开始累积
  • 算法相同则跳过重启,避免清空正在累积的缓冲区

注意事项

  1. 不参与硬实时控制:准在线仅用于算法验证,不可用于闭环控制
  2. 数值积分漂移:长时间运行(>1 小时)观测器积分误差可能累积,建议定期重启 DAQ 或重新应用配置以重置状态
  3. 状态切换:关闭开关后引擎清空缓冲区,下次重新打开时从头累积
  4. 算法慢于数据:若算法计算时间大于数据累积时间,引擎自动丢弃最旧数据(环形缓冲语义),不阻塞 DAQ 采集
  5. 派生通道持续增长:准在线运行期间,派生通道数据逐点追加,与 DAQ 原始通道处理方式一致

相关文档