首页 理论教育 使用组织块进行故障诊断

使用组织块进行故障诊断

时间:2023-06-17 理论教育 版权反馈
【摘要】:S7提供了各种不同的组织块,用组织块可以创建在特定时间执行的程序和响应特定事件的程序。表6-9 错误处理组织块为避免发生某种错误时CPU停机,可以在CPU中建立一个对应的空的组织块。故障产生和故障消失时都会产生中断。表6-14 OB86的变量申明表2.用组织块的故障诊断举例控制系统为S7-300、ET200、SM323和SM332,SM332输出电压信号,如果电压信号断线时,能通过STEP7的参数表查看到故障信号的通道,要求用OB82实现此功能。2)DB1.DBB0为16#39,表示事件到来。

使用组织块进行故障诊断

1.组织块简介

(1)错误处理组织块

组织块是操作系统与用户程序之间的接口。S7提供了各种不同的组织块,用组织块可以创建在特定时间执行的程序和响应特定事件的程序。

系统程序可以检测下列错误:不正确的CPU功能、系统程序执行中的错误、用户程序中的错误和I/O中的错误。根据错误类型的不同,CPU进入STOP模式或调用一个错误,处理对应OB块。

当CPU检测到错误时,会调用适当的组织块,见表6-9。如果没有相应的错误处理OB,CPU将进入STOP模式。用户可以在错误处理OB中编写如何处理这种错误的程序,以减小或消除错误的影响。

表6-9 错误处理组织块

978-7-111-51393-3-Chapter06-31.jpg

为避免发生某种错误时CPU停机,可以在CPU中建立一个对应的空的组织块。用户可以利用OB中的变量声明表提供的信息来判别错误的类型。

根据S7 CPU检测到可处理的错误分为异步错误和同步错误。

(2)异步错误组织块

异步错误是与PLC的硬件或操作系统密切相关的错误,与程序执行无关。异步错误的后果一般都比较严重。异步错误对应的组织块为OB70~OB73和OB80~OB87,有最高的优先级。操作系统检测到一个异步错误时,将启动相应的OB。

1)时间错误处理组织块(OB80)。OB执行时出现故障S7-300 CPU的操作系统调用OB80。这样的故障包括循环时间超出、执行OB时应答故障、向前移动时间以致于跃过了OB启动的时间、CLR后恢复RUN方式。

如果当循环中断OB仍在执行前一次调用时,该OB块的启动事件发生,操作系统调用OB80。如果OB80未编程,CPU变为STOP方式,可以使用SFC39~SFC42封锁或延时或再使用时间故障OB80。

如果在同一个扫描周期中由于扫描时间超出OB80被调用两次,CPU就变为STOP方式,可以通过在程序中适当的位置调用SFC43“RE_TRIGR”来避免这种情况。

打开OB80,可以从OB80的临时变量中得到故障信息,如图6-19所示。OB80的变量申明表见表6-10(节选)。

978-7-111-51393-3-Chapter06-32.jpg

图6-19 OB80的临时变量

表6-10 OB80的变量申明表

978-7-111-51393-3-Chapter06-33.jpg

2)电源故障处理组织块(OB81)。与电源(仅对S7-400)或后备电池有关的故障事件发生时,S7-300 CPU的操作系统调用OB81,表6-11(节选)为OB81的变量申明表。

表6-11 OB81的变量申明表

978-7-111-51393-3-Chapter06-34.jpg

如果OB81未编程,CPU并不转换为STOP方式。可以使用SFC39~42来禁用、延时或再使用电源故障(OB81)。

3)诊断中断处理组织块(OB82)。如果模块具有诊断能力又使能了诊断中断,当它检测到错误时,会输出一个诊断中断请求给CPU,操作系统调用OB82;当错误消失时,操作系统都会调用OB82。当一个诊断中断被触发时,有问题的模块自动地在诊断中断OB的起动信息和诊断缓冲区中存入4个字节的诊断数据和模块的起始地址。可以用SFC39~42来禁用、延时或再使用诊断中断(OB82),表6-12描述了诊断中断OB82的临时变量。

表6-12 OB82的变量申明表

978-7-111-51393-3-Chapter06-35.jpg

4)CPU硬件故障处理组织块(OB84)。当CPU检测到MPI网络的接口故障、通信总线的接口故障或分布式I/O网卡的接口故障时,操作系统调用OB84。故障消除时也会调用该OB块,即事件到来和离去时都调用该OB。表6-13(节选)描述了CPU硬件故障OB84的临时变量。

表6-13 OB84的变量申明表

978-7-111-51393-3-Chapter06-36.jpg

