首页 理论教育 生成PLC故障诊断程序的方法

生成PLC故障诊断程序的方法

时间:2023-06-28 理论教育 版权反馈
【摘要】:仅有自动生成的未编写任何程序的OB1。FB49调用SFC13来读取DP从站的诊断数据和系统数据,调用SFC17来发送报警消息。图7-25 自动生成的报警消息3.在STEP7中查看DP从站的故障消息打开仿真软件S7-PLCSIM,将用户程序和系统数据下载到仿真PLC,将CPU切换到RUN-P模式。图7-26 在STEP 7中查看故障报警消息单击复选框“W”,将激活系统诊断消息。

生成PLC故障诊断程序的方法

使用STEP 7的故障诊断方法简便易行,可以迅速地获取准确、详细的诊断信息。但是这是一种“手动”的诊断方法,需要在现场使用安装了STEP 7的计算机和与PLC通信的硬件,并且要求有下载到PLC的项目文件。此外还要求使用者熟悉STEP 7,掌握用STEP 7进行故障诊断的操作方法。

为了实现各种硬件故障的自动诊断和自动显示,需要在OB中调用系统功能SFC13,读取DP从站和模块的诊断数据。用户程序通过分析诊断数据,得出故障诊断的结论。然后调用系统功能SFC17,用报警消息将故障诊断的结论发送给西门子的人机界面或西门子的上位机组态软件WinCC显示出来。报警消息是一种比较理想的故障显示方式,可以显示几乎同时出现的多个故障的消息,每条消息包含了准确的故障信息。

SFC13读取的是很“原始”的数据,DP从站的用户手册给出了诊断数据的数据结构和诊断数据各存储单元的具体意义,它们与从站的型号、订货号、组成从站的模块数量和是否用于冗余系统等均有关系。编程者应了解诊断数据的基本结构,搞清楚每个字、每个字节、甚至每一位的意义,在大量的诊断数据中找出关键的信息,最后得出故障诊断的结论。因为DP从站和从站中的模块往往有多种型号,分析诊断数据的编程工作量非常大。对于S7-300/400的最终用户来说,这一任务几乎是无法完成的。

STEP 7的“报告系统错误”功能只需要进行简单的组态,几乎可以全部采用默认的参数,就能自动生成用于诊断故障和发送报警消息的OB、FB、FC和DB,以及各机架、从站和模块对应的报警消息,故障的消息文本被自动传送到西门子HMI(人机界面)或WinCC的项目中。运行时如果出现故障,CPU将对应的消息编号发送到HMI设备或WinCC,它们用报警消息显示故障信息。

这种诊断方法的组态过程非常简单,诊断和显示用的逻辑块、数据块和调用诊断功能块的程序都是自动生成的,生成的消息几乎覆盖了所有的硬件故障和已组态的诊断事件。运行时读取诊断数据、分析诊断数据和将报警消息发送到HMI或WinCC都是自动完成的。因此这是一种相当理想、极为实用的故障自动诊断和自动显示的方法。

在有条件的情况下,建议将这种方法作为故障自动诊断和自动显示的首选方法。

1.组态PROFIBUS网络和人机界面站点

用STEP 7的“新建项目向导”创建一个名为ReptErDP的项目(见随书光盘中的同名例程)。其硬件结构与项目“DP诊断”相同,CPU为CPU 315-2DP,3~5号DP从站分别为ET 200M、ET 200eco和ET 200S。仅有自动生成的未编写任何程序的OB1。

在SIMATIC管理器中生成一个HMI站点,设置HMI的型号为TP 177B 6’’color PN/DP。

单击STEP 7工具栏上的 978-7-111-53570-6-Chapter07-38.jpg 按钮,打开网络组态工具NetPro。将CPU和HMI站点连接到MPI网络上,它们的站地址分别为2和1(见图7-10)。

2.组态报告系统错误功能

选中硬件组态工具HW Config中的CPU,执行菜单命令“选项”→“报告系统错误”。在打开的“报告系统错误”对话框中,“常规”选项卡给出了要生成的诊断用的FB、FC和DB,在“OB组态”选项卡,按照默认的设置,自动生成选中的OB,在OB1、OB82和OB86中,自动生成调用报告系统错误的FB49的程序(见图7-23左上角的图)。

978-7-111-53570-6-Chapter07-39.jpg

图7-23 组态报告系统错误

如果激活了“STOP模式中的CPU”选项卡中的某个复选框(见图7-23左下角的图),出现对应的错误时,CPU将进入STOP模式。一般不激活此选项卡的所有选项。

在“消息”选项卡(见图7-23的右图),消息的显示等级为0。不要选中复选框“优化消息创建”,否则有的报警消息可能不能发送到HMI。(www.xing528.com)

在“用户块”选项卡,可以指定诊断块是否调用用户编写的逻辑块。

可以基本上采用默认的参数,单击“报告系统错误”对话框中的“生成”按钮,自动地生成大量的块(见图7-24)。FB49调用SFC13来读取DP从站的诊断数据和系统数据,调用SFC17来发送报警消息。在OB1、OB82和OB86中,自动生成下面调用符号名为“SFM_FB”的FB49的指令。

CALL"SFM_FB","SFM_DB"

978-7-111-53570-6-Chapter07-40.jpg

图7-24 SIMATIC管理器

用鼠标右键单击FB49的背景数据块DB49,执行快捷菜单命令“特殊的对象属性”→“消息”,打开“消息组态”对话框(见图7-25),可以看到STEP 7自动生成的大量的类型为ALARM_S的报警消息。

978-7-111-53570-6-Chapter07-41.jpg

图7-25 自动生成的报警消息

3.在STEP7中查看DP从站的故障消息

打开仿真软件S7-PLCSIM,将用户程序和系统数据下载到仿真PLC,将CPU切换到RUN-P模式。在SIMATIC管理器执行菜单命令“PLC”→“CPU消息”,打开“CPU消息”对话框(见图7-26)。该对话框用来检查CPU是否能正常发送故障报警消息。

978-7-111-53570-6-Chapter07-42.jpg

图7-26 在STEP 7中查看故障报警消息

单击复选框“W”,将激活系统诊断消息。单击复选框“A”,将激活ALARM_S消息。

执行PLCSIM的菜单命令“执行”→“触发错误OB”→“机架故障(OB86)”,打开“机架故障OB(86)”对话框(见图7-2的右图)。选中4号从站,用单选框选中“站故障”,单击“应用”按钮,模拟产生4号从站的故障。“CPU消息”对话框出现1号PB系统,4号PB从站故障的消息。“状态”列的“I”表示进入的事件(故障出现)。

选中“机架故障OB(86)”对话框有故障的红色的4号从站,用单选框选中“站恢复”,单击“应用”按钮,模拟4号从站的故障消失。“CPU消息”对话框出现1号PB系统,4号PB从站故障的消息。“状态”列的“O”表示离开的事件(故障消失)。

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

我要反馈