1. 课程导入与工程对象界定

在一条高速包装线上,伺服轴以 1 ms 控制周期运行,PLC 每 500 μs 刷新一次位置环,视觉相机每 20 ms 输出一次检测结果。当设备出现“偶发丢标”时,工程师往往面对三个问题:数据在哪里产生?数据如何被采集?采集到的数据能否支撑在线判断?这正是本课程要解决的核心问题——实时运动控制软件的数据采集、监控与在线诊断。

本课程讨论的对象不是通用工业物联网平台,而是嵌入在实时运动控制软件内部或紧邻控制回路的数据通道。它有三个硬约束:第一,采集不能破坏控制周期的确定性;第二,监控数据必须带时间戳,且时间基准可追溯;第三,诊断结论要能定位到具体轴、具体周期、具体信号。因此,课程中的“数据”不是泛指大数据,而是指位置指令、位置反馈、速度、电流、跟随误差、使能状态、报警码、IO 状态、凸轮相位等运动控制域的结构化时序数据。

整体架构:从信号到诊断结论的四层链路

从工程实现看,实时运动控制软件的数据采集与诊断可以划分为四层:信号层、采集层、传输与存储层、监控与诊断层。信号层是伺服驱动器、编码器、IO 模块、安全模块产生的原始物理量与状态量;采集层在实时任务中按周期采样,通常采用“控制周期同步采样 + 缓冲队列”的方式,避免在中断中直接做网络发送;传输与存储层负责把采样数据打包、打时间戳、通过共享内存、EtherCAT 邮箱或 TCP/UDP 送到非实时侧;监控与诊断层完成波形显示、阈值判断、特征提取、故障树推理和报警输出。

需要特别强调的是,采集点位置决定了数据能回答什么问题。若只在 HMI 层读取伺服参数,采样周期通常是 10~100 ms,只能看趋势,无法捕捉 1 ms 级的跟随误差尖峰;若在实时任务中直接采样位置环内部变量,则能获得周期级波形,但必须控制单周期开销。下面这张图给出本节最值得先建立的整体关系:

实时运动控制数据采集、监控与在线诊断整体架构 信号层 伺服位置/速度/电流 编码器反馈与跟随误差 IO / 安全 / 使能状态 凸轮相位与同步标志 报警码与驱动器事件 物理量 / 状态量 采集层 控制周期同步采样 环形缓冲 / 双缓冲 时间戳与周期计数 触发条件与预触发 单周期开销控制 确定性优先 传输与存储层 共享内存 / 邮箱 TCP/UDP 数据包 环形文件 / 数据库 时间对齐与丢包标记 压缩与循环覆盖 非实时侧处理 监控与诊断层 波形与趋势显示 阈值 / 包络判断 特征提取与统计 故障树 / 规则推理 报警与诊断报告 定位到轴/周期/信号 诊断结论反馈至采集触发条件与监控阈值

典型应用场景与工程对象

本课程选取三类典型场景贯穿始终。第一类是多轴同步插补场景,例如三轴直角坐标机器人做直线插补,关注各轴跟随误差是否在允许带内、插补周期是否抖动。第二类是电子凸轮与飞剪场景,主轴与从轴存在相位关系,关注相位误差、同步窗口和剪切瞬间的转矩冲击。第三类是故障复现与在线诊断场景,例如偶发过流报警,需要在报警前后各保留若干周期的数据,形成“预触发 + 后触发”的记录。

对应的工程对象可以具体化为:控制器实时任务、伺服驱动器、编码器、EtherCAT 总线、IO 端子、HMI 与上位诊断软件。学习时不要把“数据采集”理解成单独写一个日志文件,而应把它看成控制回路的一部分:采样点选在哪里、采样周期是多少、缓冲区多大、时间戳如何生成、丢包如何标记,都会直接影响诊断结论是否可信。

学习路径与关键判断

建议按“先界定对象,再打通链路,最后形成诊断闭环”的路径推进。第一步,明确你要回答的工程问题,例如“跟随误差为何在换向时超差”,据此确定需要采集的信号集合与采样率。第二步,在实时任务中实现低开销采样与时间戳,验证单周期开销不超过控制周期的 5%~10%。第三步,把数据送到非实时侧,完成波形显示与阈值判断。第四步,引入预触发、特征提取和故障树,使系统从“看波形”升级为“给结论”。

一个可参考的示例参数如下:控制周期 1 ms,采集 8 个通道,每通道 4 字节,环形缓冲 4096 个周期,预触发 1024 个周期。若单周期采样与入队耗时控制在 3 μs 以内,则对 1 ms 周期的影响约为 0.3%,属于可接受范围。这里的数值是教学示例,实际工程需按控制器性能和总线负载实测确认。

判断采集方案是否合格,先看三条:是否影响控制周期确定性;时间戳是否可追溯到同一时基;诊断结论是否能定位到具体轴、具体周期和具体信号。

本课程后续将围绕这条链路逐层展开:从实时任务中的采样实现,到时间同步与数据打包,再到监控界面设计、阈值与特征算法、故障树与在线诊断,最终落到可复现的工程案例。掌握本章的架构与对象界定,是后续所有实操内容的前提。