西门子PLC停机原因分析

2019年7月12日16:31:13 发表评论 1,538 阅读

一、概述
西门子PLC系列应用广泛,用户在调试过程中可能会遇到西门子PLC突然停机的情况,本文下面对西门子PLC停机的原因做一个分析,供用户在调试过程中参考。
二、西门子PLC停机原因分析
使西门子PLC停机的情况很多,比如地址调用错误,没有下载需要DB块,编程错误等等,如果你想避免错误时不使CPU进入停止状态,你可以在程序中加入特殊的OB块,则出现相应问题,调用相应的OB块,虽然里面没程序,PLC将对错误错误不作任何处理,继续运行。否则PLC将进入停机状态可,比如:
OB73通讯冗余出错OB
当容错S7连接中发生首次冗余丢失时,H CPU的操作系统将调用OB73(只有在S7通讯中才会有容错S7连接。如果其它容错S7连接发生了冗余丢失,则不会再有OB73启动。直到为具有容错功能的所有S7连接恢复冗余后,才会出现另一个OB73启动。如果发生了启动事件且OB73没有编程,CPU不会转为STOP模式。
OB80时间出错组织块
无论何时执行OB时出错,S7-300 CPU的操作系统将调用OB80。此类错误包括:超出周期时间、执行OB时出现确认错误、提前了时间而使OB的启动时间被跳过、在CiR后恢复RUN模式。例如,如果在上一次调用之后发生了某一周期性中断OB的启动事件,而同一OB此时仍在执行中,则操作系统将调用OB80。如果OB80尚未编程,则CPU将转为STOP模式。可以使用SFC 39至42禁用或延迟和重新启用时间出错OB。
OB81电源出错组织块
只要发生由错误或故障所触发的事件,而此错误或故障又与电源(仅在S7-400上)或备用电池有关,则S7-300 CPU的操作系统调用OB81。在S7-400中,如果已使用BATT.INDIC开关激活了电池测试功能,则只有在出现电池故障时才会调用OB81。如果OB81没有编程,则CPU不会转为STOP模式。可以使用SFC 39至42禁用或延迟,并重新启用电源出错OB。
OB82诊断中断组织块
如果具有诊断功能的模块检测到错误,则它会输出一个诊断中断的请求给CPU。则操作系统调用OB82。 OB82的局部变量包含逻辑基址和四字节的故障模块的诊断数据。如果OB82尚未编程,则CPU转为STOP模式。可以使用SFC 39至42禁用或延迟,并重新启用诊断中断OB。
OB121编程出错组织块
只要发生同程序处理相关的错误所导致的事件,CPU的操作系统即调用OB121。例如,如果用户程序调用了尚未装载到CPU中的块,将会调用OB121。
OB122I/O访问出错组织块
只要在访问模块上的数据时出错,CPU的操作系统即调用OB122。例如,如果在访问I/O模块上的数据时,CPU检测到读取错误,操作系统将调用OB122.
三、小结
综上所述,西门子PLC的停机有多种原因,用户可以参考本文提供的方法调用相应的组织块进行操作。如果用户需要更多的了解西门子PLC 系列的相关用法,请联系我们,我们会更好的提供相关技术支持。

weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: