一、问题点 使用TIA Portal(博途)对PLC在线监控或者编程程序时,可能会遇到下面这样的警告窗口。
"可能违反循环时间 (0601:000042)" "循环时间可能增加 (0601:000044)"此时如果选择继续操作PLC,有可能由于在线对PLC操作增加PLC通讯负载和循环周期负载,造成PLC运行负载超过设定阈值,从而造成停机! 在线对PLC进行操作的时候,例如监控程序和修改程序时,TIA Portal(博途)会根据画面中的程序多少进行重新编译,生成可视的变量和状态用于显示,这必然会导致CPU的程序增多,造成CPU循环周期的增加。 此外TIA Portal(博途)在线对PLC进行监控程序和修改程序,会导致PLC CPU产生相应的通信负载,同样会导致CPU循环周期时间延长。 1.如果PLC程序从未调用过 OB 80 的情况下,CPU 不停机,只报错,要求启动 OB 802.调用过 OB 80,但是后边又删除了 OB 80,CPU 停机,要求启动 OB 803.如果PLC程序配置了OB 80 此时PLC CPU只报错不停机。 注意事项 如果同一程序循环超过两倍最大程序循环时间且没有通过指令“RE_TRIGR”复位循环定时器,无论 OB80 是否存在,CPU 都将停机。
二、解决办法 方法1限制通信负载Communication load,例如从45%下降至20%,这样的结果是限制通信的上限,保证CPU的循环周期变化较小,不会超过循环周期上限,但是这种情况不仅会导致程序中的通信任务变慢,也会使上传和在线监视程序的速度变慢,因为设定的通信负载减小了。 ***关于通讯负载设定可以参考我们以往文章 如何查看并合理设置西门子S7-1200/1500 CPU的通讯负载率? 方法2调整循环周期上限,即修改CPU属性中设置最大的循环周期,例如150ms,从而保证CPU的循环周期不会超过周期上限,但是这种方式需要注意在线监控,多个程序画面时,CPU循环周期变化过大,可能会影响现场的工艺控制。
三、总结 需要注意的是,同样上传程序也有可能因为程序过大,导致通信过大而CPU停机。最后需要强调的是无论是哪种方式方法,只要CPU提示警告信息,这说明随后的操作可能造成CPU的停机,这时需要谨慎处理以免停机给生产造成损失。
延伸小知识:PLC-Recorder专业数据采集与分析软件可以采集字符串变量,和数值变量一样便捷。 |