基于Web的故障诊断技术的实现 |
摘 要:介绍基于Web的故障诊断系统的结构及其故障诊断方法,并利用ASP和MATLAB技术实现在线诊断的方法,利用LabVIEW的DataSocket技术实现网络诊断的方法,以及如何用VisualC++设计COM组件实现基于Web的故障诊断方法。最后对三种网络故障诊断方法进行了比较。 关键词:故障诊断;组件;MATLAB;LabVIEW 随着Internet技术与Web技术的迅速发展,建立开放式、可扩展的远程故障诊断系统成为现实,它是Internet技术、通信技术与机械设备故障诊断技术相结合而发展的产物。随着Internet的日益普及,机电设备监测诊断模式正经历着新的革命。经过单机封闭式监测诊断系统到基于工业局域网的分布式监测诊断系统(DMDS)之后,基于广域网的远程故障诊断系统的研究和应用受到广泛的关注。 基于Web的远程在线故障诊断系统的结构 远程故障诊断系统采用的技术比较多,国内外在这一领域的研究也日益深入,在研究方案选择上有多种的思路。本系统采用B/S结构搭建,诊断服务器端实现了MATLAB诊断技术、LABVIEW诊断技术及COM诊断组件技术的融合,进行了一些新的探索。远程故障诊断系统结构,如图1所示。 图1 监测诊断系统结构 诊断过程 基于Web的远程故障诊断系统进行故障诊断的过程如下:设备运行现场的数据采集系统,根据设备运行特点,利用传感器在线获取设备运行的振动、温度、电流、电压等状态信息。同时,计算机监测系统对采集回来的信号进行实时处理,显示各种信号的数值和图表,判断设备是否正常运行。一旦出现异常情况,立即发出警报信号。此时,用户只需打开Web浏览器,输入故障诊断中武汉科技大学学报(自然科学版)2005年第4期心的URL地址,就可以访问到故障诊断中心服务器。该站点向用户提供Web页面指导,用户交互输入待诊断的有关观测数据,选择相关的诊断方法,提交后发送到Web服务器。Web服务器接着执行某一ASP程序,对用户请求进行处理,调用故障诊断服务器上的故障诊断组件,对数据进行诊断分析,并将处理结果以网页形式由Web服务器返回给客户浏览器,用户即可在浏览器上看到诊断结果。系统结构如图1所示。 关键技术 基于Web的故障诊断,主要是利用动态网页技术编制交互性较强的网页,由远程客户浏览器启动,实现对设备的诊断。本文主要介绍其中的关键软件实现技术:数据库访问技术、故障诊断组件的编制技术及其在网页中的调用技术。 数据库访问技术 <% 故障诊断组件的编制及其在网页中的调用技术 MATLAB诊断技术 图2 用Matlab进行小波分析 functionwavelet(J,K,CH,FS,FILENAME,SCALE,OFFSET) LabVIEW诊断技术 在LabVIEW下设计虚拟仪器,用不同的仪器来显示速度、位移、功率等值。在浏览器中,用户可以获取系统设置和当前的运行状态,而且系统工作状态可以实现共享。GWebServer可以将LabVIEW环境下设计的虚拟仪器前面板发布到Intranet或Internet上,远程用户可以通过浏览器使用现场运行的虚拟仪器。利用GWebServer并结合LABIEW提供的CGIVis和CGIAnimations编程工具,在浏览器中就可实现启动、停止、参数传递、密码保护等用户交换功能。 LabVIEW采用DataSocket技术解决网络编程问题。DataSocket是NI公司提供的一种基于TCP/IP协议的网络编程新技术。它支持本地文件I/O操作、FTP和HTTP文件传输、实时数据共享,并提供通用的API编程接口。它包括两部分,即DataSocketAPI和DataSocketServer,前者提供统一的编程接口,作为客户,可以在多种编程环境下与多种数据类型通信。NI分别提供了DataSocket的ActiveX控件、LABWindows/CVIC库、一系列的LabVIEW的Vis,所以可以在任何编程环境下使用。本课题使用ActiveX控件形式,通过DataSocketServer,借助DataSocketAPI程序发布,并以很高的速度广播实时数据到多个远程客户端。并且将DataSocketActiveX控件进一步封装,实现具有一定功能的ActiveX控件并集成到Web页面上,同时将现场数据发布到DataSocketServer上。这样,用户通过浏览器就可以访问该Web页面。用此方法实现的滤波如图3所示。 COM组件诊断技术 ![]() 图3 用LabVIEW进行滤波 ATL提供了生成ActiveX控件的小型精致框架。这种框架可以方便地建立小型的、快速的、基于COM的组件。ATL的使用给软件开发人员在实现组件的时候带来了更大的灵活性,可以不依赖于任何辅助的DLL文件。ATL是开发ActiveX的充满活力的平台,它将在不断地发展过程中,逐渐成为开发ActiveX组件的主流工具。但是MFC的长处正是它的短处,也就是它缺乏对通用类和工具的支持。 在VC++6.0开发平台中通过“ATLCOMAppWizard”建立ATL工程,并插入NewATL0bject,完成对象的属性设置,点击Next,在Name表项的shortname中输人控件名称Drboxt,这时可以看到在其他各栏中wizard自动生成了各项的名称,这些名称可以修改,单击确定。这时打开ClassView,将会发现增加了一个类CDrboxt和一个接口IDrboxt,这是为新建的控件准备的。该控件的属性和方法的声明,就加在接口的声明中,而把其实现加在新增加的类中。接口的声明在一个idl(InterfaceDefineLanguage)文件中。由于要在网络中使用此控件,所以必须对其安全性进行设置。在此采用IObjectSafety将控件标记为初始化/脚本安全。CDrboxt类的定义如图4所示。 classATL_NO_VTABLECDrboxt: 图4 COM组件实现绘波 三种诊断技术的比较 以上三种实现基于Web的故障诊断软件技术各有如下特点: (1)MATLAB语言易学易用,不要求用户有高深的数学和程序语言知识,不需要用户深刻了解算法及编程技巧。MATLAB既是一种编程环境,又是一种程序设计语言。这种语言与C,FORTRAN等语言一样,有其内定的规则,但MATLAB的规则更接近数学表示,使用更为简便,可使用户大 大节约设计时间,提高设计质量。应用MATLAB技术不需开发专门的软件,它本身就带有大量的信号处理工具,直接调用就行,大大降低了对使用者的数学基础和计算机语言知识的要求,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,其成本较低。 (2)虚拟仪器技术的好处有:不需开发专门的客户端软件,开放性好,用户随时可以加入;服务器端不需编写专门的网关处理程序,可以直接用该工具包的VI实现;原有的LABVIEW应用可以提升到网络环境,通过FTP,SMTP自动传输数据和信息,便于远程进一步分析。虚拟仪器不但功能多样、测量准确,而且界面友好、操作简易,维护费用低廉。与其他设备集成方便灵活,还有可以扩展的功能。 (3)COM组件技术需要自己编写程序,开发及调试困难,技术难度较高,对开发人员有一定的要求,开发成本也较另外两种方法高。但是升级、修改组件不需修改页面,因此扩展性好,而且开发出来后,组件调用方便,节省代码,运行效率高,便于使用和管理。另外,编译之后的组件以二进制的形式发布,可跨Windows平台使用,而且源程序代码不会外泄,有效地保证了组件开发者的版权。 结语 本课题实现了ASP和MATLAB技术在线诊断的方法,LabVIEW的DataSocket技术实现网络诊断的方法,以及如何用VisualC++设计COM组件实现基于Web的故障诊断方法,并将三者融合与一体,在向用户提供多种诊断方法方面进行了探索。 |