船舶电力推进系统状态评估软件设计与实现
2013-01-18何业兰梁树甜王孟莲
何业兰 梁树甜 王孟莲 吕 丹
(武汉理工大学计算机科学与技术学院1) 武汉 430063) (中国船舶重工集团公司第七一二研究所2) 武汉 430064)(武汉港迪电气有限公司3) 武汉 430074)
0 引 言
船舶电力推进系统状态评估是指,根据系统或设备的当前运行参数和历史数据,采取适当的状态评估方法,对船舶电力推进系统当前及未来运行状态进行综合评定[1-2].电力推进系统的状态评估是船舶电力推进系统高效性和安全性的保障.本文以船舶电力推进系统中的主要设备为检测评估对象,研究动态在线监测为主的状态评估指标体系,以及基于知识的智能评估方法,在此基础之上设计并实现了一个通用的船舶电力推进系统状态评估软件.
1 评估系统总体设计
1.1 系统功能设计
通用船舶电力推进系统状态评估软件是在线的状态评估系统,软件可以用在不同船上或仿真系统中,对电推设备进行连续数据采集、实时数据处理、实时评估.其检测对象主要是船舶电力推进系统的主要设备如推进电机、推进变频器、推进变压器等.软件采用模块化设计,支持参数化配置,该系统的主要功能包括:(1)以电推系统为单位,对系统数据进行管理.(2)对状态评估模型和预测模型进行参数配置、样本选取、模型学习控制等.(3)通信控制.(4)在线评估与预测.接收下位机的实时检测数据,运行评估模型进行在线评估;选择预测算法.(5)进行信息的实时显示.分级别显示历史数据及动态趋势图.
1.2 系统数据库设计
实施评估需要大量描述电力推进系统及其演变过程的准确数据,评估软件的核心是一系列的数据库.本系统数据库主要由以下几类数据组成:(1)工程数据库,为每一个需要评估的电力推进系统建立一个工程,将系统基本技术参数记录到工程数据库中,包括电力推进系统所属船名、各设备的技术参数、铭牌信息、某些参数门限值等.(2)在线检测数据库,存储电推系统中设备当前的运行数据,参数当前值每隔1s记录一次.(3)历史数据库,与当前日期相隔一个月之前的数据,自动从在线检测数据库导入到历史数据库.(4)样本数据库,存放评估模型需要的样本数据.(5)预测数据库,存储预测模型各时刻的预测结果.(6)用户数据库.
1.3 分布式状态评估系统结构设计
设计的船舶电力推进系统状态评估系统将采用分布式结构,见图1.图中,设待评估的船舶电力推进系统的设备主要分布在m个机舱内,则建立m个机舱工作站,每个工作站由本地计算机、数据采集器和若干传感器组成,m个本地计算机通过通信与主控计算机连接,从而构成分布式结构.
图1 船舶电力推进系统分布式状态评估系统示意图
2 电力推进系统状态评估方法
2.1 系统状态评估指标体系构建
本文以电压型变频器匹配交流异步电动机的驱动的船舶电力推进系统为评估对象,系统中主要设备包括发电机组、推进变压器、推进变频器、推进电动机等.对每一种设备,根据科学性、全面性、可测性、层次性、动静指标相结合、定性与定量相结合等原则.并结合船用设备特性、典型故障对各设备指标参数进行详细分析后,得到各设备的状态评估指标.
评估指标分为主要技术参数、试验检修数据、同类设备故障史、在线监测参数4个部分.
图2 电力推进系统模糊神经网络状态评估模型
以推进变压器为例,主要技术参数包括额定容量、初级电压、次级电压、效率、绝缘等级;实验检修数据包括各绕组直流电阻、各绕组绝缘电阻、铁心绝缘电阻、变压器老化情况、前期运行故障率;同类设备故障史包括同类设备故障率、同类设备常见故障.在线监测参数分为5组:输入参数包括原边三相电压、原边三相电流、输入功率;输出参数包括副边(△形连接)三相电压、副边(△形连接)三相电流、副边(星形连接)三相电压、副边(星形连接)三相电流、输出功率;内部参数包括原边各绕组温度、副边(△形连接)各绕组温度、副边(星形连接)各绕组温度、实时效率、自身振动、局部放电监测;冷却系统参数包括风机运行状态、出风口温度、水泵运行状态、冷却水流量、冷却水温度、压力;外部环境参数包括外部环境振动、环境温度.
各设备的在线监测参数划分为四类.第一类为固定限值类;第二类为离散变量;第三类为跟负荷工况相耦合的变量;第四类为环境参数类.引入劣化程度指标,每一类指标用不同的数学形式表达.
评估指标的权重是指在指标评估体系中底层指标对决策问题总目标的影响,或决策中相对重要程度的一种主观评价和客观标准的定量表示[3].采用层次分析法,确定各评估指标的权重,构建船舶电力推进系统状态评估的指标体系.
2.2 基于模糊神经网络的电推系统状态评估模型
本文将模糊理论与神经网络相结合,依据电力推进系统的实际,设计电力推进系统状态评估的三级模糊神经网络模型,见图2.图中,N1~N5为5个一级模糊神经网络,称为整个状态评估模糊神经网络的子网络,表示电力推进系统状态评估的5个部分:推进变压器、推进变频器、推进电动机、其他设备和外环境.其中每个子网络由于评估设备的不同,输入结点和输出结点也不同,结点数由选定的训练样本格式决定.网络模型的第二层根据第一层判定的设备所处的状态求出设备的状态评估评分grade1~grade5,第三层根据grade1~grade5和各设备的权重求出电力推进系统状态评估的最终评分grade.
基于模糊神经网络的状态评估的步骤如图2所示.以有n个状态评估指标g1,g2,…,gn,p种故障f1,f2,…,fp,q种正常模式l1,l2,…,lq的设备为例:(1)确定评判集V、因素集U.它们由训练样本决定,即V={f1,f2,…,fp,l1,l2,…,lq},U={g1,g2,…,gn};(2)确定隶属函数,只有确定了模糊集V的隶属度函数,才能建立模糊关系矩阵R,隶属函数确定方法前最常用的是指派法中的升半梯分布法和降半梯分布法;(3)建立模糊关系矩阵R和初始化神经网络,确定了隶属函数后,就可以建立模糊关系矩阵R,然后用R初始化神经网络各连接线的权值,在MATLAB中用initnw()函数进行神经网络的权值初始化;(4)样本归一化;(5)用归一化后的训练样本对神经网络进行训练.MATLAB仿真软件提供神经网络工具箱(neural netword toolbox),工具箱中包括各种神经网络的计算函数,其中train()函数是神经网络的训练函数,此函数可设置训练误差和训练次数,且调用方便;(6)确定评分的权值和特性函数.此部分包括2个内容,一是确定设备评判集V={f1,f2,…,fp,l1,l2,…,lq}中各评判级别与设备状态评估评分的连线的权值和评分神经元的特性函数,二是确定各设备的评分与电力推进系统状态评估总评分的连线的权值和总评分神经元的特性函数.具体的,要根据设备的实际情况和运行原理做具体分析;(7)完成上述步骤后,就可以根据评估数据对电力推进系统进行状态评估,得出最终评分.这里的评估数据包括历史数据、当前运行数据和预测数据.
2.3 评估模型的仿真验证
本文采用电力推进仿真实验室的仿真平台的数据进行状态评估模型的仿真,该软件是自主研发的电力推进系统故障仿真平台,能进行电力推进系统正常、典型故障情况下的参数仿真,仿真参数选取了状态评估指标体系中的主要参数,参数较全面,具有一定的代表性,能基本反映电力推进系统的运行状况,可以作为电力推进系统状态评估模型的样本数据.在进行正常、典型故障下的仿真基础上,得到仿真数据,经过归一化后才能作为状态评估模型的训练样本,继续进行软件仿真,得到2个待评估模式的数据,见表1.
表1 待评估模式
如训练误差取0.001,训练曲线见图3.图中纵坐标为误差,范围从10-4~100,横坐标为训练次数.
图3 模糊神经网络训练曲线
把表1中模式1的数据输入到训练好的模糊神经网络,得
V1= [0.9695 0.0698 0 0 0 0 0.0004]
V2= [0.9574 0 0 0.0468 0.0011 0 0]
V3= [0.9738 0.0071 0.038 0.0264 0 0]
计算各设备评分,得grade1=95.0;grade2=94.1;grade3=96.8.最后得电力推进系统状态评估最终得分grade=min(gradei)=94.1.
评估状态为“优”,可以延期维修,这与仿真软件设置的模式一致.
把表2中模式2的数据输入到训练好的模糊神经网络,得
V1= [0.9862 0.0373 0 0 0 0.0025]
V2= [0.9657 0 0 0.0828 0.028 0.013 0]
V3= [0.0136 0.0011 0.9651 0.0004 0 0]
计算各设备评分,得grade1=97.4;grade2=94.1;grade3=2.4.得电力推进系统状态评估最终得分grade=min(gradei)=2.4.
评估状态为“劣”,应该立即检修,并由V3可知推进电动机发生了绕组短路故障,这与仿真软件设置的模式一致.
将状态评估模型训练前后的系统时间相减即为训练时间[4],本例中,模糊神经网络的训练时间在0.1~0.2s之间.仿真结果表明,将模糊神经网络方法应用于船舶电力推进系统状态评估,只要样本数据足够多,可以给出待评估模式在样本模式上的置信度,评估精度较高[5-6].
3 实现方案
3.1 评估流程
电力推进系统状态评估,就是要对状态评估指标体系综合考虑后进行评估.评估的目的是为了评估电力推进系统当前运行状况和潜在故障发生的可能性以便及时采取措施消除隐患,帮助决策者根据电力推进系统当前的状态制定相应的检修方案[7].电力推进系统状态评估流程见图4.
图4 电力推进系统状态评估流程图
3.2 开发关键技术
软件构建于B/S结构的.NET平台visual studio 2012,利用C#可视化、组件开发以及高效运行的特点进行系统的开发.采用SQL Server 2010作为后台数据库管理系统.
3.2.1 数据库实时访问技术
系统启动后通过ADO技术建立数据库连接,在接下来的运行过程中会频繁地进行数据库访问.尤其是实时在线检测和算法处理过程都存在大量数据的存储访问,如果不采取适当措施,容易出现数据库访问卡死或界面反应速度慢等问题.因此本文针对不同类型的操作和数据采用不同技术来实现数据库的访问.下位机上传的检测数据,需要实时更新到数据库中,采用adapter控件来实现实时数据的更新,并采用存储过程来提高数据库的访问效率.对数据库数据的增删改等操作,如果用传统方法修改一个数据就访问一次数据库,会大大影响交互速度,采用dataset控件将当前用户和当前工程的相关数据直接加载到内存,用户操作内存数据,最后一次提交到数据库.
3.2.2 模型算法实现
本文采用基于模糊网络的状态评估模型,其实现方式有多种.最常用的一类方法是 MATLAB与高级语言的混合编程,利用MATLAB中强大的函数库,在程序中直接调用相关函数实现算法.这类方法又有3种实现方式,一种是采用MATLAB自带编译器mcc,但待编译的m文件不能涉及MATLAB的内部类,生成代码可读性差;第二种方法是调用MATLAB引擎,缺点是不能脱离MATLAB运行环境;系统开发前期采取的是第三种方法,通过Matcom将m文件转化为DLL动态链接库来调用,可以实现模型算法.但系统最终的实现中,为了实现算法中的细节,不拘泥于MATLAB库函数,没有采用与 MATLAB混合编程方法,而是用C#结合了一个第三方的DLL自己编写函数来实现算法.预测模型也是自行编写一个C#类来实现.
3.2.3 基于多线程的通信技术
本系统运行时存在大量的数据通信、秒级的数据更新、运算,如果所有的功能完全由一个主线程实现,必然会引起系统反应时间过长、无法达到1s的界面刷新频率甚至导致系统卡死等问题.因此,本系统采用多线程技术.主控计算机上,主线程处理主界面显示控制,处理人机交互,对数据库记录的新增、修改、删除等操作,评估与预测结果的图表化显示.而每一台本地计算机与主控计算机之间的数据通信及数据更新到在线检测数据库等功能由1个单独的子线程来处理.如果有3台本地计算机主线程会开辟3个子线程,分工完成系统各项功能.采用多线程技术,软件运行达到实时性要求[8].通信部分的功能采用socket技术实现.
软件运行过程中,主界面实时显示每个推进设备的评估分数,1s刷新一次,单击某台设备进入下一级界面,显示在线检测数据表和动态趋势图,见图5.
图5 电力推进系统状态评估软件界面
4 结束语
状态评估是实现状态检修的前提基础,十分重要.船舶电推系统状态评估软件采用基于模糊神经网络的评估方法,实现了在线状态评估、评估结果及检测数据实时显示等功能.目前该系统已投入使用,运行效果良好.下一步还需要与其他相关技术和管理措施及其信息系统的相互配合,最终将实现传统的定期检修向状态检修的完全过渡.
[1]高海波.船舶电力推进系统的建模与仿真[D].武汉:武汉理工大学,2008.
[2]黄文生.电气设备故障诊断的现状与发展趋势[J].中国电力教育,2010,31:67-71.
[3]吴立增.变压器状态评估方法的研究[D].保定:华北电力大学,2005.
[4]张东波,徐瑜,王耀南.主动差异学习神经网络集成方法在变压器DGA故障诊断中的应用[J].中国电机工程学报,2010,22:15-19.
[5]王 谦.基于模糊理论的电力变压器运行状态综合评估方法研究[D].重庆:重庆大学,2005.
[6]程 冰.模糊神经网络研究[D].广州:广东工业大学,2005.
[7]阮誉婷.电力推进船舶监测与控制网络[D].大连:大连海事大学,2006.
[8]吴文庆.船舶动力电力系统仿真训练服务器软件的设计与实现[D].大连:大连海事大学,2013.