错误处理组织块
(1)错误处理概述
SIMATIC S7-1500 PLC具有很强的错误(或称故障)检测和处理能力,是指PLC内部的功能性错误或编程错误,而不是外部设备的故障。CPU 检测到错误后,操作系统调用对应的组织块,用户可以在组织块中编程,对发生的错误采取相应的措施。对于大多数错误,如果没有给组织块编程,出现错误时CPU将进入STOP模式。
(2)错误的分类
被S7 CPU检测到并且用户可以通过组织块对其进行处理的错误分为两个基本类型。
① 异步错误 是与PLC的硬件或操作系统密切相关的错误,与程序执行无关,后果严重。异步错误OB具有最高等级的优先级,其他OB不能中断它们。同时有多个相同优先级的异步错误OB出现,将按出现的顺序处理。
系统程序可以检测下列错误:不正确的CPU功能、系统程序执行中的错误、用户程序中的错误和I/O中的错误。根据错误类型的不同,CPU设置为进入STOP模式或调用一个错误处理组织块(OB)。
当CPU检测到错误时,会调用适当的组织块,见图1。如果没有相应的错误处理OB,CPU将进入STOP模式。用户可以在错误处理OB中编写如何处理这种错误的程序,以减小或消除错误的影响。
图1
为避免发生某种错误时CPU进入停机,可以在CPU中建立一个对应的空的组织块。用户可以利用OB中的变量声明表提供的信息来判别错误的类型。
②同步错误(OB121和OB122) 是与程序执行有关的错误,其 OB 的优先级与出现错误时被中断的块的优先级相同,即同步错误OB中的程序可以访问块被中断时累加器和状态寄存器中的内容。对错误进行处理后,可以将处理结果返回被中断的块。