600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 西门子S7300 PLC “OB1循环超时”故障探讨

西门子S7300 PLC “OB1循环超时”故障探讨

时间:2023-09-22 08:02:37

相关推荐

西门子S7300 PLC “OB1循环超时”故障探讨

1、“OB1循环超时”故障现象

S7 300/400 PLC在CPU的硬件配置中,设置了OB1块的“扫描循环监控时间”,默认为150ms,如下图:

当OB1执行超过设定的“扫描循环监控时间”时,CPU将报“循环超时”故障,在CPU诊断缓冲器中,可查看故障信息,如下图:

2、“OB1循环超时”故障产生的原因

在OB1中编制或者OB1调用的程序中存在“合法不合理”的情况时,将导致OB1执行时间超过监控时间,从而导致“超时报警”。可能有以下等情况:

(1)、跳转指令(JMP)

如下程序所示,没有为跳转指令设置一定的“跳出”条件或设置的不合理,程序将反复执行NT3和NT4程序段,造成循环超时。

(2)、循环指令(LOOP)

如下程序所示,LOOP循环执行的条件设置的不合理,将导致一直执行NT5程序段,造成循环超时。

(3)、其他程序情况(???)

3、“OB1循环超时”故障产生后,CPU的反应

(1)、用户程序没有调用OB80,循环超时后,CPU将立即停机。

如下图所示,用户程序中,没有调用OB80。

如下图所示,09:19:04 CPU启动,09:19:10 CPU报“循环超时”故障(由于是使用PLCSIM进行CPU仿真运行,所以默认设置“循环扫描监控时间”为6s),同时09:19:10 CPU停机。

(2)、用户程序调用了OB80,但OB80中没有编程,则CPU将在2倍的“扫描循环监控时间”后停机。

如下图所示,用户程序中,调用了OB80,但OB80中没有编程。

如下图所示,09:47:34 CPU启动,09:47:40 CPU报“循环超时”故障(由于是使用PLCSIM进行CPU仿真运行,所以默认设置“循环扫描监控时间”为6s),09:47:46 CPU停机。

(3)、用户程序调用了OB80,且在OB80中调用了SFC43,则CPU将只报“循环超时”故障,但不停机。

如下图所示,用户程序中,调用了OB80,且调用了SFC43。

如下图所示,09:59:29 CPU启动,09:59:35 CPU报“循环超时”故障(由于是使用PLCSIM进行CPU仿真运行,所以默认设置“循环扫描监控时间”为6s),此后每间隔6s都会报“循环超时”,但CPU不会停机。

4、“OB1循环超时”故障处理注意事项

在用户程序中调用OB80,并且调用SFC43确实能够避免CPU由于循环超时停机,但是并不能找到造成循环超时的原因所在;

对于程序响应有较高要求的应用,循环超时可能会造成一定的后果,这时应该尽量避免使用OB80;

上述为经验总结,有问题请提出,谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。