基于LabVIEW的FPSO原油外输设备智能诊断系统设计与实现

2019-10-23 03:44
船海工程 2019年5期
关键词:诊断系统故障诊断远程

(中海石油(中国)有限公司 秦皇岛32-6/渤中作业公司,天津 300459)

浮式生产储油卸油装置(FPSO)设备运营状态的可靠性及稳定性直接影响到海工平台的财产安全,甚至危及到船员生命安全,故需要对该设备配套状态监测及故障诊断系统。因设备复杂,传感器监测数据类型较多,设备的单一故障往往需要多传感器数据进行融合,而这时典型多输入单输出的模式识别问题,目前用于解决该问题的故障诊断方法最主流的就是基于神经网络的人工智能故障诊断方法。将人工智能理论和方法应用于故障诊断,发展智能化故障诊断技术,是设备故障诊断的一条新的途径,也是研究最多、应用最广的一类智能型诊断技术。本文将设计及开发一套基于BP神经网络故障诊断[1-4]专家系统,实现智能故障诊断,并在FPSO原油外输系统上进行验证。

1 系统总体架构

图1 基于LabVIEW的FPSO原油外输设备远程智能诊断系统总体架构

基于LabVIEW的FPSO原油外输设备远程智能诊断系统总体架构见图1。目标FPSO原油外输设备位于近海区域,设备状态特征信号通过3G/4G模块上传至企业内部监控中心,并存储到Oracle数据库中。第三方应用程序LabVIEW,通过数据库访问工具集LabVIEW database toolkit实现对数据库的数据读写操作;同时利用Matlab script接口,实现LabVIEW与Matlab的双向数据交互。

LabVIEW将从数据库读取到的数据传给Matlab,Matlab调用BP神经网络诊断算法,对传感器数据进行分析诊断,并输出诊断结果到LabVIEW软件。LabVIEW将诊断结果同Oracle数据库中的诊断知识库进行对比,给出相应的故障模式、故障原因及解决措施。

2 远程通信模块

为了保证远程通信的速度、稳定性及可操作性,在传输同等数据量情况下,需选择占用带宽最小的通讯协议,考虑现场端设备及LabVIEW远程监控系统特性,最终选择采用基于TCP/IP的socket通信协议,见图2。

图2 基于C/S架构LabVIEW远程监控系统

同时为了保证远程监控系统的开放性,所有远程传输得到的数据都统一存放到关系数据库oracle 11g R2中,方便监控中心其他系统(如虚拟仿真系统)对远程状态数据的访问。

3 智能诊断算法及实现

3.1 基于Matlab的BP神经网络实现

采用两层BP神经网络结构用于故障诊断,网络结构中隐含层采用tan-sigmoid激励函数,输出层采用log-simoid激励函数。其中网络输入层神经元个数等于输入变量数量,输出层神经元个数等于故障模式数量。见图3。

3.2 网络训练

选取样本并对其训练,以得到诊断系统知识库(以网络阀值和权值形式存在),诊断网络的样本训练流程大致过程为:读取样本数据,并进行归一化处理,因诊断BP神经网络第一层的激励函数为双曲正切Tan-Sigmoid函数,该函数输出范围为[-1,1],故归一化区间取[-1,1];根据输入、输出向量中变量个数,选取合适的网购结构及参数,并初始化网络参数;将归一化的输入向量代入网络,计算输出结果,并与预期结果对比,计算偏差;将计算偏差与设定偏差对比,看是否到达收敛条件,若不收敛,则调整权值继续计算,直到收敛,网络收敛后,输入测试数据进行测试,并进行故障类型判断。

以原油外输系统卡销装置故障诊断子模块为例,该诊断模块6个输入变量:压力MP11、压力MP12、压力MP19、压力MP20、流量V3、流量V4;4种故障模式:换向阀0311-4故障、减压阀0314-4故障、液压锁0315-3故障、管线0331-4故障。针对该诊断模块的BP神经网络模块参数设置见表1。

表1 BP神经网络参数设置

对故障模式进行编码,将其表示成计算机能够识别的模式,见表2。

表2 ESD阀故障故障模式编码

Matlab2014a中BP神经网络默认采用Widrow-Nguyen即W-N法进行网络权值初始化,同时样本的训练模式默认为批处理模式。因目前没有被监测系统实际故障数据,故暂时采用模拟的样本数据来对诊断算法的正确性进行验证。卡销装置故障诊断模块中,模拟的传感器样本数据见表3。

利用构建的2层BP神经网络对以上样本进行训练,训练结束后,Matlab2014a弹出训练结果见图4。

从图4中可以直观看到前面设置好的网络结构和算法参数,可以看到性能参数均方误差的初始值为0.46,结束值为9.44×10-7,小于设定的目标值1.0×10-6,在迭代65次后,误差水平就达到了预期要求,满足训练指标。

