首页 理论教育 信号模块诊断功能仿真实验详解

信号模块诊断功能仿真实验详解

时间:2023-06-20 理论教育 版权反馈
【摘要】:具有诊断功能的分布式I/O模块通过产生诊断中断来报告事件。启用模块的诊断中断功能和两个通道的“组诊断”功能。出现诊断事件时,CPU将会调用诊断中断组织块OB82,同时相应的信息会输入到CPU模块信息的诊断缓冲区。图7-11 组态AO模块的诊断功能图7-12 组态AI模块的诊断功能单击工具栏上的按钮,对组态信息进行编译。

信号模块诊断功能仿真实验详解

具有诊断功能的分布式I/O模块通过产生诊断中断来报告事件。产生诊断中断时,CPU的操作系统将自动调用处理诊断中断的组织块OB82。OB82的启动信息提供了产生故障的模块的类型、模块的地址和故障的种类。

1.创建项目

将实训四十二的项目“从站诊断”另存为项目“诊断中断”(见随书光盘的同名例程)。DP主站为CPU 315-2DP,3号DP从站为ET 200M(图6-4),它的AI、AO模块均有诊断功能。

2.组态信号模块的诊断功能

选中3号从站ET 200M,双击7号槽的2AO模块,在它的属性对话框的“输出”选项卡中(见图7-11),设置0号通道输出4~20mA的电流,1号通道输出0~10V的电压。启用模块的诊断中断功能和两个通道的“组诊断”功能。

AO模块的通道被组态为电流输出时,它的输出电阻很大,外部输出回路可以短路,如果开路则出现故障。AO模块的通道被组态为电压输出时,它的输出电阻很小,外部输出回路可以开路,如果短路则出现故障。

按下计算机的<F1>键,在出现的在线帮助中,单击绿色的“诊断”,可以查看“组诊断”的帮助信息。

由帮助信息可知,组诊断可以检测组态和参数分配错误、电压输出时的接地短路、电流输出时断线和丢失负载电压L+的故障。出现诊断事件时,CPU将会调用诊断中断组织块OB82,同时相应的信息会输入到CPU模块信息的诊断缓冲区。

双击ET 200M第6槽的2AI模块,在它的属性对话框的“输入”选项卡中(见图7-12),设置测量范围为4~20mA的电流,启用模块的诊断中断功能、组诊断功能和断线检查功能。

978-7-111-31641-1-Chapter07-17.jpg

图7-11 组态AO模块的诊断功能

978-7-111-31641-1-Chapter07-18.jpg

图7-12 组态AI模块的诊断功能

单击工具栏上的978-7-111-31641-1-Chapter07-19.jpg按钮,对组态信息进行编译。

3.编写OB的程序

在SIMATIC管理器中生成OB82、OB85、OB86和OB122。

下面是OB82中的程序,将MW10加1,用MW10来计调用OB82的次数:

978-7-111-31641-1-Chapter07-20.jpg

在OB85、OB86和OB122中编写程序,分别将MW12~MW16加1。

生成数据块DB82,在数据块中生成数组ARY。在OB82中调用SFC20“BLKMOV”,将它的局部变量保存在数组DB82.ARY中。

978-7-111-31641-1-Chapter07-21.jpg

生成一个变量表,在变量表中监控MW10~MW16。

打开PLCSIM,选中SIMATIC管理器左边窗口中的“块”文件夹,单击工具栏上的978-7-111-31641-1-Chapter07-22.jpg按钮,下载系统数据和程序块。将仿真CPU切换到RUN-P模式。

执行PLCSIM的菜单命令“Execute”(执行)→“Trigger Error OB”(触发错误OB)→“Diagnostic interrupt(OB82)”(诊断中断OB82),打开“Diagnostic Interrupt OB(82)”对话框(见图7-13)。

978-7-111-31641-1-Chapter07-23.jpg

图7-13 模拟AO模块的故障

在“Module address”文本框输入AO模块的起始地址PQW256,用复选框选中“External voltage failed”(外部电压故障),单击“Apply”(应用)按钮,模拟AO模块出现故障。

CPU视图对象上的红色SF(系统故障)LED亮,因为与DP从站的通信正常,DP(总线故障)LED未亮。CPU自动调用OB82,如果没有生成和下载OB82,CPU将自动切换到STOP模式,RUN LED熄灭,STOP LED亮。

单击图7-13中的复选框“External voltage failed”,其中的“√”消失。单击“Apply”(应用)按钮,模拟AO模块的诊断错误消失。CPU视图对象上的SF LED熄灭。

4.用快速视图诊断故障

AO模块有诊断故障时,选中SIMATIC管理器左边窗口的SIMATIC 300站点,执行菜单命令“PLC”→“诊断/设置”→“硬件诊断”,打开“硬件诊断-快速查看”对话框(见图7-14)。“CPU/故障模块”列表中的3号DP从站上有故障符号(红色的指示灯)。

978-7-111-31641-1-Chapter07-24.jpg

图7-14 快速视图

选中有故障的DP从站,单击“模块信息”按钮,打开3号从站的接口模块IM 153-1的模块信息(见图7-15)。

978-7-111-31641-1-Chapter07-25.jpg

图7-15 IM 153-1的模块信息

5.用CPU的诊断缓冲区诊断故障

选中快速视图中的CPU,单击“模块信息”按钮,打开CPU的模块信息对话框。图7-16的“事件”列表中的2号事件为“模块故障存在”,右边的小图是2号事件的详细信息的下半部分,模块的故障是“没有外部辅助电源”。

978-7-111-31641-1-Chapter07-26.jpg

图7-16 CPU的模块信息对话框

