我国航运资源丰富,并且海运在国民经济中发挥着重要作用,船舶是海运中的重要角色,柴油机是整个船舶的动力装置,其安全性和可靠性一直是被关注的焦点[1]。船舶柴油机系统的故障征兆和故障之间并不是线性关系,而是一对多的非线性关系,因此精准的诊断出故障非常重要,进而能够有效地预防危险发生,延长设备的使用寿命,提高经济效益。
20世纪60年代美国就开始研究故障诊断,到了80年代中期,在计算机技术和通信技术的推动下,智能诊断系统有了长足的发展,如芬兰WARTSILA船舶公司的FAKS系统[2],SEMT PIELSTICK等研发的故障诊断专家系统等。虽然我国在船舶柴油机故障诊断方面起步比西方国家晚一些,但是成果也很丰富,如李海量等利用BP神经网络进行船舶柴油机故障诊断,曹龙汉等利用微分进化算法进行故障诊断。
目前在船舶柴油机故障诊断方面,比较流行的是专家系统诊断方法,这是因为此方法能够将专家的经验知识与计算机强大的存储能力和计算能力有机结合起来。近年来对于专家系统中的推理模型、诊断模型也有很多研究成果,如Davis从结构和功能出发研发的推理模型,Gallanti等研发的集成诊断模型等。
本文设计的船舶柴油机故障诊断系统,在硬件方面基于ARM S3C2440处理器,在软件方面将专家系统与神经网络相结合,以此提高船舶柴油机运行的可靠性和安全性。
1 船舶柴油机故障诊断系统硬件设计通常情况下在进行船舶柴油机故障诊断时,会采用DSP等进行数据处理,这种设计不能满足多线程、并行处理数据的需求。本文在进行硬件设计时使用的S3C2440处理器,其硬件结构如图1所示。
采用2片32M的高速动态随机存储器,其时钟频率与微处理的时钟频率是同步的,这样可以有效地解决数据传输过程中的时延问题;同时采用了闪存的存储方式,一种是Nor Flash,另一种是Nand Flash,通过这2种Flash能够互相补充,既能解决Nor Flash内存容量小的问题,又能解决Nand Flash读速度慢的问题,进而实现长久保留数据且在Flash闪存中高效运行。
在系统中通信采用的是DM90000以太网通信,在通信中利用UDP/IP,TCP/IP加速减轻微处理器的负担。
利用SD存储卡进行数据存储,在数据传输的过程中采用的是6线制的SD传输模式与S3C2440通信。
虽然本文所采用的的微处理器内部有一个A/D转换器,但是精度不够,所以外接一个ADS8364模数转化器,为了能够同时采集多通道信息,采用了2组ADS8364模数转化器,实现了对12路通道的信息采集。
2 船舶柴油机故障诊断系统软件设计 2.1 软件整体设计船舶柴油机故障软件诊断系统在进行设计时遵循的基本原则为良好的人机交互、系统可靠、功能完善以及扩展性强等。设计的船舶柴油机故障诊断系统主要功能如下:
1)用户管理
对系统的用户进行管理,如用户账号、密码、权限等。
2)知识库管理与维护
本系统对采集到的信息在专家系统的基础上进行分析,并通过神经网络的自学习能力不断更新知识库,对知识库中的基层元素进行增删改查,在进行知识库维护的过程中要考虑到用户的权限问题。
3)故障诊断
根据所反映出的征兆以及相应知识进行故障诊断,并给出诊断结果。
4)诊断解释模块
采用预置文本的形式进行诊断解释。具体做法是将解释文本与诊断知识一并封装在类体内,当产生故障时,推理机会按照搜索路径将解释文本取出。
2.2 船舶柴油机故障诊断专家系统船舶柴油机长时间工作在高温高压状态下,并且自身结构复杂,所以故障征兆和原因之间并不是一一对应的关系,这样进行故障诊断的难度很大。传统的故障诊断方法是技术人员借助检测仪器以及自身的经验,这就要求技术人员具有丰富的先验知识才能找出故障,这种方法诊断的效率非常低。
将专家系统应用到故障诊断中,是因为能够综合运用多专家的经验知识来解决复杂问题,从结构上来说专家系统中的知识库和推理机是分开的,这样对于整个诊断系统更加的灵活。专家系统的基本结构如图2所示。
设计的船舶柴油机故障诊断系统总体软件结构如图3所示。
1)知识的获取
在建立知识库时不仅是将知识记录下来,还要将其以合理的形式表示出来,这样才能便于后续的推理。本文利用专家系统进行船舶柴油机故障诊断时,知识库是基于面向对象和产生式相结合的方法产生的,以对象为中心进行数据处理,并且将相关的数据以及数据处理方法等封装在对象类中[3]。在对象内部,利用产生式表示方法将对象的知识进行描述。本文建立了深、浅2种知识库进行船舶柴油机故障诊断。
深知识库包括系统中的元件按照燃油箱类、润滑油类、冷却器类等划分为基层元素类,然后通过继承的方法建立子类,其具体结构如图4所示。
深知识库从数据结构上说是静态的,这种静态结构体实现了多个对象对数据的访问,同时还能保证数据的安全。
浅知识库中主要是各种先验知识,如故障和征兆之间的关系,对于一个故障其征兆并不是唯一的,是一对多的关系。推理机在进行数据访问时按照先浅知识库后深知识库的顺序进行访问[4]。
为了保证知识获取的效率,利用BP神经网络进行知识的获取。
2)推理机制
整个推理的过程中就是不断提出新的假设的过程,如果是单故障则诊断推理过程就是一条解路径,其目标节点即为问题的解;如果是多故障情况,则推理过程成树状结构,叶子节点为诊断结果[5]。
3)解释机制
解释程序是专家系统中不可缺少的部分,主要是用来回答诊断过程中用户可能提出的问题[6]。专家系统与计算机程序系统的区别在于,专家系统不仅能够从专家级水平解决问题,还能对所解决的问题给出合理的解释。
在专家系统中知识库和推理机是密切不可分的,在计算的过程中运动到哪一步、启动哪一条规则是根据环境信息和推理机确定的。
将专家系统应用于船舶柴油机故障诊断设计中,用户通过人机接口进入系统,并确定系统的工作状态,查看是否正常工作,如果不是正常工作,则需要进行故障诊断。在进行故障诊断的过程中会对检测点的数据进行处理,建立故障假设集合,再利用知识库对检测值进行判断,如有故障,则进行逻辑推理,进而得到故障部位,产生故障的可能原因,并在人机界面上进行显示。其工作流程如图5所示。
利用专家系统进行船舶柴油机故障诊断,需要获取到初始知识,在设计时所形成的初始知识库主要是船舶柴油机使用说明、船舶柴油机在实际运行中常见故障以及维护手册,通过对这些知识进行分析,获取到故障事实、故障诊断规则以及维修建议[7]。
在船舶柴油机故障诊断系统中,用户登录、推理等都需要访问数据库,建立的主要数据库包括系统用户数据表、系统名称、子系统故障表、事例说明表、规则表、事例表、处理建议等。
用户想要在规则表中建立新的规则,首先要确定所要建立的新规则是属于哪个子系统,然后在子系统中建立新的规则项,其规则为“系统标志+故障标志”,其中系统标志是从系统名称表中选择。
3 仿真实验结果根据深知识库对柴油机系统的分类,用欧氏向量的集合F表示故障类型集,即
$ {\boldsymbol{F}} = \{ {F_1},\cdots ,{F_5}\} \text{。} $ |
其中:
故障引起的征兆表示为
通过故障征兆集和故障类型集确定出神经网络的输入和输出样本集,如表1所示。
在故障诊断时,采用3层BP神经网络,其网络结构中输入层、隐层、输出层的节点数分别是4,3和5。隐层采用S型正切函数,输出层采用purelin线性函数。用测试数据进行测试,其故障诊断结果如表2所示。
从表2的诊断结果中可知,利用专家系统和神经网络进行知识库自学习后虽然输出有所下降,但是结果是合理的,这体现出神经网络对样本的保持性和响应性。
4 结 语本文首先结合船舶柴油故障诊断的特点,设计硬件系统,然后在专家系统的基础上对船舶柴油机的软件系统进行了设计。最后结合专家知识库维护问题,引入神经网络,利用其不断地自学习更新知识库,并且通过仿真实验说明了通过专家系统与神经网络相结合的方式能够增强船舶柴油机故障诊断的智能性,符合实际情况。
[1] |
吴瑞莉. 船舶柴油机机械磨损故障诊断方法[J]. 舰船科学技术, 2018(7): 109-111. |
[2] |
龙武. WARTSILAW7X35船用低速柴油机试车中间轴的设计优化[J]. 柴油机, 2017, 39(1): 46-49. DOI:10.3969/j.issn.1001-4357.2017.01.011 |
[3] |
李红民, 陈亮. 基于专家系统的船载卫通站伺服系统故障诊断研究[J]. 计算技术与自动化, 2020, 39(2): 6-11. |
[4] |
刘宏新, 李金龙, 郭丽峰, 等. 联合收获机知识组织与知识库系统研究[J]. 农业机械学报, 2021, 52(2): 381-393. |
[5] |
陈浩, 李永强, 冯远静. 基于多关系循环事件的动态知识图谱推理[J]. 模式识别与人工智能, 2020, 33(4): 337-343. |
[6] |
潘学文, 张福生, 路超. 基于故障树的故障诊断专家系统设计[J]. 煤矿机械, 2021, 42(3): 174-176. |
[7] |
俞伟强. 基于数据库技术的船用柴油机故障诊断系统应用探究[J]. 中国水运, 2021(1): 58-60. |