准在线算法运行
在 DAQ 数据采集过程中,自动触发算法批量计算并将估算结果实时追加到波形窗口,让工程师在台架调试时"边跑边看"算法表现。
"准在线"是对实时性的语义重定义:XCP 是监测协议而非控制协议,PC 端通过 XCP 获取的数据延迟典型在 10ms~100ms 量级,不可能做到与采样频率一致的硬实时。准在线聚焦调试体验,不参与硬实时控制。
功能入口
- 菜单:分析 → 准在线算法运行(
Ctrl+Shift+Q)— 可勾选菜单项,纯开关 - 配置入口:分析 → 算法应用(
Ctrl+Alt+A)或资源管理器右键"应用配置" — 创建/应用算法配置
核心概念:纯开关语义
菜单"分析 → 准在线算法运行"是一个纯开关,遵循极简语义:
- 开关打开/关闭不需要任何前置条件,无论 DAQ 是否运行、是否有应用配置,都可以自由切换
- 开关仅表达用户意图:"我想看准在线算法运行"(开)或"我不想看"(关)
- 实际启停由综合条件判断:仅当
开关打开 + DAQ 运行中 + 有应用配置三者同时满足时,引擎才运行并显示派生数据
| 开关状态 | DAQ 状态 | 有应用配置 | 引擎行为 |
|---|---|---|---|
| 开 | 运行中 | 有 | 运行,显示派生数据 |
| 开 | 运行中 | 无 | 不运行(等用户应用配置后自动启动) |
| 开 | 未运行 | 有 | 不运行(等 DAQ 启动后自动启动) |
| 开 | 未运行 | 无 | 不运行(等待 DAQ 与配置就绪) |
| 关 | 任意 | 任意 | 不运行(用户主动关闭) |
停止方式:用户不想看到准在线算法运行时,只需在菜单上关闭开关即可,引擎立即停止。这是唯一的停止方式。
使用步骤
场景一:离线分析(DAQ 未运行)
- 加载数据集(双击资源管理器中的数据节点)
- 通过"分析 → 算法应用"或资源管理器右键"应用配置"配置算法
- 派生变量基于当前数据快照计算一次,注入波形窗口
此场景下准在线运行不会启用(DAQ 未运行),派生变量仅计算一次。但应用配置会被缓存,用户随后打开准在线开关并启动 DAQ 时可直接使用。
场景二:准在线运行(推荐)
三种操作顺序均可,最终触发相同的综合条件判断,用户可按习惯选择:
方式 A:先开开关,再启动 DAQ
- 菜单"分析 → 准在线算法运行"勾选打开开关
- 通过"分析 → 算法应用"或资源管理器右键"应用"配置算法(若尚未应用)
- 启动 DAQ 采集 — 引擎自动启动,新到达的数据自动应用算法
- 派生通道在波形窗口持续累积刷新
方式 B:先启动 DAQ,再开开关
- 启动 DAQ 采集(电机开始运行)
- 通过"分析 → 算法应用"或资源管理器右键"应用"配置算法
- 菜单"分析 → 准在线算法运行"勾选打开开关 — 引擎立即启动
- 后续到达的 DAQ 数据自动累积触发算法,结果逐点追加到派生通道
方式 C:先应用配置,再启动 DAQ
- 通过"分析 → 算法应用"应用算法配置(DAQ 未运行,配置被缓存)
- 菜单"分析 → 准在线算法运行"勾选打开开关(开关打开,等待 DAQ)
- 启动 DAQ 采集 — 引擎自动启动,新数据自动应用算法
停止准在线运行
- 菜单关闭开关:取消勾选"分析 → 准在线算法运行" — 引擎立即停止,DAQ 采集不受影响
- 停止 DAQ:DAQ 停止后引擎不再收到新数据(但引擎订阅仍保持,下次 DAQ 启动会自动恢复)
切换算法
DAQ 运行中重新"应用"新算法配置时:
- 若开关已打开,准在线运行自动平滑切换到新算法
- 旧前缀的派生通道被清理,新前缀的派生通道从零开始累积
- 若算法相同则跳过重启,避免清空正在累积的缓冲区
注意事项
- 不参与硬实时控制:准在线仅用于算法验证,不可用于闭环控制
- 数值积分漂移:长时间运行(>1 小时)观测器积分误差可能累积,建议定期重启 DAQ 或重新应用配置以重置状态
- 状态切换:关闭开关后引擎清空缓冲区,下次重新打开时从头累积
- 算法慢于数据:若算法计算时间大于数据累积时间,引擎自动丢弃最旧数据(环形缓冲语义),不阻塞 DAQ 采集
- 派生通道持续增长:准在线运行期间,派生通道数据逐点追加,与 DAQ 原始通道处理方式一致