用于工业信息物理系统的前置服务适配和故障诊断装置的制作方法

文档序号:11285218阅读:347来源:国知局
用于工业信息物理系统的前置服务适配和故障诊断装置的制造方法

本发明属于工业信息物理互联技术领域,具体地说,是涉及一种用于工业现场的设备管理和状态监控技术。



背景技术:

在制造企业的信息物理系统(cps)体系结构中,底层现场控制层和中间执行层之间存在数据格式、通信协议等诸多差异。实际生产过程中,工业设备的种类多、数量大,需要根据用户对于不同现场设备与控制系统互联互通的需求,设计支持多种不同的接入方式。例如:底层现场控制层的连接协议主要包括opc、dde、modbus等,而中间执行层多支持odbc、xml等协议。但是,对于目前用于工业现场的前置终端来说,在解决设备通信和协议转换的问题上,通常需要针对特定的底层设备和应用程序设计通信网关,因此通用性差,无法实现一台前置终端对多种底层设备的兼容。

此外,现有的前置终端一般仅可完成端到端的数据采集和协议转换,无法对采集到的数据进行统计分析、模型构建与优化,一般需要将采集到的历史数据上传至后台服务器进行故障类型的比对,因此功能单一,实时性差,无法对工业设备实现实时现场故障排查与预警。



技术实现要素:

本发明的目的在于提供一种用于工业信息物理系统的前置服务适配和故障诊断装置,不仅可以针对不同类型的工业设备实现多协议数据信息的采集与转换,而且可以对工业设备的故障进行实时现场分析和预测,使得前置装置具备了故障自诊断的功能。

为解决上述技术问题,本发明采用以下技术方案予以实现:

一种用于工业信息物理系统的前置服务适配和故障诊断装置,包括端口、采集转换模块、故障诊断模块和服务适配模块;所述端口具有多种类型的接口,用于与不同接口类型的工业设备连接通信;所述采集转换模块根据所述工业设备的接口类型加载与该接口类型相适配的底层协议,以获取所述工业设备的运行状态参数;所述故障诊断模块根据所述工业设备的运行状态参数实时预测工业设备的故障类型,生成故障诊断结果;所述服务适配模块提供标准的web服务接口响应用户的服务请求,根据服务请求和工业设备的指令代码格式动态地加载基于解释语言的驱动脚本,解析出其中的控制指令,并通过所述采集转换模块转换成工业设备可接受的指令格式,发送至所述工业设备,控制所述工业设备的工作状态;所述服务适配模块接收故障诊断模块输出的故障诊断结果,并利用所述的驱动脚本封装成面向标准服务的应答格式,供用户访问

为了实现采集转转模块对不同类型的工业设备和应用程序的适配,本发明在所述采集转换模块中设置有多种类型的底层协议模块和顶层协议模块,所述采集转换模块根据工业设备的接口类型加载与该接口类型相适配的底层协议模块,创建采集线程,以获取工业设备的运行状态参数,并根据用户和上位机应用程序的配置加载相应的顶层协议模块,对采集到的运行状态参数进行协议转换,转换成执行层可识别的服务,完成采集数据到标准服务的适配。

作为所述故障诊断模块的一种优选设计方式,本发明的故障诊断模块对接收到的所述工业设备的状态运行参数进行预处理,利用自动编码器网络提取特征向量,输入至支持向量机(svm)分类器,进行故障类型的匹配,以确定故障诊断结果。

为了获得准确的故障诊断结果,前期需要采用大量的样本数据对自动编码器网络的数学模型进行训练,在对所述自动编码器网络进行模型训练时,可以将样本数据作为x,将所述样本数据的编码作为y,y对应的解码输出作为z,代入公式:

y=s(w1x+b1)

z=s(w2y+b2),

其中,w1和w2分别为权值矩阵,b1和b2分别为偏置值向量;采用随机梯度下降法优化整个深层网络,训练整个深层网络的权值矩阵和偏置值向量,计算出参数(w1、w2、b1、b2)。