5)机架故障组织块(OB86)。出现下列故障或故障消失时,都会触发机架故障中断,操作系统将调用OB86:扩展机架故障、DP主站系统故障或分布式I/O故障。故障产生和故障消失时都会产生中断。

在编写OB86的程序时,应根据OB86的起动信息,判断是哪个机架损坏或找不到。可以使用SFC39~42封锁或延时并使能OB86,表6-14描述了机架故障OB86的临时变量。

表6-14 OB86的变量申明表

978-7-111-51393-3-Chapter06-37.jpg

2.用组织块的故障诊断举例

【例6-1】控制系统为S7-300、ET200、SM323和SM332,SM332输出电压信号,如果电压信号断线时,能通过STEP7的参数表查看到故障信号的通道,要求用OB82实现此功能。

【解】

(1)硬件组态过程

首先按照如图6-20所示进行组态,双击“AO2∗12bIT”,弹出如图6-21所示的界面,在“输出”选项卡中,勾选“组诊断”和“诊断中断”,最后单击“确定”按钮

978-7-111-51393-3-Chapter06-38.jpg

图6-20 硬件组态(1)

978-7-111-51393-3-Chapter06-39.jpg

图6-21 硬件组态(2)

(2)创建数据块(www.xing528.com)

创建数据块DB1,并在DB1中创建一个数组ary[0..20],数组的容量为21个字节,如图6-22所示。

978-7-111-51393-3-Chapter06-40.jpg

图6-22 创建的数组

(3)创建变量表

创建变量表VAT_1,并把需要监控的参数输入变量表,如图6-23所示,利用这个变量可以监控到故障信息。

978-7-111-51393-3-Chapter06-41.jpg

图6-23 创建变量表

(4)编写梯形图程序

在OB82中编写梯形图程序,如图6-24所示。由于S7-300/400 PLC有很强的自诊断功能,故障信息自动赋值给OB82的参数。程序的作用实际就是将OB82的所有参数信息传送到数组DB1.ary中,这样故障信息就可以在参数表中显示了。

978-7-111-51393-3-Chapter06-42.jpg

图6-24 梯形图

(5)仿真

先把完整的程序下载到仿真器中,将仿真器置于“RUN”状态,在工具栏中单击“Ex⁃ecute”(执行)→“Trigger Error OB”(触发器)→“Diagostic Interrupt”(诊断中断),如图6-25所示,打开诊断中断界面。

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

图6-25 打开“诊断中断”界面

如图6-26所示,在“Module address”(模块地址)中输出故障模块的逻辑地址(即模拟量的通道号)“pqw256”,任意选择一个可能的故障,本例选择“Exernall fault”(外部故障),单击“OK”(确定)按钮,模拟外部断线。

978-7-111-51393-3-Chapter06-44.jpg

图6-26 模拟故障

(6)监视故障

打开变量表,单击“监视变量” 978-7-111-51393-3-Chapter06-45.jpg 按钮,可以看到个参数,如图6-27所示。参数的含义如下:

1)MW20代表故障的累计次数。

2)DB1.DBB0为16#39,表示事件到来。

3)DB1.DBB5为16#55,表示输出模块。

4)DB1.DBW6为16#0100,即输出模块的地址是PQW256(256的十六进制就是16#0100)。

5)DB1.DBW8为16#1105(2#0001000100000101),外部故障、通道故障、模块发生故障。

978-7-111-51393-3-Chapter06-46.jpg

图6-27 监视故障

【例6-2】控制系统为S7-300、ET200、SM323和SM332,SM332输出电压信号,如果电压信号断线时,能通过STEP7的参数表查看到故障信号的通道,要求用OB86实现此功能。

硬件组态与上例相同,0B86中的梯形图程序如图6-28所示。

978-7-111-51393-3-Chapter06-47.jpg

图6-28 梯形图

创建如图6-29所示的变量表,并监控。

978-7-111-51393-3-Chapter06-48.jpg

图6-29 变量表

图6-29所示变量表的DBB0为16#39,表示事件到来。

DBB1为16#C4,表示从站故障。

DBB2为16#1A,表示OB优先级是26。

DBB3为16#56,表示OB编号是86。

DBW6为16#03FE是从站诊断地址,DBW8为16#0103表示主站系统编号是01,从站是03。DBD12和DBD14表示事件发生的时间是13年9月15日15时17分54秒。

诊断地址和DP站地址是不同的概念。选中DP网线后,如图6-30所示,1022就是16#03FE。选中从站IM153-1上的PROFIBUS,即可看到从站诊断地址。

978-7-111-51393-3-Chapter06-49.jpg

图6-30 诊断地址

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

我要反馈