当前位置:首页 > 工业控制 > 工业控制
[导读]一毫秒任务的平均执行时间只有两百微秒,也可能在少数周期里错过控制窗口。工业控制实时性要看多速率任务的相位关系,也要预先定义看门狗超时后的受控行为。

一毫秒任务的平均执行时间只有两百微秒,也可能在少数周期里错过控制窗口。工业控制实时性要看多速率任务的相位关系,也要预先定义看门狗超时后的受控行为。

多速率系统通常把电流、运动或快速压力环放在高频任务,把顺序、通信和画面刷新放在低频任务。若各周期不是严格整数倍,或者任务由不同时间源释放,采样点的相对相位会缓慢滑动。某个慢速设定值有时刚好在快速任务前更新,有时要晚近一个慢周期才生效,于是闭环看到的等效延迟不断变化。平均周期仍准确,过程却出现周期性调制、相位裕量下降或批次边界抖动,这类问题很难从CPU平均负载中识别。

即使周期成整数倍,抢占也会制造相位偏移。高优先级网络中断、驱动回调或异常记录若在采样与输出之间插入,控制计算的执行时间可能没有超限,但输入到输出的延迟已经改变。设计应把采样时刻、计算开始、计算结束和输出生效分别测量,并以最坏执行时间而非均值做预算。对必须交换数据的快慢任务,可在统一基准时钟上安排固定相位,用双缓冲和版本号保证快任务只读取一整套已完成参数,不能在慢任务更新一半时混合新旧值。

调度测试需制造接近量产的最坏负载,包括通信突发、在线监控、闪存维护和故障日志,而非只运行核心算法。每个任务应记录最迟启动、最长执行和截止期违例计数,时序跟踪缓冲区则要固定容量,避免诊断本身扩大抖动。若快速任务的算法负载会随工况改变,例如活动轴数或有效通道增加,还应覆盖最复杂路径。降低平均CPU占用并不能自动恢复确定性;共享锁、缓存争用和不可抢占驱动都可能形成短暂长尾。

看门狗负责发现这种长尾已经超过系统容忍度,但超时后立即复位并非总是正确。工业控制设备若正在维持压力、夹持重物或加热,处理器突然重启可能让输出进入未定义间隙;若简单保持最后值,执行机构又可能在控制已失效时持续动作。看门狗阈值太紧会被一次合法维护操作触发,太松则让危险命令维持过久。阈值必须小于过程可容忍失控时间,同时大于经过测量的最坏正常周期,并为时钟容差留出边界。

更稳妥的方案是分层处置。任务级监视先捕获单次截止期违例,冻结积分或限制输出变化率;连续违例再请求系统级安全降级,由独立硬件看门狗在软件无法响应时执行最终复位。远程I/O和驱动器也要有自己的命令超时,在主控失联时就地进入预设状态,不能等待主CPU重启。喂狗动作应只在关键任务全部完成并通过健康检查后发生,若任何线程都能单独喂狗,死锁的控制任务可能被无关通信线程掩盖。

故障注入应覆盖死循环、优先级反转、存储写入卡顿和中断风暴,并逐项观察输出变化、机械停止距离及恢复流程。复位前要把超时任务、程序计数位置和最近调度轨迹写入耐受掉电的诊断区,但写日志不能阻塞最终保护。恢复后是否自动重启工艺,应由设备风险分析决定;带物料的顺序通常需要状态核对与人工确认。还要测试看门狗自身时钟偏差和电源跌落,避免监视器与被监视CPU同时失去时间基准。只有故障期间的输出是确定的,超时检测才真正有价值。

所以,实时控制的合格标准不是平均周期漂亮,而是相位漂移和最坏延迟都有上界。再把超时转成分层、可验证的降级动作,工业控制系统才能面对偶发长尾而不失序。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