标准的STEP7编程工具提供了用于诊断的强大的在线功能,本小节将详细介绍怎样用这些诊断功能来诊断PROFIBUS-DP,这些诊断功能也可以用于PROFINET。
1.诊断符号
在SIMATIC管理器中,打开在线窗口,能查看所有模块和DP从站上的诊断符号。诊断符号用来形象直观地表示模块的运行模式和模块的故障状态,见表11-11。可以通过观察诊断符号来判断一个模块是否有诊断信息。
表11-11 诊断符号
(续)
诊断符号可显示在项目在线窗口中,以及当调用“Diagnose Hardware(诊断硬件)”功能时显示在快速视窗(默认设置)或诊断视窗中。更详细的诊断信息显示在“Module Information(模块信息)”应用程序中,可以通过双击快速视窗或诊断视窗中的诊断符号起动该应用程序。
2.故障诊断过程
故障诊断过程如图11-4所示。主要包括如下步骤:
图11-4 使用STEP7故障诊断过程
1)用菜单命令“View”→“Online”,打开项目的在线窗口。
2)打开所有的站,以便看到其中组态的可编程模块。
3)查看哪个CPU显示指示错误或故障诊断符号。可以使用<F1>键调用对诊断符号进行解释的在线帮助。
4)选择要检查的站。
5)选择菜单命令“PLC”→“Diagnostics/Settings”→“Module Information”,显示该站中CPU的模块信息。
6)选择菜单命令“PLC”→“Diagnostics/Settings”→“Diagnose Hardware”,显示CPU的“quick view(快速视窗)”及本站中有故障的模块。快速视窗的显示被设作默认设置(菜单命令“Option”→“Customize”,“View”标签)。
7)在快速视窗中选择故障模块。
8)单击“Module Information(模块信息)”按钮,以获得该模块的诊断信息。
9)单击快速视窗中的“Open Station Online”按钮可显示诊断视窗。诊断视窗中包含了该站中按插槽顺序排列的所有模块。
10)双击诊断视窗中的模块以显示其模块信息。用这种方式,还可以得到那些没有故障因而没有显示在快速视窗中的模块信息。
没有必要执行上述全部的步骤,当得到所需的诊断信息后就可以停止诊断工作。
3.使用SIMATICManager可访问节点和在线功能进行诊断
为了检查DP从站的PROFIBUS地址(或者IO设备的PROFINET地址)是否有重叠,或者怀疑网络中的电缆连接有故障,可以使用“可访问节点”功能。
在使用在线诊断之前,应让PG/PC(编程器/计算机)接口设置的波特率与网络的波特率一致。当此功能起动时,PG/PC的在线接口成为总线中的被动站点,并检查通信接口的波特率设置与网络的波特率设置是否一致,总线的地址是否被重复使用。满足上述条件后,PG/PC才可以作为主动的总线站点被包含在令牌环中。
将计算机的CP卡设置(如CP5611)为PROBUS(或者PROFINET)方式,用DP电缆(或者PROFINET电缆)连接通信卡上的DP/MPI接口(或者PN接口)和CPU的DP(或PN)接口。
在SIMATIC Manager中起动诊断功能。选择菜单栏的“PLC”→“Display Accessible Nodes”。弹出的对话框显示了网络中能够寻址的所有可编程模块(例如CPU、FM和CP等),显示内容包括站地址、站点类型(主动或者被动)、状态等。
同样,用通信硬件和电缆连接计算机和PLC建立通信后,单击SIMATIC Manager工具栏上的ONLINE图标,将打开在线视图。展开列表后可以从诊断符号看出设备是否存在故障。
4.硬件诊断
硬件诊断可以在线访问硬件站并且给出关于模块的状态或操作模式的信息,不仅可以看到模块的诊断信息,而且可以看到诊断符号指示模块的状态或CPU的操作模式。双击该符号时,进一步信息的窗口会弹出。在使用硬件诊断功能之前,先要定义该功能的显示方式。单击SIMATIC Manager的“Options”菜单,选中“Customize”,弹出Customize界面,选中“View”菜单,点选“Display quick view during hardware diagnostics”选项,它表示替代完全“Diagnosing Hardware”显示而只显示有故障的模块,如图11-5所示。然后调用硬件诊断功能,在SIMATIC Manager界面中,选择菜单“PLC”→“Diagnostic/Setting”→“Hardware Diagnostics”,或者在Block编辑界面中,单击鼠标右键选择“PLC”→“Module Informa-tion”,如图11-6所示。(www.xing528.com)
图11-5 硬件诊断的设置
图11-6 硬件诊断界面
5.模块信息
西门子S7-300CPU的模块信息包括诊断缓冲区、中断堆栈、块堆栈、局域堆栈等资源。在STEP 7中打开模块信息有三种方法。
1)通过SIMATIC Manager打开。在SIMATIC Manager界面中,选择菜单“PLC”→“Diagnostic/Setting”→“Module Information”或在Block编辑界面中单击鼠标右键选择“PLC”→“Module Information”即可打开模块信息。
2)通过STL/LAD/FBD编辑器打开。在STL/LAD/FBD编辑器界面中,选择菜单“PLC”→“Module Information”即可打开模块信息。
3)通过HW Config打开。在HW Config界面中,选中CPU项,再选择菜单“PLC”→“Module Information”即可打开模块信息。
一般地,通过模块信息能诊断出的常见故障见表11-12。
表11-12 通过模块信息诊断出的常见故障表
通过诊断缓冲区和堆栈这两个功能可得到相关的诊断信息。
(1)诊断缓冲区
诊断缓冲区(Diagnostic Buffer)是一个FIFO(先入先出)缓冲器,它是CPU中一个用电池支持的区域。诊断缓冲区中按先后顺序存储着所有可用于系统诊断的事件,存储器复位时也不会被删除。所有的事件可在编程装置上按它们发生的顺序以文本形式显示。选中一个事件后,在“Details on Event”信息框中可以看到关于该事件的详细说明:
1)事件ID(代号)和事件号。
2)块类型和号码。
3)其他信息,如导致该事件的指令的相对STL行地址。
4)事件帮助,单击“Help on Event”按钮,可打开事件帮助信息窗口,并提示排除方法。
5)打开错误块,单击“Open Block”按钮,即可打开错误所在的块。
(2)堆栈
读取堆栈(I Stack、B Stack、L Stack)的内容可以获得关于错误位置的附加信息。通过它可以知道CPU停机前累加器中的内容。下面分析CPU停机前具体包含的信息。
块堆栈(B Stack)中包含了在停机之前执行过的所有块的清单;中断堆栈(I Stack)中包含了在中断发生时刻寄存器中的内容,例如累加器和地址寄存器的内容、哪些数据块被打开、状态字的内容、程序执行的级别(例如循环程序)、发生中断的块及具体的指令位置、将要执行的下一个块等;局域堆栈(L Stack)中包含了临时变量的值,分析这些数据需要有一定的经验。
在进行故障诊断时,单击模块信息上的“Stack”,打开堆栈诊断信息界面,如图11-7所示,首先看到的是块堆栈的诊断信息,块堆栈(B Stack)用图解方式表明了程序调用的层次,即在中断时刻被调用块的顺序和嵌套情况。块堆栈中包含了所有的过程中断OB和错误处理OB以及打开的数据块。
图11-7 块堆栈诊断信息
图11-7中黑色框内提示的是块堆栈(B Stack)诊断的信息,从中可以看出在发生错误之前曾执行过的块。最后一次执行的是FC14,则说明错误出现在FC14中。
中断堆栈(I Stack)用来指示程序执行的级别。打开中断堆栈之前,必须选中块堆栈中相关的组织块。然后通过单击“I Stack”中断堆栈,查看中断堆栈中的累加器、寄存器的信息,及打开出现错误的块。
局域堆栈(L Stack)诊断中包含临时变量的值,在中断发生的时刻,未结束的块的临时变量被存储在局域堆栈(L Stack)中。
除了通过中断堆栈打开含有错误的块之外,还可以通过在块堆栈界面打开错误的块。选中最后一次执行的块FC14,然后单击“Open Block”即可。定位错误之后对其进行改正即可排除故障。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。