[西门子] 西门子PLC在线操作还能导致CPU停机?

[复制链接]
查看266 | 回复0 | 2024-10-18 08:20:19 | 显示全部楼层 |阅读模式
>


 一、问题点

使用TIA Portal(博途)对PLC在线监控或者编程程序时,可能会遇到下面这样的警告窗口

 "可能违反循环时间 (0601:000042)"

"循环时间可能增加 (0601:000044)"

时如果选择继续操作PLC,有可能由于在线对PLC操作增加PLC通讯负载和循环周期负载,造成PLC运行负载超过设定阈值,从而造成停机!

在线对PLC进行操作的时候,例如监控程序和修改程序时,TIA Portal(博途)会根据画面中的程序多少进行重新编译,生成可视的变量和状态用于显示,这必然会导致CPU的程序增多,造成CPU循环周期的增加。

此外TIA Portal(博途)在线对PLC进行监控程序和修改程序,会导致PLC CPU产生相应的通信负载,同样会导致CPU循环周期时间延长。

    当超过了CPU循环周期的上限值

1.如果PLC程序从未调用过 OB 80 的情况下,CPU 不停机,只报错,要求启动 OB 80
2.调用过 OB 80,但是后边又删除了 OB 80,CPU 停机,要求启动 OB 80

3.如果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专业数据采集与分析软件可以采集字符串变量,和数值变量一样便捷。
 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则