“事件”列表中的1号事件“模块 确定”是故障消失的信息。故障的详细信息与2号事件的基本上相同,最后一行是“外部错误,离开的事件”。

打开变量表,单击工具栏上的978-7-111-31641-1-Chapter07-27.jpg按钮,启动监控功能。可以看到在AO模块出现故障和故障消失时,CPU分别调用了一次OB82,每次调用时MW10的值加1。

6.用诊断视图诊断故障模块

为了确认3号从站的AO模块的具体故障,可以使用诊断视图。诊断视图实际上就是在线的硬件组态窗口。单击快速视图中的“打开在线站点”按钮(见图7-3),打开诊断视图(见图7-17)。

978-7-111-31641-1-Chapter07-28.jpg(www.xing528.com)

图7-17 诊断视图

打开离线的硬件组态工具HW Config,单击工具栏上的在线/离线切换按钮978-7-111-31641-1-Chapter07-29.jpg,也能打开诊断视图。

与快速视图相比,诊断视图显示整个300站点在线的情况,可以读取每个模块的在线状态。用这种方法可以得到那些没有故障因而没有在快速视图中显示的模块的信息。

图7-17中的3号从站ET 200M和该从站7号槽的AO模块上均有故障符号。双击AO模块,打开它的模块信息对话框(见图7-18),可以查看该模块的详细故障信息。

978-7-111-31641-1-Chapter07-30.jpg

图7-18 AO模块的模块信息对话框

7.OB82的局部变量中的故障信息

如果具有诊断功能的模块在组态时已经启用了诊断中断,在检测到故障产生和消失时,它将会分别向CPU发送一个诊断中断请求,操作系统将调用OB82。

3号站的AO模块有故障时,打开DB82。单击工具栏上的978-7-111-31641-1-Chapter07-31.jpg按钮,启动监控功能。图7-19是DB82中保存的OB82的20B局部数据。

选中SIMATIC管理器中的OB82,按计算机的<F1>键,打开OB82的在线帮助。由在线帮助可以获得图7-19中的局部变量的意义。

978-7-111-31641-1-Chapter07-32.jpg

图7-19 OB82的局部变量

DBB0的16#39表示进入事件(事件发生)。

DBB1的16#42是错误代码

DBB2的中断优先级为16#1A(26)。

DBB3的OB编号为16#52(82)。

DBB4保留未用。

DBB5的16#55表示故障模块为输出模块。

DBW6为16#0100(256),是出现故障的AO模块的逻辑基地址。

DBD8为故障模块的诊断数据,其中的DBW8为W#16#1105或2#000100010000 0101,由在线帮助可知其含义如下:模块发生故障,外部电压故障,2#0101是模拟量输出模块的代码。

故障消失时,OB82的局部变量与故障出现时的基本上相同,其区别在于DBB0为16#38,表示事件消失(离开事件)。此外DBW8由B#16#1105变为B#16#0005,表示故障消失。

8.AO模块故障诊断的硬件实验

OB82的局部变量不能提供信号模块所有的诊断信息,例如不能提供AO模块的输出电路开路和短路故障的信息。为此需要在诊断视图中查看AO模块的模块信息,或者用SFC13读取故障信息。

PLCSIM只能模拟信号模块的部分故障,不能模拟的故障必须用硬件做诊断实验。

作者做硬件实验的控制系统的硬件结构和组态与本实训的项目中的基本上相同。在AO模块0号通道的电流输出端外接一个小开关,将开关断开,模块的电流输出回路出现开路故障。CPU 315-2DP、IM 153-1和AO模块上的SF LED亮。诊断视图中3号从站和AO模块上均有错误符号。变量表中MW10的值加1,表明调用了一次OB82。在CPU的模块信息对话框的诊断缓冲区的事件列表中,可以看到调用OB82,触发中断的模块的地址和其他信息。

用小开关接通AO模块的电流输出电路,开路故障消失。模块上的故障LED熄灭,CPU又调用一次OB82,MW10的值加1。在CPU的模块信息对话框中,可以看到有关的信息。

用接在1号通道输出端的小开关将其电压输出电路短路,将会触发诊断中断,CPU也会调用OB82。

选中诊断视图中的3号从站,双击下面窗口的AO模块,打开AO模块的模块信息对话框,“常规”选项卡与图7-18相同。

“诊断中断”选项卡(见图7-20)给出了模块的标准诊断信息。“指定通道的诊断”列表给出了出现故障的通道编号和具体的错误信息。选中该列表中的某个通道,单击下面的“显示”按钮,将出现帮助信息。

978-7-111-31641-1-Chapter07-33.jpg

图7-20 AO模块的模块信息对话框

从这个例子可以看出,用本实训介绍的方法和硬件实验来诊断信号模块的故障,可以获得准确的故障信息。

9.信号模块故障诊断的仿真练习

打开项目“诊断中断”后,打开PLCSIM,将系统数据和程序块下载到仿真CPU。将仿真CPU切换到RUN-P模式。

依次完成下列的操作:

1)用PLCSIM产生ET 200M的AI模块的“Front panel connector not plugged in”(前连接器未插入)故障。

2)观察CPU视图对象上的LED的变化。

3)打开CPU的模块信息的“诊断缓冲区”选项卡,查看该故障的事件信息。

4)打开DB82,切换到在线监控状态,可以看到OB82的20B局部变量。

5)选中OB82,按计算机的<F1>键,打开OB82的在线帮助,分析DB82中OB82的局部变量的意义。

6)用变量表监控调用OB82的次数。

7)用PLCSIM消除故障,重复上述的操作。

8)用PLCSIM产生和消除其他诊断中断事件,重复上述的操作。

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

我要反馈