首页 理论教育 西门子工业通信网络组态编程中断组织块及故障诊断

西门子工业通信网络组态编程中断组织块及故障诊断

时间:2023-11-16 理论教育 版权反馈
【摘要】:CPU在识别到一个故障或编程错误,例如,DP从站或者PROFINETI/O设备的诊断报警、站的故障等,将会调用对应的中断组织块,应生成这些OB,通过OB中编写的程序对故障进行处理。下面介绍与通信故障有关的几个主要的中断组织块。产生诊断中断时,CPU的操作系统将自动调用处理诊断中断的组织块OB82。当DP主站的CPU从RUN模式切换到STOP模式时,智能从站将调用诊断中断组织块OB82。以便在出现故障时,迅速地查明故障的原因和采取相应的措施。

西门子工业通信网络组态编程中断组织块及故障诊断

CPU在识别到一个故障或编程错误,例如,DP从站或者PROFINETI/O设备的诊断报警、站的故障等,将会调用对应的中断组织块(OB),应生成这些OB,通过OB中编写的程序对故障进行处理。如果这些组织块没有下载到CPU,CPU将会因为无法调用这些块而进入STOP状态。下面介绍与通信故障有关的几个主要的中断组织块。

1.DP从站产生的诊断中断(OB82)

具有诊断功能的分布式I/O模块通过产生诊断中断来报告事件,例如部分节点故障、信号模块导线断开、I/O通道的短路或过载、模拟量模块的电源故障等。产生诊断中断时,CPU的操作系统将自动调用处理诊断中断的组织块OB82。OB82的启动信息提供了产生故障的模块的类型(输入模块或输出模块)、模块的地址和故障的种类。当DP主站的CPU从RUN模式切换到STOP模式时,智能从站将调用诊断中断组织块OB82。故障出现和消失时将分别调用一次OB82。

通过在OB82中调用故障诊断的程序块,可以判断在哪个通道发生了什么样的故障。

2.外设输入/输出区与过程映像输入/输出区

S7-300/400的外设输入/输出区(PI/PQ区)用于直接读写I/O模块。过程映像输入/输出区(I/Q区)是输入/输出模块在CPU的存储区中的“映像”。在每一扫描循环周期开始时,CPU将过程映像输出区中的数据成批地传送到输出模块,将输入模块外接的输入电路的状态成批地读入过程映像输入区。

PI/PQ区与I/Q区的关系如下:

1)访问PI/PQ区时,直接读写输入/输出模块,而I/Q区是CPU内的存储区。

2)I/Q区可以按位、字节、字和双字寻址,PI/PQ区不能按位寻址。

3)I/Q区的地址也可以用PI/PQ区访问。

3.优先级错误中断(OB85)

以下情况将会触发优先级错误中断:

1)产生了一个中断事件,但是没有将对应的OB块下载到CPU(不包括OB81)。

2)操作系统访问模块时出错。

3)由于通信或组态的原因,模块不存在或有故障,刷新过程映像表时I/O访问出错。出现故障的DP从站的输入/输出值装入S7 CPU的过程映像表时,就可能出现上述情况。

访问出错的输入字节被复位和保持为“0”,直到故障消失。

双击HW Config的机架中的CPU,打开CPU的属性对话框。可以用“周期/时钟存储器选项卡中的选择框选择调用OB85的方式(见图6-25)。(www.xing528.com)

978-7-111-28256-3-Chapter06-43.jpg

图6-25 CPU的属性对话框的周期/时钟存储器选项卡

S7-300 CPU默认的选项是“无OB85调用”,在发生I/O访问错误时不调用OB85,也不会在诊断缓冲区中生成条目,一般采用默认的设置。

S7-400 CPU默认的选项是“每单个访问时”,在满足条件时,每个扫描循环周期都要调用一次OB85和在诊断缓冲区中生成一个条目,这样会增加扫描周期。建议选用“仅用于进入和离开的错误”,该选项只是在错误刚发生和刚消失时分别调用一次OB85。

在编写OB85的程序时,应根据OB85的启动信息,判定是哪个模块损坏或没有插入。OB85的局部变量OB_85_FLT_ID的错误代码的意义举例如下:B#16#B1和B#16#B2分别表示更新过程映像输入、输出表时的I/O访问错误。可以用SFC49“LGC_GADR”查找有关模块所在的机架和槽位,以及模块的用户数据地址区中的偏移量

4.机架故障或分布式I/O的站故障中断(OB86)

如果机架、DP主站系统或分布式I/O(DP从站或PROFINET IO设备)由于掉电、总线导线断开、I/O系统的故障,或者某些其他原因引起的故障,CPU的操作系统将调用组织块OB86。故障出现和消失时将分别调用一次OB86。可以根据OB86的启动信息,在OB86中编程,确定是哪个机架或分布式设备有故障或通信中断。

5.I/O访问错误中断(OB122)

CPU如果访问有故障的I/O模块、不存在的或有故障的DP从站的PI/PQ输入/输出数据,或者访问了一个CPU不能识别的I/O地址,CPU的操作系统将在每个扫描周期调用一次OB122。

6.故障处理中断组织块的作用

DP从站出现故障时,如果S7-400没有生成和下载OB82、OB85、OB86和OB122,S7-300没有生成和下载OB82、OB86和OB122,CPU将切换到STOP状态。为了防止某个从站的故障造成整个PROFIBUS主站系统停机,作为一个常规的措施,至少要生成和下载上述组织块。即使没有在这些OB中编写任何程序,在DP从站出现上述故障时,CPU也不会进入STOP模式。

需要注意的是,生成上述OB后,CPU虽然不再进入STOP模式,但是可能不易察觉这些危险状态,它们会被忽视。为了解决这一问题,在故障OB中,应编写记录、处理和显示故障的程序,例如记录中断的次数,保存OB的局部变量,调用读取诊断数据的SFC13等。以便在出现故障时,迅速地查明故障的原因和采取相应的措施。

通过中断组织块的局部变量提供的信息,可以获得故障的原因、出现故障的模块地址、模块的类型(输入模块或输出模块)、故障出现或故障消失等信息。CPU的模块信息对话框中的诊断缓冲区保留着CPU曾经调用过的组织块的信息。

最好在出错时通过监控设备产生一条报警信息,以便操作人员安全和正确地操作设备,具体的方法将在第8章介绍。

中断组织块的详细信息可以参阅STEP7的在线帮助,或者参考随书光盘中的手册《用于S7的系统软件和标准功能参考手册》。

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

我要反馈