进一步的,在训练所述svm分类器模型时,将故障类型数据分类平面惩罚因子和核函数参数分别抽象成n维空间中的微粒群,采用粒子群优化算法对核函数和惩罚因子进行优化,通过迭代逐步搜寻出核函数和惩罚因子的最优值,构建出svm分类器。

为了将面向指令的控制,动态地适配成面向标准服务的访问,本发明设计所述服务适配模块通过脚本编辑器编写服务接口所映射的函数,并动态加载至驱动器,驱动器解析并执行脚本文件内调用的控制指令,实现实时服务适配。

进一步的,所述服务适配模块针对不同的工业设备、工业设备通信所遵循的协议、工业设备的接口类型以及控制指令为用户提供不同的模板,供用户填写相应的指令代码以及程序语言类型,并针对填写后的模板生成不同的标签;所述脚本编辑器对生成的标签进行编辑,编写出xml格式的脚本文件;所述驱动器读取所述脚本文件,并动态加载相应的驱动脚本,解析出脚本文件中的指令数据,发送至所述的采集转换模块,并通过所述采集转换模块转换成工业设备可接受的指令格式,发送至所述工业设备,对所述工业设备的工作状态进行实时控制。

为了便于用户访问,本发明优选采用基于ws协议的访问服务,即,所述服务适配模块接收来自远程服务器或本地上位机发送的符合ws协议的服务请求,并获取工业设备的运行状态参数和故障诊断结果,统一封装为符合ws标准的服务数据,返回所述的远程服务器或本地上位机。

优选的,所述采集转换模块和故障诊断模块优选采用基于x86体系架构进行系统设计。

与现有技术相比,本发明的优点和积极效果是:本发明采用软件和硬件相结合设计前置装置,使工业设备的运行状态数据和控制功能“服务化”。本发明的前置装置可以兼容多种类型的工业设备,采集与其连接的工业设备的运行状态参数,并通过标准的web服务对外提供访问接口,从而屏蔽底层异构通信协议。另外,本发明的前置装置通过对工业设备的历史和实时运行状态数据进行预测分类,可以判定工业设备的故障类型和状态,提供符合web服务标准的预警服务。

结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明所提出的用于工业信息物理系统的前置服务适配和故障诊断装置的一种实施例的总体架构图;

图2是图1中的采集转换模块的一种实施例的插件式架构图;

图3是图1中的故障诊断模块的一种实施例的参数优化及故障预测流程图;

图4是图1中的服务适配模块的一种实施例的架构图;

图5是图4中驱动脚本的动态加载过程图;

图6是本发明所提出的前置装置的一种实施例的具体工作流程图;

图7是运行状态数据和故障类型数据在服务封装前后的一种实施例的数据对比图。

具体实施方式

下面结合附图对本发明的具体实施方式进行详细地描述。

工业设备的运行状态参数变化是故障诊断的可靠依据,但是,实时数据具有不稳定性和不可预测性性,而一般的嵌入式工控设备计算能力有限,无法完成故障模型的构建和实时分类。为此,本实施例基于x86架构设计信息物理系统互联终端(前置装置),用于对工业设备的运行状态参数进行采集、运行故障进行实时分析和预测,并可以有效的调整工业设备的工作状态,不仅使得本实施例的前置装置具备了故障自诊断的功能,而且可以将设备层的数据指令转换成执行层的可识别服务,完成功能和数据到服务的适配,支持用户和应用程序的直接访问。

如图1所示,本实施例的前置终端主要包括端口、采集转换模块、故障诊断模块、服务适配模块等。其中,端口用于连接现场的工业设备,接收工业设备的运行状态参数(例如工业设备的电压、压力、振动等感测数据),并向工业设备输出控制指令,以调整工业设备的工作状态。采集转换模块用于采集并处理工业设备的运行状态参数,一方面传输至故障诊断模块,对工业设备的运行状态进行实时监控和预警;另一方面传输至服务适配模块,实现功能和数据到标准服务的适配,使用户和上位机的应用程序可以通过标准的ws协议(webservice协议)直接访问本实施例的前置装置。此外,所述采集转换模块还可以接收来自故障诊断模块和服务适配模块的控制指令,并转换成工业设备可接受的指令格式,通过所述端口发送至工业设备,对工业设备的工作状态进行实时控制。

