本书介绍的用STEP 7诊断故障的方法,是建立在控制系统的STEP 7项目文件的基础上的,它是进行故障诊断的必要条件。必须保证下载到CPU的项目文件与计算机巾用STEP 7打开的项目文件完全相同,才能对控制系统进行监控和故障诊断。
可以通过仿真实验,来学习诊断PROFIBUS-DP网络故障的方法。
1.用仿真软件模拟产生DP从站的故障
生成一个名为“DP诊断”的项目(见随书光盘中的同名例程),DP主站为CPU 315-2DP,3-5号DP从站分别为ET 200M、ET 200eco和ET 200S。其硬件结构与实训三十六中的相同。
单击工具栏上的 按钮,对组态信息进行编译。打开PLCSIM,下载系统数据和OB1。将仿真PLC切换到RUN-P模式。
执行PLCSIM的菜单命令“执行”→“触发错误OB”→“机架故障(OB86)”,打开“机架故障OB(86)”对话框(见图8-2的右图)。在“DP故障”选项卡,组态的3~5号DP从站为绿色。单击3号从站(ET 200M)对应的小方框,方框内出现“×”。用单选框选中“站故障”,单击“应用”按钮。3号站对应的小方框中的“×”消失,小方框变为红色,表示3号站出现故障。
单击“确定”按钮,将执行与单击“应用”按钮同样的操作,同时关闭对话框。
图8-2 模拟DP从站故障
出现DP从站故障时,CPU视图对象上的红色SF(系统故障)LED亮,DP(总线故障)LED闪烁。CPU请求调用OB86,如果没有生成和卜载OB86,CPU自动切换到STOP 模式,RUN LED熄灭,STOP LED亮。在做硬件实验时,如果关闭DP从站的电源,或者拔掉从站的通信电缆连接器,可以观察到相同的现象。
选中有故障的红色的3号站,小方框内出现“×”(见图8-2)。用单选框选中“站恢复”,单击“应用”按钮。3号站对应的小方框中的“×”消失,小方框变为绿色,表示3号站故障消失。
生成一个空的OB86,下载到CPU。出现DP从站故障时,CPU不会切换到STOP模式。故障消失后,CPU视图对象中的SF和DP LED熄灭。
用单选框选中图8-2中的“DP主站系统故障”,模拟DP网络的故障。单击“应用”按钮,网络上所有的站对应的小方框同时变为红色。用单选框选中“站恢复(全部)”,单击“应用”按钮,网络上所有的站对应的小方框同时变为绿色,网络故障消失。
2.用变量表监视调用故障处理中断组织块的次数
在OB86中编写下面的程序,每次调用OB86时将MW14加1。
生成OB82、OB85和OB122,在这些OB里编写类似的程序,分别将MW10、MW12和MW16加1。
在SITATIC管理器中生成一个变量表VAT_1,用MW10~MW16分别监视CPU调用OB82、OB85、OB86和OB122的次数(见图8-3)。将程序下载到仿真PLC,打开变量表,单击工具栏上的 按钮,启动监控功能。可以看到在某个从站出现故障和故障消失时,MW14的值均加1。表示CPU分别调用了一次OB86。
图8-3 监控中断次数的变量表
在CPU的属性对话框中改变I/O访问错误时调用OB85的方式(见图8-1),将修改后的组态信息下载到CPU。仿真实验表明,在DP从站出现故障时,可以分别用图8-1中的3种方式调用OB85。
在OB1中输入用PI、PQ地址访问3号从站的指令,例如“L PIW2”,然后下载到CPU。3号从站出现故障时,可以看到每个扫描周期都要调用一次OB122,变量表中MW16的值不断地增大。
3.用硬件诊断对话框诊断故障
在3号从站有故障时,选中SIMATIC管理器左边窗口的300站点,执行菜单命令“PLC”→“诊断/设置”→“硬件诊断”,打开“硬件诊断-快速查看”对话框(见图8-4)。以后将它简称为“硬件诊断”对话框。
“CPU/故障模块”列表给出了在线连接的CPU和有故障的DP从站的诊断符号和参数,例如模块的类型,机架号(R)和插槽号(S)。DP列中的“1(3)”表示有故障的是编号为1的PROFIBUS主站系统中的3号从站。PN列提供PROFINET IO系统的编号和设备号。图中的“E”是德语Eingang(输入)的缩写。E2046(即I2046)是3号从站的诊断地址,可以在硬件组态视图的3号从站的属性对话框中找到它。
图8-4 “硬件诊断”对话框
单击“帮助”按钮,或按计算机的〈F1〉键,打开硬件诊断对话框的在线帮助。单击其中绿色的“诊断符号”,再双击“CPU的更多状态”和“DP从站的更多状态”,可以查看CPU和DP从站的诊断符号的意义。
图8-4的CPU上的符号表示它处于RUN模式。DP从站上的红色斜线表示“缺少DP从站或实际安装的DP从站类型与组态的DP从站类型不一致”,一般是因为与DP从站的通信中断造成的。
4.用模块信息诊断故障从站
双击硬件诊断对话框中的DP从站,打开3号从站(ET 200M)的接口模块IM 153-1的模块信息对话框(见图8-5),可以看到DP从站更多的故障信息。
图8-5 ET 200M接口模块的模块信息
硬件DP从站出现故障时,从它的模块信息可以获取比仿真实验更多的故障信息,硬件实验时单击“十六进制格式”按钮,可以得到该从站的十六进制的故障诊断数据。
5.用CPU的诊断缓冲区诊断故障
CPU的诊断缓冲区提供了准确详细的故障诊断信息。选中硬件诊断对话框中的CPU,单击“模块信息”按钮(见图8-4),或双击CPU,打开CPU的“模块信息”对话框。在SIMATIC管理器中,选中要诊断的站点,执行菜单命令“PLC”→“诊断/设置”→“模块信息”,也可以打开CPU的模块信息对话框。(www.xing528.com)
CPU模块信息对话框的“诊断缓冲区”选项卡提供了故障和事件的信息(见图8-6)。查看“诊断缓冲区”选项卡中的事件列表和选中的事件的详细信息,可以找到有关的故障信息,以及使CPU进入STOP模式的原因。事件按照它们发生的先后次序储存在事件列表中。1号事件是最后出现的最新的事件。CPU进入STOP模式时,诊断缓冲区的内容仍然保留不变。
图8-6 诊断缓冲区
每条事件均有日期和时间信息。为了便于分析故障,应定期校准CPU的实时时钟。图8-6的事件列表中的6号事件“分布式I/O:站故障”表示出现了DP从站故障。
选中事件列表中的6号事件,下面灰色背景的“关于事件的详细资料”窗口显示出该事件的详细信息。图8-6右边的小图是6号事件“关于事件的详细信息”的下半部分。“进入的事件”是指事件刚发生。
选中图8-6的事件列表的5号事件“分布式I/O:站返回”,故障的详细信息与6号事件的基本上相同。最后一行是“外部错误,离开的事件”(事件消失)。
事件4表示出现了主站系统故障。主站系统的故障恢复时,CPU对每个从站分别调用一次OB86,对应于图8-6中的1~3号事件“分布式I/O:站返回”。
选中事件列表中的某个事件,单击“事件帮助”按钮,可以获得进一步的帮助信息。如果故障与用户程序有关,单击“打开块”按钮,将打开与所选事件有关的块,光标将指出与故障有关的指令。
图8-6是没有调用OB85和OB122的诊断缓冲区。如果出现故障时CPU每个扫描周期调用一次OB85或OB122,事件列表将被调用它们的事件充满,可能看不到调用OB86的事件。
单击图8-6中的“另存为”按钮,将当时的诊断缓冲区中各事件的详细信息保存为一个文本文件,用户可以用电子邮件将它发送给设备的生产厂家。
使用STEP 7诊断故障的方法简便易行,可以迅速地获取准确、详细的诊断信息,CPU模块信息的诊断缓冲区提供了错误的文本信息,例如出错的DP站地址、出错的模块的地址和故障的详细信息。应将这种诊断方法作为故障诊断的首选。但是为此需要使用安装了STEP 7的计算机,配备与PLC通信的硬件,并且有下载到CPU中的项目文件。此外还要求使用者掌握用STEP 7进行故障诊断的操作方法。如果没有加密,可以通过上传(见6.2.4节)获得项目文件。
6.CPU模块信息的其他功能
“存储器”选项卡给出了CPU的工作存储器和装载存储器当前的使用情况。
“扫描循环时间”选项卡给出了CPU的最短、最长和当前/上一次扫描循环时间。
“时间系统”选项卡显示当前日期、时间、运行的小时数以及时钟同步的信息。
“性能数据”选项卡给出了对应的硬件CPU可以使用的I、Q、M、T、C、L存储区的大小,可用的OB、SFB和SFC的编号,FB、FC、DB的最大个数和每个的最大字节数等资源的信息。“通讯”选项卡给出了模块的通信接口的传输速率和连接资源等信息。
“堆栈”选项卡只能在STOP模式或HOLD(保持)模式下使用,显示所选站点的各种堆栈。8.5节给出了查看堆栈信息的实例。
在模块信息窗口各选项卡的上面有附加的信息,例如CPU的工作模式和模块的状态。切换模块信息对话框的选项卡时,从模块中读取数据。但是显示某一选项卡时其内容不再刷新。单击“更新”按钮,可以在不改变选项卡的情况下从模块读取新的数据。
7.OB86的程序设计
出现DP站故障时,CPU将会自动调用OB86。在OB86中用MW14记录CPU调用OB86的次数。OB86的20B局部变量有丰富的故障信息。生成数据块DB86,在DB86中生成有5个双字元素的数组ARAY。在OB86中调用SFC20“BLKMOV”,将20B局部变量保存到数组ARAY中。下面是OB86中的程序。
在3号从站有故障时,打开DB86。单击工具栏上的 按钮,启动监控功能。图8-7是DB86保存的OB86的20B局部数据。
图8-7 OB86的局部数据
8.OB86的局部变量分析
选中SIMATIC管理器中的OB86,按计算机键盘的〈F1〉键,打开OB86的在线帮助,可以查阅图8-7 中OB86局部变量的意义:
1)DB86的DBB0为16#39表示故障已出现,为16#38表示故障已消失。
2)DBB1中的故障代码16#C3和16#C4分别表示分布式I/O设备的DP主站系统故障和DP站故障。
3)DBB2中的中断优先级为16#1A(26),DBB3中的OB编号为16#56(86)。
4)DBW4保留未用。
5)DBW6的#07FF(2047)是DP主站的DP接口的诊断地址。可以在CPU的DP接口属性对话框的“地址”选项卡中找到它。
6)DBD8是数据类型为32个位元素的数组(Array),一共占4B。如果故障代码为16#C4(DP站故障),DBW8中的16#07FE(2046)是故障从站(3号站)的诊断地址。DBW10中的16#0103表示DP主站系统的编号为1,从站的站地址为3。
7)DBD12和DBD16是调用OB的日期和时间。16#14112005和16#36067965表示事件发生在2014年11月20日5点36分6秒796毫秒,星期4。
3号从站故障消失时,CPU又调用一次OB86,MW14加1。OB86的局部变量的前12B与3号从站有故障出现时基本上相同,其区别仅在于第一个字节为16#38,表示离开的事件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。