基于工业以太网和PROFIBUS的FCS实时在线故障诊断系统
1.3 从站诊断
1.3.1 与从站诊断有关的中断组织块
当DP从站出现部分节点故障、信号模块导线断开、I/O通道的短路或过载、模拟量模块的电源故障等故障时,CPU的操作系统将在故障产生和消失时,分别调用一次诊断中断组织块OB82;当机架、DP主站系统或分布式I/O由于掉电、总线导线断开、I/O系统等原因发生故障时,CPU的操作系统将在故障出现和消失时,分别调用一次机架故障或分布式I/O的站故障中断组织块OB86;如果I/O访问错误中断,如CPU访问有故障的I/O模块、不存在的或有故障的DP从站的PI/PQ输入输出数据,或访问了一个CPU不能识别的I/O地址,那么CPU的操作系统将在每一个扫描周期调用一次OB122。下位机程序把每个中断组织块局部变量中的诊断数据存储到数据块,为上位机软件从站诊断提供诊断数据。
1.3.2 FBl25诊断功能块
FB125功能块是西门子公司提供的一个驱动中断功能块,可在OB1、OB82、OB86中直接调用,并存储诊断数据信息。诊断数据块中包含所有站的诊断信息,通过上位机分析可得到从站的组态、从站丢失等故障信息,以及故障从站的诊断报文,部分模块还可以得到故障通道的具体诊断信息。
1.3.3 诊断报文
PROFIBUS提供了一个方便的、功能强大的诊断信息报文,不但在上电起始阶段主站会自动进行诊断请求,而且每当从站出现异常时,任何一个主站都可以向任何一个从站发送诊断请求,故障从站向主站发送诊断响应报文。上位机通过分析诊断报文,就可以对故障从站的故障状态进行深入分析。
1.4 底层诊断
底层诊断主要完成对现场通信总线所引起故障的诊断。在底层网络中挂接诊断中继器,作为从站在设备运行期间提供来自PROFIBUS底层的诊断数据,并与主站交换诊断信息。下位机软件把诊断数据存储到数据块;而上位机则主要通过组态形象的诊断画面,表征出电缆破裂、电路短路、终端电阻丢失、单个总线网段中有两个或更多的诊断回路、总线网段中有太多的节点、节点距离诊断中继器太远等故障原因及准确位置。
2 诊断系统设计
图2 诊断系统故障诊断流程图
系统主要由硬件系统和软件系统两部分构成,硬件系统由基于工业以太网的多个PROFIBUS网络组成。目前国内大中型PROFIBUS系统主要采用西门子公司的大中型PLC作为系统主站,所以下位机软件采用西门子公司的STEP7,完成底层硬件组态及数据采集的任务。鉴于PROFIBUS与WinCC良好的融合性,上位机软件选用西门子组态软件WinCC作为设计平台。诊断系统故障诊断流程图如图2所示。
2.1 下位机软件数据采集系统
在控制系统硬件的基础上,对系统稳定运行影响比较大的网段挂接诊断中继器,以完成对该网段的底层故障的准确定位。参照诊断层次的划分,下位机软件系统主要负责对诊断数据的采集、判断、整合和存储,并把诊断数据存储到定义好的DB块。
2.2 上位机软件组态画面设计
上位机软件主要是编写后台数据处理程序,实现对诊断数据的分析处理,并在组态画面上准确、有效、形象的显示诊断结果,在完成直观画面显示的同时又能实现系统的所有功能。整个上位机软件结构如图3所示。
图3 上位机软件系统结构图
2.3 上位机软件数据表征方法
上位机软件系统需要编写有效的判断程序和设计丰富的诊断画面,才能对海量的诊断数据进行形象化的显示,因此就需要研究一套诊断数据的表征方法,其实现过程的关键环节大致分为变量赋值和画面设计两部分。
变量赋值表征方法关键点:首先是创建结构类型的变量,避免由于重复性的变量连接,而极大降低系统开发设计后程序的运行效率;二是把诊断数据命名为有具体意义的变量名称,例如:LED_run_1,代表模块RUN指示灯的第一个字的判断数据。三是编写高效的VBS脚本程序,实现外部变量到内部变量的赋值,把大量诊断数据缓存以避免数据丢失,并能适应画面处理速度的需要,同时循环执行函数的赋值语句,使内部变量实时刷新显示外部的变量值。故障从站详细诊断数据赋值内部变量的实例如图4所示,通过程序判断诊断数据,确定主站地址和从站地址,再把具体的诊断信息保存到相应的内部变量。例如6号主站带的72号从站故障类型判断结果,会保存在M6S72.ERROR_TYPE内部变量。
图4 从站详细诊断信息变量赋值举例
画面设计表征方法关键点:画面设计主要是针对数据表征需要,对图标颜色变化、闪烁频率变化、数据与文字显示组合等信息进行充分的综合运用,同时运用恰当的Photoshop位图,以使画面美观。
评论