首页 理论教育 错误处理组织块与其他组织块的区别与优化技巧

错误处理组织块与其他组织块的区别与优化技巧

时间:2023-06-28 理论教育 版权反馈
【摘要】:表4-9 错误处理组织块2.错误的分类被CPU检测到并且用户可以通过组织块对其进行处理的错误分为两类。对错误进行适当处理后,可以将处理结果返回被中断的块。

错误处理组织块与其他组织块的区别与优化技巧

1.错误处理概述

S7-300/400有很强的错误(或故障)检测和处理的能力。操作系统可以检测出下列错误:不正确的CPU功能、操作系统执行的错误、用户程序中的错误和I/O中的错误。

操作系统检测到一个异步错误时,将启动相应的组织块(见表4-9)。异步错误OB在默认时具有最高的优先级,如果所有异步错误OB都具有相同的优先级,则不能被其他OB中断。如果同时出现一个以上具有相同优先级的异步错误OB,则按它们出现的顺序进行处理。

用户可以在组织块中编程,对出现的错误采取相应的措施,以减小或消除错误的影响。如果没有生成和下载处理某个错误的组织块,出现该错误时CPU将进入STOP模式。即使下载一个空的OB,出现该错误时CPU也不会进入STOP模式。

利用系统功能(SFC),用户可以屏蔽、延迟或禁止各种OB的启动事件。

表4-9 错误处理组织块

978-7-111-53570-6-Chapter04-87.jpg

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。它们用得很少,具体的使用方法见在线帮助。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