下面结合图2-图4对本实施例的前置终端的各主要组成部分的具体设计方式进行详细阐述。

由于在实际生产过程中,工业设备的种类繁多,例如dcs、plc、智能仪表、智能传感器等,而对于不同种类的工业设备来说,其使用的通信接口的类型也不尽相同,例如:有的工业设备使用rs232或rs485串口进行通信,而有的工业设备则使用网口rj45或can总线进行通信。现有的前置终端一般采用针对不同工业设备的接口类型预先编写相应的接口程序并烧写至固件的设计方式,来满足前置终端与工业设备的连接通信要求。这种设计方式虽然实现容易,但是通用性差,一台前置终端一般只能适用于一种接口类型的工业设备,无法实现对不同工业设备的动态配置。

本实施例为解决现有前置终端的上述不足,首先在本实施例的前置装置的端口中设置了多种类型的接口,例如rs232/485接口、rj45接口、光纤接口、can总线接口、zigbee网络接口以及无线接口(wifi/3g/gprs)等,根据所要检测的工业设备的接口类型,在前置装置的端口中选择与之相适配的接口进行连接,以满足不同类型的工业设备与所述前置装置之间的连接通信要求。

其次,本实施例在所述前置装置的采集转换模块中,采用“插件式”接口设计,针对每一种接口类型设计相应的底层协议模块,如tcp/ip模块、opc模块、profibus模块等,供前置装置在运行期间动态加载。采集转换模块根据工业设备的接口类型加载与该接口类型相适配的底层协议模块,创建采集线程,以获取工业设备的运行状态参数,例如工业设备的电压、压力、滚动轴承的振动等数据。然后,采集转换模块根据用户和上位机应用程序的配置加载相应的顶层协议模块,如dcom、corba、odbc等,对采集数据进行协议转换,转换成执行层可识别的服务,从而实现采集数据到标准服务的适配。本实施例优选以ws协议的方式提供标准服务。

本实施例基于x86架构设计采集转换模块,提供多种软硬件接口方式,可按照设定的功能顺序执行接口程序,同时,也可提供对数据库、xml、ftp、纯文本等多种接口模式的直接访问。

此外,通过所述采集转换模块还可以按照符合特定工业设备通信标准的协议格式,将服务适配模块封装的数据转换成工业设备可接受的指令格式,并通过指定的通道和接口发送至工业设备,实现对工业设备的实时控制。

为了使前置装置具备故障诊断功能,本实施例在前置装置中设置故障诊断模块,用于对工业设备的运行状态进行实时监控和故障预警。

本实施例的故障诊断模块基于x86体系架构,可在前置装置内针对不同工业设备的故障类型进行特征提取和模型构建。对工业设备的运行状态参数进行归一化预处理,根据不同的设备故障的配置参数,计算时域和频域特征,构成高维特征空间,通过训练集和测试集,对模型参数寻优并构建分类模型。在实际使用过程中,当采集转换模块采集到的实时数据的变化与某一类故障模型匹配时,给出预警提示。

在模型优化方面,本实施例在深度学习网络、支持向量机分类的基础上,引入粒子群优化算法,用梯度下降法进行参数优化,克服传统方法在svm模型下寻找最优值速度缓慢的问题,获取较既有方法更加准确和实时的设备故障预测结果。

下面结合图3,对本实施例的故障诊断方法进行具体说明,包括以下步骤:

s301、获取工业设备的运行状态数据;

