1.错误处理概述
S7-300/400有很强的错误(或故障)检测和处理的能力。操作系统可以检测出下列错误:不正确的CPU功能、操作系统执行的错误、用户程序中的错误和I/O中的错误。
操作系统检测到一个异步错误时,将启动相应的组织块(见表4-9)。异步错误OB在默认时具有最高的优先级,如果所有异步错误OB都具有相同的优先级,则不能被其他OB中断。如果同时出现一个以上具有相同优先级的异步错误OB,则按它们出现的顺序进行处理。
用户可以在组织块中编程,对出现的错误采取相应的措施,以减小或消除错误的影响。如果没有生成和下载处理某个错误的组织块,出现该错误时CPU将进入STOP模式。即使下载一个空的OB,出现该错误时CPU也不会进入STOP模式。
利用系统功能(SFC),用户可以屏蔽、延迟或禁止各种OB的启动事件。
表4-9 错误处理组织块
2.错误的分类
被CPU检测到并且用户可以通过组织块对其进行处理的错误分为两类。
1)异步错误是与PLC的硬件或操作系统密切相关的错误,与用户程序的执行无关。异步错误的后果一般都比较严重。异步错误对应的组织块为OB70~OB73和OB80~OB87见表4-9),具有最高的优先级。
2)同步错误是与程序执行有关的错误,OB121和OB122用于处理同步错误。
3.时间错误处理组织块(OB80)
扫描周期监视时间的默认值为150ms,时间错误包括实际扫描周期超过设置的扫描周期时间、因为向前修改时间而跳过时间中断、处理优先级时延迟太多等。
为OB80编程时应判断是哪个时间中断被跳过,使用SFC29“CAN_TINT”可以取消被跳过的时间中断。只有新的时间中断才会被执行。
4.电源故障处理组织块(OB81)(www.xing528.com)
电源故障包括备用电池失效或未安装,S7-400的CPU机架或扩展机架上的DC24V电源故障。电源故障出现和消失时操作系统都要调用OB81。
5.用于故障诊断的组织块
OB82、OB85、OB86和OB122在故障诊断中的应用将在7.1.1节和8.5.1节详细介绍。
6.CPU硬件故障组织块(OB84)
已检测到并更正了内存错误、两个S7-400H CPU之间的冗余链接性能下降、WinAC RTX的操作系统出错,CPU的操作系统将调用OB84。如果没有下载OB84,CPU不会切换到STOP模式。
7.通信错误组织块(OB87)
发生通信错误导致的事件时(详情见在线帮助),CPU将调用OB87。如果没有下载OB87,S7-300 CPU将切换到STOP模式,S7-400 CPU不会切换到STOP模式。
8.同步错误处理组织块
同步错误是与执行用户程序有关的错误,OB121用于对程序错误的处理,OB122用于处理模块访问错误。同步错误OB的优先级与出现错误时被中断的块的优先级相同,即同步错误OB中的程序可以访问块被中断时累加器和其他寄存器的内容。对错误进行适当处理后,可以将处理结果返回被中断的块。
出现编程错误时,CPU的操作系统将调用OB121。编程错误的诊断方法将在7.3.2节介绍。I/O访问错误组织块OB122将在7.1.1节介绍。
可以用SFC36“MASK_FLT”来屏蔽同步错误,使某些同步错误出现时不调用对应的OB。SFC37“DMSK_FLT”用来解除对同步错误的屏蔽,SFC38“READ_ERR”用来读取错误寄存器。
9.其他组织块
此外还有DPV1中断组织块OB55~OB57、多处理器中断组织块OB60、同步周期性中断组织块OB61~OB64、技术同步中断组织块OB65、冗余故障组织(OB70、OB72和OB73)、处理中断组织块OB88和背景组织块OB90。它们用得很少,具体的使用方法见在线帮助。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。