网络训练性能变化见图5,可以清楚看到,训练误差随着迭代次数增加而减小的过程,最终达到设定的目标误差,停止网络训练。

图4 BP神经网络训练效果示意

图5 训练网络性能变化曲线

同时网络训练过程中,参数的状态变化见图6,可以看到,满足要求。

图6 网络训练状态参数变化过程

3.3 神经网络诊断

因没有实际传感器采集数据,故采样仿真数据,模拟输入传感器采集数据,来验证诊断系统的可行性及可靠性。采用表4所示的6组模拟数据对诊断网络进行验证。

任何时仿真数据在输入到诊断网络之前,都有进行与网络训练时相同的归一化处理,想输入向量归一化到区间[-1,1]。处理程序为

%在线采集数据的归一化处理,处理方式同样本数据处理方式完全相同

p_test=mapminmax(′apply′,sample_verify,PS);

其中:sample_verify为传感器采集数据输入向量矩阵,PS为网络训练时用到的归一化处理方法,′apply′为采用相同处理方式。

对表4中的测试数据代入训练好的神经网络,可得神经网络的检测结果,见表5。

表5 测试数据的神经网络诊断输出

由表5的诊断结果可知,神经网络准确的识别了卡销装置不同的运行状态,诊断效果良好。

4 系统实现

4.1 LabVIEW与Matlab的接口通信

利用Matlab与LabVIEW混合编程来实现外输设备诊断系统的设计。在LabVIEW开发平台上直接使用Matlab的神经网络工具箱。常用的混合编程方法是使用Matlab语言节点,即Matlab Script节点。这种方法实现简单且实现方式灵活多变,打开被调用的Matlab脚本程序的速度也快,且能满足多输入多输出。LabVIEW向Matlab script脚本传递字符变量过程举列见图7。

图7 LabVIEW向Matlab script脚本传递字符变量过程

LabVIEW想将输入层到隐含层传递函数名称如tansig传递给Matlab script脚本,通过调节结构,将不同的函数名转成相应数字,并在Matlab script脚本中,将对于数字还原成对于函数名。而数字变量可以通过在Matlab script左边框中增加输入节点进行传递,如图7中的隐含层神经元变量lay1_size。同理可以对其他需要传递的参数进行操作。LabVIEW中神经网络学习界面见图8,其参数传递方法前面已经介绍。

图8 神经网络学习界面

图8界面对应的最终LabVIEW程序框图见图9,左边为前面板需要向脚本传递的参数,右边为诊断结果,通过一个二维数组保存诊断结果,见图10,该结果相当于将表5结果输出到LabVIEW前面板界面上。

4.2 推理机解释器的软件实现

对某一故障模式,采用二进制编码表示故障类型,期望的理想输出是0或1。显然,仿真结果不可能是期望的绝对0或1,所以需要对结果进行判断,即把神经网络仿真获得的结果通过判断处理,整定到0或1。因此,提出判别区间的方法。对于输出结果,取一个判别区间,将仿真结果与判别区间比较,确定其归于0或1。如(0.1,0.9):当仿真结果小于0.1(如0.051 8),则判断其为0;而当仿真结果大于0.9(如0.918),则判断其为1;此外,对于处于[0.1,0.9]区间内的数据判断为0.5(认为该仿真结果无意义,拒判)。可以看出,当这个判别区间越靠近0和1,则判断准确率越高,同时可能拒判的几率也越大;当判别区间越远离0和1,则判断的准确性降低,但同时好处是判为无意义结果的几率变小,可以根据具体情况选择。

图9 LabVIEW通过对Matlab调用实现诊断神经网络

图10 网络诊断结果输出到前面板二维数组中

根据以上区间判别标准,将网络的数值输出与故障信息进行对应,软件界面实现见图11。

5 结论

设计基于LabVIEW的FPSO原油外输设备远程智能诊断系统,并实现了仿真验证。采集软件模拟实际工况输出模拟输出传感器数据,并以TCP通信方式远程上传到企业内部监控中心数据库。LabVIEW利用math script节点调用Matlab,实现对采集数据的学习与诊断,并键诊断结果存放于数据库中。监测系统即可实现常规监测报警功能,还可自主开展基于神经网络的故障诊断功能,为后续产品健康监测系统提供了样本参考与技术支持。

猜你喜欢
诊断系统故障诊断远程
比亚迪秦EV充电系统故障诊断与排除
基于神经网络的船舶电力系统故障诊断方法
远程求助
基于包络解调原理的低转速滚动轴承故障诊断
远程工作狂综合征
远程诈骗
欧克诊断仪推出行业高配极致双模诊断系统
断路器检测系统与诊断系统研究
数控机床故障诊断系统的设计与实现
波音757-300中远程客机