首页 理论教育 中断组织块与硬件故障的关系

中断组织块与硬件故障的关系

时间:2023-06-30 理论教育 版权反馈
【摘要】:CPU在识别到故障或编程错误时,将会调用对应的中断组织块,可以在这些OB中编写程序对故障进行处理。下面介绍与硬件故障有关的几个主要的中断组织块。出现需要维护的事件时,CPU将需要维护的事件写入CPU的诊断缓冲区。S7-1500如果发生了启动OB82、OB83、OB86和OB122的事件,但是没有为上述事件分配OB,默认的系统响应为“忽略”。

中断组织块与硬件故障的关系

CPU在识别到故障或编程错误时,将会调用对应的中断组织块(OB),可以在这些OB中编写程序对故障进行处理。下面介绍与硬件故障有关的几个主要的中断组织块。

1.诊断中断组织块OB82

具有诊断中断功能并启用了诊断中断的模块检测出其诊断状态发生变化时,将向CPU发送一个诊断中断请求。模块通过产生诊断中断来报告事件,例如发生了电源或备用电池错误、操作系统检测到存储器错误、信号模块导线断开、I/O通道短路或过载、模拟量模块的电源故障等。

PROFINET模块有一种处于“完好”和“故障”之间的临界状态,称为“维护”,利用该状态用户可以发现故障的苗头,及时维护现场设备。出现需要维护的事件时,CPU将需要维护的事件写入CPU的诊断缓冲区。

出现故障或有组件要求维护(事件进入状态),故障消失或没有组件需要维护(事件退出状态),操作系统将会分别调用一次OB82。

下面介绍OB82的局部变量。S7-1500的IO_state的第0~7位为1状态分别表示I/O状态为良好、禁用、需要维护、要求维护、错误、不可用、受限和不可用。在STEP7中,良好、需要维护、要求维护和错误分别用绿色对勾、绿色扳手、黄色扳手和红色扳手的图标来表示。

局部变量LADDR为触发诊断中断的硬件对象的硬件标识符,Channel为通道编号。如果有多个错误,Bool变量MultiError为1状态。

2.机架故障组织块OB86

如果检测到DP主站系统或PROFINETIO系统发生故障、DP从站或IO设备发生故障,故障出现和故障消失时,操作系统将会分别调用一次OB86。PROFINET智能IO设备的某些子模块发生故障时,操作系统也要调用OB86。

局部变量LADDR是有故障的硬件对象的硬件标识符。事件种类Event_Class为16#32/33分别表示DP从站或IO设备被激活或禁用,16#38/39分别表示离去的事件(故障消失)和到达的事件(故障出现)。错误代码Fault_ID的意义见OB86的在线帮助。(www.xing528.com)

3.拔出/插入中断组织块OB83

如果拔出或插入了已组态且未禁用的分布式I/O模块或子模块,操作系统将调用拔出/插入中断组织块OB83。拔出或插入中央模块将导致CPU进入STOP模式(CPU 1510SP-1PN和1512SP-1 PN除外)。

局部变量LADDR是受影响的模块或子模块的硬件标示符。事件种类Event_Class为16#38/39分别表示插入模块、拔出模块或未响应。错误代码Fault_ID(故障标示符)的意义见OB83的在线帮助。

4.故障处理中断组织块的应用

S7-300/400如果发生了启动OB82(诊断中断)、OB83(移除/插入模块)、OB86(机架故障)和OB122(I/O访问错误)的事件,但是没有为上述事件生成和下载对应的组织块,CPU将会自动切换到STOP模式,以保证设备和生产过程的安全。对于默认的设置,如果S7-400没有生成和下载优先级错误组织块OB85,出现优先级错误事件时,CPU也会切换到STOP模式。

在设备运行过程中,由于通信网络的接插件接触不好,或者因为外部强干扰源的干扰,可能会出现通信短暂的中断,但是很快又会自动恢复正常,这种故障俗称为“闪断”。为了在出现闪断时CPU和分布式I/O系统不停机,可以生成和下载上述组织块。如果系统出现了不能自动恢复的故障,用上述方法使系统仍然继续运行,可能导致系统处于某种危险的状态,造成现场人员的伤害或者设备的损坏。

S7-1500如果发生了启动OB82、OB83、OB86和OB122的事件,但是没有为上述事件分配OB,默认的系统响应为“忽略”。因此即使没有生成和下载上述组织块,出现对应的事件时CPU也不会自动切换到STOP模式。如果希望在出现某类故障时切换到STOP模式,以保证设备和生产过程的安全,可以生成和下载对应的组织块,在该组织块中用“退出程序”指令STP使PLC进入STOP模式。

S7-1500没有OB85。出现全局错误处理的编程错误时,如果没有生成和下载编程错误组织块OB121,CPU将会切换到STOP模式。

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

我要反馈