在对本实施例的故障诊断模型进行训练时,通过前置装置中的采集转换模块采集已知故障类型的工业设备的运行状态参数,并转换成运行状态数据,作为样本数据,用于后续模型训练。

当模型训练完成后,将本实施例的前置装置应用于实际工业现场,此时通过采集转换模块采集到的运行状态参数为未知故障类型的工业设备的运行状态数据,以下称原始数据,可以根据这些原始数据,利用已训练好的模型对工业设备进行故障类型的诊断。

s302、对获取到的运行状态数据进行平滑、降噪、时频变换、归一化等预处理;

这里的运行状态数据在模型训练阶段特指样本数据,而在实际使用阶段特指原始数据。

s303、训练自动编码器网络(自动编码器网络是一种有效的深度学习模型,可以用于数据特征的提取),计算目标函数和目标函数的偏导数并采用随机梯度下降法优化整个深层网络,训练整个深层网络的权值矩阵和偏置值向量,并将模型的输出层参数提取为特征向量;

具体来讲,假设输入数据为x(即,x为样本数据),y为样本数据的编码,z为y的解码输出,s为一非线性函数,则y和z可分别表达为:

y=s(w1x+b1)

z=s(w2y+b2),

其中,w1和w2分别为权值矩阵,b1和b2分别为偏置值向量。这样z基本上可以认为是对x重新编码后的预测或者特征抽象。训练自动编码器网络,将前一层自动编码器的输出作为其后一层自动编码器的输入,按照从前向后的顺序执行每一层自动编码器的编码步骤。利用大量的样本数据训练所述自动编码器网络,完成深度神经网络的权重的预设和特征向量提取。通过反复训练,得到一组参数(w1、w2、b1、b2),使得z和x尽量接近,也就是让z成为x的一个好的预测。

此步骤仅在模型训练阶段执行。

s304、利用支持向量机(svm)分类器模型,基于提取出的特征向量,为工业设备的故障类型数据做出最优分类超平面,构建设备故障的模型结构和映射关系;

此步骤仅在模型训练阶段执行。

s305、利用非线性变换的方法将低维样本映射到高维空间,将非线性问题转换为线性问题,再进行最优分类面的求取。为此,引入核函数和惩罚因子。将故障类型数据分类平面惩罚因子和核函数参数分别抽象成n维空间中的微粒群,采用粒子群优化算法对核函数和惩罚因子进行优化,通过迭代逐步搜寻出核函数和惩罚因子的最优值,由此构建出svm分类器。

此步骤仅在模型训练阶段执行。

s306、利用构建出的svm分类器,对待检测的工业设备进行故障诊断,最终获得工业设备的故障预测结果;

此步骤仅在实际使用阶段执行。将原始数据通过步骤s302进行预处理后,作为输入数据x,代入步骤s303中已训练好的自动编码器网络提取特征向量,将提取出的特征向量输入到构建好的svm分类器中,以获得当前工业设备的故障预测结果。对于有故障的工业设备,可以直接获得故障类型。

所述故障诊断模块将生成的故障预测结果发送至服务适配模块,以适配成为面向服务的访问。当检测到工业设备存在故障时,所述故障诊断模块可以生成停机指令,通过采集转换模块处理成工业设备可接受的控制指令,发送至工业设备,控制出现故障的工业设备停机。

本实施例在前置装置中设计服务适配模块,其目的是将面向指令的控制,动态地适配成为面向标准服务的访问。本实施例的服务适配模块为了克服传统的协议转换装置需要预编译/烧写特定设备数据处理程序的弊端,使用户可以通过脚本编辑器编写相应服务接口所映射的函数,并动态加载至驱动器,驱动器负责解析和执行脚本文件内调用的控制指令,完成实时服务适配。

现有的一般工控设备,其协议转换模块通常采用预先编译的驱动程序来完成特定数据格式的处理,这种工控设备的局限性大,需要预先完成对特定设备的数据采集程序的编译。本实施例针对多终端设备的异构特性,采用动态脚本语言实现设备功能到服务的实时映射。

