|
基于SOA的设备诊断和预测系统的实现随着IT技术的发展,为解决异构性、互操作性以及软件系统不断改变的要求所带来的系列问题,面向服务架构(Service-Oriented Architecture, SOA)的研究已逐年深入并获得应用,将SOA及其相关技术引入机械设备的状态监测与故障诊断系统应用开发领域都具有重要意义。 为便于对业务进行访问,将基础业务层主要分为4种业务服务总线:权限验证,数据访问,诊断分析和文档报表服务。每个业务服务总线都是由若干个细粒度的服务集成的,因此,每个业务服务总线都包含了多个面向消费者的、独立于底层组件的粗粒度服务。这样做的好处在于有利于实现独立于组件的业务,当需求变化时只需要调整服务而不用修改底层细粒度服务。利用业务服务总线更具有实际意义的是:能够支持跨平台的不同服务组件之间的基本交互,还将异构平台间的基础结构功能整合为一体。 2 基于SOA的设备诊断和预测系统的实现 2.1远程数据采集 数据采集是系统的主要信息来源,一般情况下,数据采集位于工业现场,距离企业监测中心比较远。因此,为便于对数据采集系统进行操作,用WCF技术实现对采集系统的远程监控,企业工程师可以在监测中心非常容易地实现远程启动、停止采集和实时获取等功能。由于是基于面向服务的,因此客户端可通过配置服务的绑定(Binding),实现安全可靠的消息传输,以达到对数据采集子系统进行管理的目的。这也是SOA技术在远程故障诊断系统中的应用之一。 基于WCF的数据采集,它是作为服务的提供者存在的,它将与数据采集相关的服务发布出来由监控端进行调用,从而达到监视实时数据、控制数据采集系统的目的。如果每台数据采集系统都将其服务发布到企业网内,可以通过一台监控机完成对多台数据采集机器监控,有利于管理,从企业级设备监测和故障诊断系统的架构上看,好处在于将数据采集程序(数据层)的各个逻辑功能以服务的形式发布,完全符合SOA的概念,有利于整个系统的扩展和伸缩性。 2.2 故障诊断和趋势预测 近年来,设备维护逐渐从事后维护到预防性维护,一直转变到现在的状态维护。状态维护主要侧重于设备的智能诊断和趋势预测,能够在事发之前给维护人员提供可靠的维护依据,制定维修计划,这样可以避免意外停机,减少停机次数,提高生产效率,减小维修成本。 基于上述特点,设备监测需要不间断进行并且能够给出设备的状态变化情况及运行趋势。关于故障诊断方面的系统应用很多,这里不再赘述,本系统采用多种模型对设备的运行趋势进行预测,并结合监测指标的报警阈值,对设备的剩余寿命进行估算,本系统中采用的预测算法主要包括支持向量机(Support VectorMachine, SVM)[6]和神经网络(neural network)[7]等。下面给出用WCF技术实现SVM预测模型的具体方法。 2.2.1 SVM服务的发布 系统的开发是基于Visual Studio.Net 2005,首先定义WCF协议,协议里包括输入输出参数。在SVM服务中,需要设置2个函数:训练SVM和基于SVM的状态预测,因此,[OperationContract]可以创建为 [0perationContract] void VsnSVM—Train(。); void VsnSVM—Predict(。); 然后建立服务,通过添加引用将SVM算法的DLL文件加载到服务中,服务中需定义与协议中制定的形式相同的服务函数,在函数中调用DLL实现算法。由于在WCF技术中,服务是以类的形式建立的,因此需要建立宿主来承载服务,用以控制其启动与关闭。WCF支持的宿主类型有很多,这里用IIS承载的方式把服务进行发布。 在Host端,需要对端点进行配置来确保服务的唯一性以方便客户端调用,因此,需要定义地址(Address)、合同(Contract)和绑定(Binding)。主要配置如下: 服务的相关信息注册在统一描述、发现和集成协议(Universal Description,Discovery,and Integration,UDDI)注册服务器上。客户端或者用户可以在服务器上找到这些服务进行调用。一般情况下,服务器提供服务描述和服务的相关参数,用户可以通过Web服务器描述语言(Web ServiceDescription Language,WSDL)和XML Schema定义(XSD)获得服务描述。 责编:孙雨露 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
推荐博客 |
|