结合图4所示,本实施例的服务适配模块的具体适配方法包括以下步骤:

对于服务→功能的封装:

s401、提供服务接口,接收用户的服务请求;

在用户通过本地上位机或者远程终端访问本实施例的前置装置时,服务适配模块为用户提供服务接口,接收用户输入的服务请求,服务请求中可以包含用于对工业设备的工作状态进行控制的控制指令,以控制与所述前置装置连接通信的工业设备执行开机、关机、加速、减速等动作。

s402、针对不同的工业设备、工业设备通信所遵循的协议、工业设备的接口类型以及控制指令提供不同的模板,并生成不同的标签;

在控制工业设备执行不同的动作时,不同的控制指令所对应的指令代码不同,本实施例的服务适配模块针对不同的控制指令为用户提供不同的模板,供用户填写相应的指令代码(数据)以及程序语言类型,并针对填写后的模板生成不同的标签。

s403、利用脚本编辑器对生成的标签进行编辑,以编写出xml格式的脚本文件。

s404、利用驱动器读取所述脚本文件,并动态加载相应代码(驱动脚本),解析出脚本文件中的指令数据;

本实施例的驱动器基于x86架构实现,支持包括perl、bash、python等多种格式编写的驱动脚本。如图5所示,驱动器调用基于x86架构的perl、bash、python等解释型语言执行引擎构造,每次读入一条语句,并且根据标签所示的程序语言类型,调取并加载与之对应的语言解释器,解析出该条语句所对应的指令数据,通过采集控制模块发送至工业设备。此后,读入下一条语句,依次类推。

s405、将解析出的指令数据发送至采集控制模块,以转换成工业设备可接受的控制指令,并通过指定的通道和接口发送至工业设备,实现对工业设备的实时控制。

针对不同的工业设备,控制指令的格式和顺序均有不同,驱动器通过动态加载基于解释语言的驱动脚本,实现服务与设备功能的映射和实时配置。

对于数据→服务的封装:

对于通过采集转换模块采集并转换输出的工业设备的运行状态数据以及故障诊断模块输出的故障诊断结果,在传输至服务适配模块后,服务适配模块读取当前的驱动脚本,进行数据→服务的封装。本实施例的服务适配模块针对不同的工业设备,获取不同的运行状态数据和故障诊断结果数据,统一封装为符合ws标准的服务应答格式,向用户和应用程序提供直接访问。

下面结合图6,对本实施例的前置装置的具体工作流程进行详细阐述:

①获得服务请求:一般为来自远程服务器或本地上位机发送的符合ws协议的服务请求,可获取xml或json格式封装的状态查询指令,形成驱动脚本;

②格式解析:读取所述的驱动脚本,针对服务请求描述,由驱动器调用相应的解析引擎,生成针对特定工业设备的查询指令;

③获取状态数据:按指定通道获取工业设备的原始数据或运行状态返回值;

④将所获取的工业设备的原始运行状态数据送入故障诊断模块,并获取故障诊断结果;

⑤将所获取的工业设备的原始数据以及故障诊断结果送入服务适配模块,通过再次读取驱动脚本,并调用相应执行引擎,完成原始数据到ws服务数据的封装;

⑥将封装后的包括运行状态数据和故障诊断结构的ws服务(web服务)数据返回远程终端或本地上位机。

作为一个具体的实例,图7示出了一台工业设备的运行状态数据和故障类型的服务封装前后的数据对比。

本发明针对多种工业设备实现多协议数据信息的采集与转发,通过基于x86架构的工业前置适配装置,将设备层的数据指令,转换成执行层可识别的服务(ws),完成功能和数据到服务的适配,从而实现向用户和应用程序提供可直接访问,以及可通过脚本配置的设备管控服务。同时,基于设备运行的历史数据和参数模型,提供设备运行状态的实时监控和预警,使传统的工业设备和控制系统符合现代制造业生产现场的系统架构。

当然,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1