基于 PLC 的机舱报警监控系统的设计与故障诊断分析(程序+万字报告+仿真)

基于 PLC 的机舱报警监控系统的设计与故障诊断分析

Design and Fault Diagnosis Analysis of Engine Room Alarm Monitoring System Based on PLC

摘要
机舱报警监控系统作为船舶自动化的重要部分,它能及时准确的反映出机舱内各动力设备、控制设备以及机电设备的运行状态,只要系统检测到所监测设备运行发生故障或者异常,该系统会触发报警机制,启动声光报警与并通过延伸报警板通知其他值班舱室,同时所有报警状态将被记录并打印出来。系统会实时监测机舱各个监控点的参数状态,各个监视屏上都会显示相关运行信息,使操作者能清楚的了解到船舶实时的运行状态。这些显示屏通常安放在集控室或者延伸报警面板上。本文以镇江亿华系统集成有限公司与天津航道局合作研发的“通途”号耙吸挖泥船改造项目为基础, 从理论与实践相结合的角度来设计出一套完整的机舱报警监控系统及其故障诊断系 统。
论文首先介绍了机舱报警监控系统的发展背景与意义,结合系统本身的基本功能与设计要求,阐述国内外对该系统的研究现状并给出总体的设计方案。系统下位机采用西门子的S7-400 作为控制器,其中数据采集与PLC 的CPU 模块之间采用PROFIBUS 总线通讯,上位机与 PLC 模块之间采用工业以太网实现数据共享。编程软件采用西门子公司开发的 Step-7 软件,实现硬件组态以及网络结构的创建,编程语言采用梯形图语言的方式,简单易懂,直接明了,整个系统采用模块化的编程思想,涉及到 OB 模块、DB 模块、FB 模块以及 FC 模块。
其次将从理论的角度设计出一套以神经网络算法为主的新型故障诊断系统。该部分将详细研究 BP 网络算法,RBF 网络算法以及 ELMAN 网络算法的模型结构、参数设置、训练函数以及每个函数各自的优缺点。其中故障诊断对象为船舶增压系统,通过对历史数据的拟合对网络模型进行训练,再将采集数据作为网络模型的输入,实现对系统故障的识别以及预测的效果。
最后将针对神经网络模型自身存在的缺点,设计出以遗传算法为主的优化方案, 利用遗传算法收敛性强的特点对神经网络的阈值以及权值进行优化,使得神经网络的预测精度提升,提高故障诊断的准确性,达到最优的预测结果。关键词:监控系统 S7-400 总线通讯 神经网络 故障诊断 遗传算法

Abstract

The nacelle alarm monitoring system is an important part of ship automation. It can accurately and accurately reflect the operating status of various power equipment, control equipment and electrical equipment in the nacelle. As long as the system detects that the monitored equipment has malfunctioned or is abnormal, the system will trigger The alarm mechanism activates sound and light alarms and informs other duty cabins by extending the alarm board. All alarm conditions are recorded and printed out. The system will monitor the parameter status of various monitoring points in the cabin in real time. The relevant operation information will be displayed on each monitoring screen, so that the operator can clearly understand the real-time operating status of the ship. These displays are usually placed in a central control room or an extended alarm panel. Considering the backwardness of our country’s relevant technologies in the current large environment, after reading the literature on the cabin monitoring system of the relevant ship, this paper will design a set of ship cabin alarm monitoring systems that are feasible and meet relevant regulations.
The thesis first introduces the background and significance of the cabin alarm monitoring system, combines the basic functions and design requirements of the system itself, elaborates the research status of the system at home and abroad, and gives the overall design plan. The lower computer of the system adopts Siemens S7-400 as the controller, in which data acquisition and PLC CPU module use PROFIBUS communication between the host computer and the PLC module using industrial Ethernet to achieve data sharing. The programming software uses Step-7 software developed by Siemens to realize the hardware configuration and the creation of the network structure. The programming language adopts the ladder language method, which is easy to understand and straightforward. The whole system adopts a modular programming concept and involves OBs. Modules, DB modules, FB modules, and FC modules.
After the system is designed, a new fault diagnosis system based on neural network algorithm will be designed from the theoretical point of view. This part will study the model structure, parameter setting, training function of BP network algorithm, RBF network algorithm and ELMAN network algorithm in detail as well as the respective advantages and disadvantages of each function. The fault diagnosis object is the ship supercharging system. The network model is trained by fitting the historical data, and the collected data is used as

the input of the network model to realize the recognition of the system failure and the effect of the prediction.
In the end, aiming at the shortcomings of the neural network model itself, an optimization scheme based on genetic algorithms is designed. The genetic algorithm is used to optimize the thresholds and weights of the neural network based on its strong convergence characteristics, so that the prediction accuracy of the neural network is improved. Improve the accuracy of fault diagnosis and achieve optimal forecast results.Keywords: Monitoring System, S7-400, Field bus Communication,NeuralNetwork,Fault Identification,Fault Prediction,Genetic Algorithm

目 录

摘要 IAbstract II目 录 VContents IX第 1 章 绪论 1
1.1课题研究背景及意义 1
1.2机舱报警监控系统国内外发展现状 1
1.2.1集中型监视系统 2
1.2.2集散型监视系统 2
1.2.3全分布式系统 3
1.2.4现场总线型监控系统 3
1.3船舶故障诊断系统国内外发展现状 3
1.3.1智能化船舶诊断 4
1.3.2信号处理技术 4
1.3.3综合船舶诊断技术 4
1.4课题主要研究内容 4第 2 章 机舱报警监控系统总体结构设计 7
2.1机舱报警监控系统的功能与要求 7
2.1.1系统基本功能 7
2.1.2技术标准以及规范要求 8
2.2系统总体框架设计 9
2.3机舱报警监控系统的硬件介绍 10
2.3.1电缆的选型 10
2.3.2UPS 10
2.3.3网络设备 10
2.3.4报警打印机 11
2.4本章小结 10第 3 章 机舱报警监控系统的下位机以及界面设计 13
3.1下位机 PLC 介绍 13
3.1.1PLC 概述 13
3.1.2PLC 模块选择 14
3.2PLC 程序以及控制流程设计 15
3.2.1PLC 编程语言种类介绍 15
3.2.2PLC 硬件组态 16
3.2.3PLC 编程设计 18
3.2.4控制流程设计 22
3.3系统通讯网络结构设计 23
3.3.1PROFIBUS 现场总线技术介绍 23
3.3.2PROFIBUS-DP 网络建立 24
3.3.3工业以太网的建立 25
3.4监控界面设计 27
3.5本章小结 27第 4 章 基于神经网络的船舶机舱报警监控系统的故障诊断研究 30
4.1船舶故障诊断技术概述 30
4.1.1船舶故障诊断技术类别 30
4.2神经网络概述 32
4.2.1神经网络的发展 32
4.2.2神经网络的研究内容 33
4.2.3神经网络模型 33
4.3BP 神经网络模型介绍 34
4.3.1BP 网络结构 34
4.3.2BP 网络模型建立规则 35
4.3.3BP 网络设计技巧 38
4.4RBF 神经网络模型介绍 38
4.4.1径向基函数神经元模型 38
4.4.2径向基函数网络结构及其工作原理 39
4.4.3径向基函数网络结构的构建 40
4.5Elman 神经网络模型介绍 41
4.5.1Elman 网络的结构 41
4.5.2Elman 网络的构建 42
4.6基于神经网络的故障识别实例分析与仿真 42
4.6.1故障问题描述与神经网络模型设计 42
4.6.2RBF 神经网络的故障识别模型设计与仿真 44
4.6.3BP 神经网络的故障识别模型设计与仿真 47
4.7基于神经网络的故障预测实例分析与仿真 53
4.7.1Elman 神经网络的故障预测模型设计与仿真 53
4.7.2BP 神经网络的故障预测模型设计与仿真 62
4.8本章小结 69第 5 章 基于遗传算法的机舱报警监控系统的故障诊断优化研究 71
5.1遗传算法的基本原理与方法 715.1.1 编码 715.1.2 选择 725.1.3 交叉 735.1.4 变异 755.1.5 适应度函数 76
5.2遗传算法优化 BP 神经网络仿真分析 77
5.2.1遗传算法工具箱与功能函数介绍 77
5.2.2编码规则与程序设计 78VI
5.2.3仿真分析 78
5.3本章小结 81总结 83参考文献 85

ContentsAbstract(chinese) IAbstract IIContents(chinese) VContents IXChapter 1 Introduction 1
1.1Topic Research Background and Significance 1
1.2Development Status of Cabin Alarm Monitoring System at Home and Abroad 1
1.2.1Centralized Monitoring System 2
1.2.2Distributed Monitoring System 2
1.2.3Fully distributed system 3
1.2.4Field Bus Monitoring System 3
1.3Development Status of Ship Fault Diagnosis System at Home and Abroad 3
1.3.1Intelligent Ship Diagnostics 4
1.3.2Signal Processing Technology 4
1.3.3Integrated Ship Diagnostics 4
1.4Top Research Topics 4Chapter 2 Overall Design of Cabin Alarm Monitoring System 7
2.1Functions and Requirements of Cabin Alarm Monitoring System 7
2.1.1Basic System Functions 7
2.1.2Technical Standards and Specification Requirements 8
2.2Overall System Framework Design 9
2.3Hardware Introduction of Cabin Alarm Monitoring System 10
2.3.1Cable Selection 10
2.3.2UPS 10
2.3.2UPS 10
2.3.3Network Devices 11
2.3.4Alarm Printer 11Chapter 3 Lower Computer Design of Cabin Alarm Monitoring System 13
3.13.1 The PLC Introduction of Lower Computer 13
3.1.1PLC Overview 13
3.1.2PLC Module Selection 14
3.2The Design of PLC Program and Control Flow 15
3.2.1Introduction to PLC Programming Languages. 15
3.2.2PLC Hardware Configuration. 16
3.2.3PLC Programming Design 18
3.2.4Control Flow Design 22
3.3System Communication Network Structure Design 23
3.3.1Introduction to PROFIBUS Fieldbus Technology. 23

3.3.2PROFIBUS-DP Network Establishment 24
3.3.3Establishment of Industrial Ethernet 25
3.4Monitoring Interface Design 27
3.5Chapter Summary 27Chapter 4 Research On The Engine Room Alarm Monitoring System Based on Neural Network 30
4.1Ship Fault Diagnosis Technology Overview 30
4.1.1Fault Diagnosis Technology Class 30
4.2Neural Network Overview 32
4.2.1Development of Neural Networks 32
4.2.2Research Content of Neural Network 33
4.2.3Neural Network Model 33
4.3Introduction to BP Neural Network Model 34
4.3.1BP Network Structure 34
4.3.2Establishing Rules for BP Network Model 35
4.3.3BP Network Design Tip 38
4.4Introduction to RBF Neural Network Model 38
4.4.1Radial Basis Function Neuron Model 38
4.4.2Radial Basis Function Network Structure and How It Works 39
4.4.3Construction of Radial Basis Function Network Structure 40
4.5Introduction to Elman Neural Network Model 41
4.5.1Structure of the Elman Network 41
4.5.2Construction of the Elman Network 42
4.6Analysis and Simulation of Fault Recognition Based on Neural Networks 42
4.6.1Fault Description and Neural Network Model Design 42
4.6.2Fault Identification Model Design and Simulation of RBF Neural Network 44
4.6.3Fault Identification Model Design and Simulation of BP Neural Network 47
4.7Analysis and Simulation of Fault Prediction Based on Neural Networks 53
4.7.1Fault Prediction Model Design and Simulation of Elman Neural Network 53
4.7.2Fault Prediction Model Design and Simulation of BP Neural Network 62
4.8Chapter Summary 70Chapter 5 Research On The Engine Room Alarm Monitoring System Based on Genetic Algorithm 71
5.1Basic Principles and Methods of Genetic Algorithms 71
5.1.1Encoding 71
5.1.2Selection 72
5.1.3Cross 73
5.1.4Variation 75
5.1.5Fitness Function 76
5.2Genetic Algorithm Optimization BP Neural Network Simulation Analysis 77
5.2.1Introduction to the Genetic Algorithm Toolbox and Function Functions 77
5.2.2Coding Rules and Programming 78X

5.2.3Simulation Analysis 78
5.3Chapter Summary 81Conclusions 83References 85

第 1 章 绪论

1.1课题研究背景及意义

进入二十世纪八十年代以来,由于经济与造船技术的发展,我国已经从造船小国、造船弱国逐步向造船大国、造船强国转变,因此,船舶技术的要求也越来越严格。船舶技术要求的提高也促进了船舶自动化技术的发展。在船舶自动化技术中,机舱报警监控系统是最为重要的一门技术。最原始的监控还是依靠人员,由于计算机技术的引入与快速发展,船舶机舱报警监控系统由集中监控型向集散监控型转变,再到后来现场总线技术的应用,船舶机舱报警监控系统又开始向分布式系统发展。到目前为止, 机舱报警监控系统正在发展的更集成、更标准化、更网络化、更智能化且更系列,做到真正的无人机舱,实现船舶机舱的高自动化。为了能保证实现无人机舱,就必须要满足数据的及时通讯以及实时控制。在船舶发生故障时,系统要能第一时间检测到故障发生位置以及异常情况详情,并且快速将以上信息传达到监控室、驾驶台、值班室以及各公共场所,实现地第一时间报警,对于系统不能自身解决的故障,将会通知相关维修人员解决。第二部分要做到的是当已发故障没有在规定设置时间内解决的话, 将会再次触发报警系统,直到该问题被成功解决。这样的功能实现,会大大降低值班人员的工作强度,不用实时在船舱来回巡视,节省成本。
由于现代社会对环境的保护意识越来越强以及对工业成本的控制,使得一些技术落后、人力成本巨大的船舶逐步被淘汰。随着各种相关规定的出台,使得所有的船舶向大型化以及高度的自动化发展,这样就会减少船舶工作人员的工作强度,降低人力的成本。机舱配备了完整的监控报警系统,除了劳动成本上有所减少,更重要的是能够保证船舶的安全运行,增强设备运转的可靠性,一旦发现故障能及时解决,较少零部件的损耗,也可以在一定程度上增加各部件的使用寿命。就目前市场的行情来看, 船舶机舱报警技术占据优势的依旧是国外产品,比如挪威的康斯伯格等,他们的产品在市场上已经占据了很大的份额。从国内的先阶段产品来看,还与国外存在着一定的差距,这就显得研究这套系统并且设计出属于自己的系统尤为重要。

1.2机舱报警监控系统国内外发展现状

随着经济全球化的发展,海上贸易的往来日益增多,更加推动了航运事业的蓬勃发展,其地位越来越重要,由此带来的是船舶的吨位相较于之前来讲有了质的飞跃[1]。

船舶在向大型化发展的过程中,逐渐产生了以下问题:船舶体积的庞大增加了管理难度,船舶工作人员的工作强度也不断增加等。考虑到这些问题的存在,在二十世纪六十年代,船舶机舱自动化技术开始逐步被提出,其思想宗旨就是为船舶运营行业减低运营成本,保障船舶在运行状态的安全。一直到了二十世纪七十年代,船舶机舱自动化的发展取得了实质性的结果.第一就是轮机自动化装置开始应用,此装置可以对船舶设备进行集中的控制并且能够监视到各个设备的运行状态;第二就是辅控制站远程操控技术的应用,驾驶室通过这项应用,可以远程操控船舶设备,这样一来在船舶人员数量的需求上就没有之前那么多,工作的强度也得到了降低;第三就是可以初步实现机舱无人值班,只是这种无人值班只是间歇性的,为以后真正意义上的无人值班机舱技术的研究与应用提供了很好的经验基础。就目前现阶段应用的机舱报警监控系统来看,计算机技术是目前最核心的技术,而机舱报警监控系统的分类也是又计算机系统的结构特点来决定,一共可大致分为四类:集中型监控系统、集散型监控系统,全分布式系统以及现场总线型监控系统[2]。
1.2.1集中型监视系统
集中型系统的最大特点就是开始引进计算机软件管理技术,由于是初步的引用计算机,在数量上很少,通常为单台计算机操作。即便是单台计算机,比较之前传统的系统,该系统的硬件结构得到了很程度的简化,能够实现对船舶动力设备监视与报警的功能,该类型的典型代表有挪威 NORCONTROL 公司研发的 Data Chief 系统。
在上世纪七十年代初,集中型监控系统是最具有代表性的一种,应用也比较广泛, 但其弊端也显而易见,由于计算机数量的限制,导致系统的可靠性比较差。一旦这台计算机死机或者有其他故障,整个系统都会崩溃,造成不可估量的代价,用户体验没有那么好。因此,这套系统的发展逐渐受到限制。
1.2.2集散型监视系统
集散型系统的特点从其名字就可以看出,它是融合了集中与分散两种结构的特点。与集中型系统最显著的不同就是集散型系统的计算机数量不再是单台,在监控过程中, 多台计算机同时工作,它们组成若干个子系统,将采集到的信息通过上位机实现所有信息的共享。更重要的是,多台计算机的稳定性比单台计算机要大大增强,在用户体验上也非常友好。所以,在集散型系统问世之初就得到了快速的发展。当然,集散型系统也存在着一定的问题,由于在系统刚开始设计应用的时候,传输的信号类型为模拟信号,当传输距离很长的时候,模拟信号的的干扰问题随之显现出来。在材料成本方面,电缆的需求量大大提高,无疑是增加了不少额外的支出,此系统的代表为西门子公司生产的集散型监控报警系统[3]。
针对集散型系统的这些暴露出的问题,有些公司提出了以下的解决方案:在收发模拟信号的环节中添加相关的现场处理单元模块,这些模块一般情况下安放在设备的

附近,而在与主控单元的数据交换通讯时所用到的方式为电流环等网络,这种的方案的核心理念就是在子系统中加入传统的控制网络技术。该方案的应用的确可以在信号稳定方面的能力得到了显著的提升,但也不是没有缺陷,由于传统控制网络自身就存在问题包括无法实现全双工传输以及传输距离的限制等等。该类系统的典型代表有德国西门子公司生产 SIMOSIMC32C 系统。
1.2.3全分布式系统
全分布式系统的最大特点是引入现场总线技术。与前文的提到的两种系统相比, 分布式系统采用了模块化的设计思想,是监控功能得到最大限度的释放。在系统组态方面,加入了具有通信功能的智能化现场处理单元,各个子系统之间通过现场总线来进行通讯,因为现场总线的通讯协议具有开放的特点,所以信息的共享更加便捷,系统在运行方面更加可靠安全。此系统的应用也为船舶机舱综合控制信息系统的统的发展积累了宝贵的经验。 因此,全分布式监视系统结合了集中型和集散型系统的优点并且有效的克服了其缺点,对船舶自动化技术的发展有着重大的意义。该系统的典型代表有挪威 KONGSBERG 公司生产的 Data Chief C20 监控系统。
1.2.4现场总线型监控系统
现场总线型监控系统是在全分布式系统的基础上加以改进而实现的一种新型监控系统,在全分布式系统中已经开始引进现场总线技术,而在现场总线型监控系统中, 总线的应用已经相当成熟。常用的总线有 CAN 总线、PROFIBUS 总线、LONGWORK 总线以及 MODBUS 总线。
在总线型的系统中,分布式处理单元的应用非常多,这是考虑到其扩展性强的特点,在船舶机舱比较恶劣环境下能够满足需要。分布式处理单元的一段临街在总线上, 一段与各传感器相连,一些上层的监控设备用工业以太网连接,实现数据的共享功能。该系统的典型代表有挪威 KONGSBERG 公司生产的 K-Chief500、K-Chief600 以及K-Chief700 等。
从上述的系统介绍可以看出,船舶自动化技术的发展离不开计算机技术、模块化设计思想以及总线通讯技术。由此可以得出这样的结论:在未来的船舶机舱自动化技术的发展应用中,研究如何将上述三种技术高效的结合在一起将会是一个很有意义且具有巨大社会经济效益的研究方向。

1.3船舶故障诊断系统国内外发展现状

从上个世纪六十年代开始,船舶事故发生的频率急剧增加,为了解决这些问题给船舶行业带来的巨大损失,人们开始对故障诊断技术进行深层次的研究。船舶故障诊断技术的作用主要是在船舶运行过程中,针对船舶各设备的状态进行监控,在发现故

障的时候能及时识别出故障并且能迅速应对。更深层次的故障诊断技术还将要具备故障预测的功能,这样可以将被动解决故障的形式转变为主动去预防的态势,在保障安全性能的同时还能为船舶行业节省巨大的成本。
随着现代科学技术的快速发展,船舶故障诊断技术不再是一门单一的技术,从最初的直接测量法到现在的智能化,计算机技术、神经网络算法以及信号处理急速的引进,这已经发展成了一门多学科交叉的新技术。
1.3.1智能化船舶诊断
考虑到船舶技术的发展,船舶自动化程度的大幅度提高,传统的故障诊断方法即通过检测信号的处理实现船舶运行状态的监测已经远远不能满足现代船舶的需求,由此开辟出了一条智能化道路的技术,这些技术包括神经网络、模糊理论以及专家系统等。这种新式的诊断体系在监测手段、数据计算量和诊断时间方面都较传统故障诊断技术有了极大的提升,比单一地依靠专家经验来实现诊断更加精确和高效。因此,随着时代的发展与技术的成熟,智能化船舶诊断技术定会成为未来故障诊断技术的风向标。
1.3.2信号处理技术
在现实的船舶航行过程中,一方面会遇到碰撞、震动和冲击,一方面船舶的船龄在增加,造船工艺的不完善,导致船舶的故障发生率会大大提高,这些变化会使信号的峰值产生极大的波动,而这些信号的波动里实际上包含着非常多的信息,所以,信号处理技术就是利用这些信息来定位故障的发生地点与类型,比较典型的技术应用就是小波技术,这方面的技术已经很成熟,应用的效果也很理想。
1.3.3综合船舶诊断技术
在船舶发生故障时,它的故障原因一般很难用一种因素去判定它,更多的时候是由不同的因素共同作用的效果,考虑到其原因的复杂性,单一技术的缺陷就很明显。比如神经网络的非线性功能比较强大,可是其往往会过早的收敛,导致运行结果的随机性很大;专家系统的数据库丰富,数据量庞大,随之带来的问题救赎建立数据的难度增加而且缺少灵活性等。随着现代计算机技术以及数学理论的发展,多种技术的结合已经成为当下故障诊断领域里新的研究方向。常用的组合有神经网络与遗传算法相结合,利用遗传算法的寻优功能来弥补神经网络的过早收敛的缺点,还有模糊理论、神经网络与专家系统的结合,既保证了数据量的多样性,也可以提高使用的灵活性等等,这些最新技术的交叉结合对船舶故障诊断技术的发展起到了重要的要推动作用。

1.4课题主要研究内容

本课题以镇江亿华系统集成有限公司的“通途”号项目为基础,在实践的基础上

结合理论研究,设计出一套船舶机舱报警监控系统以及故障诊断系统。其具体工作如下:
(1)在阅读了多种关于机舱报警监控系统文献后,综合多种系统的结构,确定出本次机舱报警系统所需实现的功能,最终设计出系统的整体结构图。
(2)根据已经设计好的系统结构,选择各种满足功能需要的硬件模块,包括电缆的选型、UPS 的规格、网络设备以及打印机的型号等。
(3)设计出系统的工作流程以及控制流程,在 Step7 软件中选择梯形图的编程方式进行项目编程,既满足功能需求又做到简洁明了。
(4)设计出了系统的网络通讯结构。在设计结构前,详细了解 PROFIBUS 总线以及工业以太网的特点及结构,熟悉 Step7 软件中关于 PROFIBUS-DP 的组态以及 Ethernet 组态的的基本操作。在建立通讯网络结构的时候,按要求设置好各个模块属性以及选择需要的功能模块组态到通讯网络上。
(5)在故障诊断部分,熟悉 BP 神经网络、RBF 神经网络以及 Elman 神经网络的结构。利用 MATLAB 软件编写程序,实现故障识别和故障诊断的效果并比较出各自模型的不足,选择出相对满足需求的最优模型。
(6)在故障诊断优化部分,详细介绍了遗传算法的结构以及各功能参数的性质,利用遗传算法收敛性强的特点,对神经网络的不足进行优化,达到最终的理想效果。

第 2 章 机舱报警监控系统总体结构设计

本章节机舱报警监控系统的设计思想以镇江亿华系统集成有限公司的“通途”号耙吸挖泥船改造项目为基础。在项目中,本人参与了机舱报警监控系统的模块安装、产品接线、功能调试以及部分程序编写的环节,对机舱报警监控系统的构造、要求以及应用有着一定的了解,该系统现已成功在“通途”号上运行。“通途”号“总长 165.7米,宽为 30 米,总装机功率为 22320 千瓦,载泥量为 29830 吨,最大挖深为 90 米, 是目前亚洲疏浚领域的领头羊,目前在天津港投入使用中,进一步加快了天津港国际化进程的脚步。

2.1机舱报警监控系统的功能与要求

本次“通途”号机舱报警监控系统系统共设有 3 个信号采集箱,分别对船舶的船用柴油机系统、泥泵控制系统、齿轮箱推进推进系统、压力系统(包括水压和气压)、温度系统(水温、排气温度和油温)、发电系统与配电系统等多个系统的监测点进行数据的采集与监测,基本覆盖了“通途”号运行过程所涉及的各个方面。该系统所应该具备的功能如下所示。
2.1.1系统基本功能
由于不同的船舶运行环境不一样,不同功能的船舶对设备的要求也各不相同,因此,每条船舶的硬件系统与软件系统不可能用同一种精度的标准作为规范[4]。在设计“通途”号机舱报警监控系统的时候,根据实际工程应用的需求,该系统包括的功能如下所示。
(1)声光报警功能
声光报警功能作为机舱报警功能最基本、最必不可少的功能,它的作用是无可取代的。声光报警功能作为机舱报警功能最基本、最必不可少的功能,它的作用是无可取代的。当系统检测到监测点的数据与标准值产生重大误差时,声光报警系统将会被启动,同时在监控软件界面中准确显示出发生故障的监测点位置以及故障详情,以用来通知相关工作人员。当工作人员收到报警信息后,按下消音键并在软件界面上确认报警信息,此时声光报警会将报警声音消除,报警灯变为平光,直到故障被消除才会熄灭[5]。
(2)参数显示与状态显示
当船舶设备都在正常运转时,在监控界面上会将各设备的运行参数都显示出来, 除此之外,每个监测点的报警限值也会显示出来供工作人员参考。当没有异常发生时,

指示灯一般用绿色,有报警发生时,指示灯会变成红色。
(3)报警延时功能
报警延时功能最大的作用就是针对易波动的信号,防止其频繁报警,影响系统正常的工作住状态。其工作原理就是在数据产生波动达到报警值的第一时间会开始启动计时器,只有达到了一定时间才会产生报警信号,计时时间一般按经验设定。
(4)报警回差功能
报警回差功能与上文的报警延时功能有相似的地方,它们都是为了针对易波动信号带来的误操作,不过不同的是报警回差是作用在通道恢复功能上。若某信号的限值为 50,回差值设定为 5,其模式为监测值大于 50 的话就会报警,。当触发报警后,经过管理人员的操作,值回落到 45 时,通道才会关闭报警,恢复正常。若模式为小于50 报警,那么当触发报警后,其值必须恢复到 55,报警才会解除。
(5)报警应答功能
报警应答其实就是操作人员给系统的反馈操作。当声光报警启动时,操作人员按下相关按键,会进行消音操作,此时操作人员需要立即去解决故障,当故障被完全解决时,操作人员按下相关按键,报警会立即解除,报警红光被转为绿色平光,同时报警软件界面会将该报警解除。
(6)报警打印功能
报警打印功能一般分为两种,一种是实时打印,一种是历史打印。实时打印就是每当产生一个报警时,打印机就会将其打印出来。进行历史打印操作时,先要进入查询界面,查询出来的历史报警记录可以被打印出来,根据不同的需求可以选择打印部分记录或者打印全部记录。
(7)延伸报警功能
延伸报警的作用通常是向船舶上工作的其他人员通知报警信息,一般延伸报警装置安放在驾驶室、机长室以及特定的公共场所等。延伸报警装置实现方式有多种,包括触摸屏和指示灯[6]。
2.1.2技术标准以及规范要求
参考《钢质海船入级与建造规范》和《船舶机舱监视报警装置技术条件》对船舶所采用的机舱监测报警系统的技术要求,在设计“通途”号机舱监测报警系统时,应考虑如下技术标准及规范要求:
(1)报警装置应在如下环境中能够正常工作:环境温度范围为 0~55℃;相对湿度范围为 95%~100%,振动频率范围为 2.0~13.2Hz,位移幅值为±1.0mm,加速度幅值为±0.79mm[7]。
(2)当发生故障时,如果操作人员没有及时的将故障完全解决,那么系统将再次触发声光报警机制,直到故障被完全解决后才会恢复正常监控状态。

(3)由于各船舶的工作环境不一样,所以系统在设计的时候需要考虑到各监测点的报警限值的差异,即要方便管理人员灵活地修改监测点的限值。
(4)系统在供电模块的设计上需要具备冗余功能,能够在主供电系统断电的时候维持报警系统的正常工作,通常持续供电的时间至少为半个小时[8]。

2.2系统总体框架设计

系统的主要设备有 S7-400PLC 模块、机舱数据采集单元、工作站、延伸报警板、工业交换机以及通讯模块等。系统采用良好的人机界面,操作员通过操作轨迹球和操作员键盘可以很容易地在显示屏上选择报警页面和图形模拟页面,查看报警及设备运行状态,并执行控制指令或自动控制程序,其结构如图 2.1 所示。
机舱数据采集单元可以安装在船舶的各个部位,具有输入/输出功能,包括模拟量和开关量。机舱报警监控系统设有延伸报警系统,在居住区域和驾驶室安装有延伸报警板。系统可扩展若干个工作站和若干个延伸报警板,工作站和延伸报警板可安装在船上若干部位[9]。在网络通讯方面,信号采集模块、接口模块等模块与 PLC 的 CPU 模块之间的通讯方式采用 PROFIBUS 总线,CPU 与上位机之间的数据共享采用工业以太网,考虑到船舶机舱实际的工作环境恶劣,工业以太网在抗干扰能力方面效果显著且通讯距离比较远,适合船舶机舱的工作环境。图 2.1 系统结构图Fig.2.1 System structure

2.3机舱报警监控系统的硬件介绍

2.3.1电缆的选型
考虑到船舶工作环境的恶劣以及各种船用建材规范的要求,船用电缆的选择要比其他情况的要求更加严格[10]。在设计船舶机舱报警监控系统之前,首先要将电缆选好, 因为电缆在船舶上的应用非常之多,无论是电源供电还是数据的传输或者网络通讯, 都要用电缆。电缆的选择不仅要考虑到是否符合相关规定,也要注意到成本的控制。在船舶工作场所,由于水雾、有害蒸气以及凝结水的存在,相关规定中明确要求在任何地点铺设的电缆必须加上护套,除此之外,船用电缆还要满足防火、防水、防压力、防电磁干扰以及防腐蚀的功能需求。综上所述以及考虑到公司成本的控制,结合镇江亿华系统集成有限公司的实际项目实施规格,采用的型号是 CKJPJ85/ SC 型电缆。该电缆最高承受 250 度高温,其绝缘材料采用聚氯乙烯,能够基本满足船用需要。
2.3.2UPS
UPS(Uninterruptible Power Supply)即不间断电源,它是一种储能装置,是一种恒压恒频的不间断电源,主要组成部分是逆变器[11]。UPS 一般主要用在给机舱报警系统提供不间断的电源供给。当机舱内的供电正常时,UPS 的作用就是稳压,将供电稳压后供给其他负载使用,当机舱供电系统出现异常时,发生断电的情况时,UPS 立即将机内电池的电能通过逆变的方式将 220V 的电供给其他的负载,使系统正常工作, 避免硬件的损坏。
2.3.3网络设备(1)网络交换机网络交换机的参数如表 2.1 所示。表 2.1 网络交换机参数Table2.1 Network switch parameter table
传输速率 10/100Mbit/s
电气接口 4 x RJ45 接口(10/100 Mbit/s; TP)
光学接口 2 x BFOC ports(100Mbit/s,Multimode FOC)
电源连接 1 x 4 针端子排
信号触发连接 1x 2 针端子排
交换媒介插槽 C-PLUG
电源电压 2 x 24 V DC (18 V to 32 V)
组环能力 有
冗余管理器功能 有

(2)网关
网关用于采集通讯设备的信号,在基础配置方面必须具备以下功能:需要支持Windows/Linux COM 串口驱动程序模式,提供包括 TCP Server、TCP Client、UDP Server/Client 和 Ethernet Modem 在内的不同 socket 操作模式,支持 SNMP MIB-II 网络管理协议,并且可通过网络 Web/Telnet 进行配置。在使用方面必须简单易懂,无需 PC、可实现通过网络连接两个串口设备的对等连接模式。在设备安全方面必须具备内置 15 KV 突波保护。
2.3.4报警打印机系统配备窄行连续走纸打印机 1 台,安装在机舱集控室,其功能为打印各次报警记录,详细参数如表 2.2 所示:表 2.2 打印机参数Table2.2 Printer parameters
打印方式 窄行点阵击打式
打印方向 双向逻辑查找
打印宽度 80 列(在 10cpi 下)
打印针数 24 针
打印头寿命 2 亿次
色带性能 黑色色带盒(#7753),约 300 万字符
缓冲区 64KB
行间距 1/6-英寸或以 1/216 英寸为增量进行编程
接口类型 USB 接口,IEEE-1284 双向并行接口,EIA-232D 串行接口

2.4本章小结

本章节以作者实际参与的“通途”号挖泥船改造项目为基础,给出了机舱报警监控系统的总体结构设计。在系统设计之前,明确了系统所具备的各项功能,列出了系统所需要遵守的设计规范。在总体结构设计好之后,对系统涉及到的主要硬件模块比如电缆、不间断电源、网络设备以及打印机等依照项目经验给出了合理的选型。

第 3 章 机舱报警监控系统的下位机以及界面设计

上一章对机舱报警监控系统的总体结构给出了设计方案,从本章开始,将对系统的下位机设计进行详细的叙述。系统的下位机设计将涉及到 PLC 模块的选型与组态、编程语言的选择与控制流程的设计以及系统网络通讯模块的组态操作。

3.1下位机 PLC 介绍

3.1.1PLC 概述

PLC 全称可编程控制器(Programmable Logical Controller),广泛应用于工业控制,它是一个数字运算操作系统[12]。它在运行时,内部的所有运算与控制都通过其可编程的存储器来进行存储和执行,在控制各类设备运转时通过数字信号或者模拟信号的输出输入来实现。
可编程控制器与与一般地计算机系统构造相类似,包括中央处理单元(CPU)输入接口、输出接口以及存储器,其体积小、功能丰富,模块化的设计思想使其应用更加灵活,后期维护更加方便[13]。与一般的计算机相比,它更加适合应用于工业控制, 因为可编程控制器具有与工业过程相连的接口,从稳定性来说更加的可靠,其具体的内部结构图如图 3.1 所示。
(1)中央处理单元(CPU)
对于 PLC 来说,CPU 是它最重要的部分,它是整个 PLC 系统的大脑。编程者编写的 PLC 语言经过 CPU 循环扫描的工作方式来执行相关的操作比如采集输入输出信号、对数据进行处理以及将结果输出到输出电路。在 PLC 组态中,CPU 的模块选择是至关重要的,不同 CPU 所实现的功能也不一样,比如带有 DP 功能的 CPU 就可以进行网络通讯的组态,而其它 CPU 则无此功能。
(2)存储器
系统存储器和用户存储器是可编程控制器存储器的两种。系统存储器存放的内容包括以下几点:第一就是系统的管理程序也叫做监控程序;第二就是存放一些模块化应用功能的子程序;第三就是子程序调用管理程序,此程序具有命令解释功能,最后一个就是对应定义的参数功能,比如输入输出接口(I/O 接口),内部继电器、计时器以及移位寄存其器存储系统。用户存储器里通常用来存储永华编写的程序,考虑到用户编写程序的不完全稳定性,所以要先把编写额程序放入 RAM 中并且要给 RAM 配备备用的供电电池。

(3)输入/输出接口电路
图 3.1 PLC 结构图Fig .3.1 PLC structure diagram

由于实际应用中的外部电平与 PLC 自身所处理的信号电平不一样,因此需要中间模块将外部千差万别的电平形式转换为 PLC 的 CPU 做需要的标准电平模式,因此就要应用到 I/O 模块。I/O 模块具有光电隔离以及滤波的功能,它的作用就是作为接口模块传递输入输出信号[14]。

3.1.2PLC 模块选择

在目前工业控制的 PLC 应用中,其种类繁多,包括西门子、三菱、欧姆龙以及罗克韦尔等公司都有着自己成熟的 PLC 产品。本次论文将采用西门子公司研发生产的S7-400 系列的 PLC 模块。该系列的产品采用模块化结构的设计思想,运行速度快,功能实现强大并且可方便扩展。具体模块的介绍如下所示。
(1)中央处理单元(CPU)
S7-400 的 CPU 的种类有很多,包括 400-H、412-1、412-2 DP、412-2 PN、413-1、413-2 DP、414-1、414-2 DP、414-3DP、414-3 PN/DP、414F-3 PN/DP、416-1、416-2DP、416-3DP、416-3 PN/DP、416F-2、416F-3 PN/DP、417-4。由于本次案例需要用到多组

PLC 的通讯,所以选用带 DP 组态的 CPU。
(2)接口模块
在实际的 PLC 应用中,如果工程实例比较大,所需要的接口特别多的时候,一般CPU 自带的接口不够用,这个时候需要将一些模块扩展到另外的导轨上,而这些模块与 CPU 之间的通讯就需要接口模块来完成。由于扩展距离不同,采用 MPI 和PROFIBUS-DP 两种通信方式。在距离比较近的情况下,一般采用 MPI 扩展方式,比如扩展的空间是在某个箱子的内部。PROFIBUS-DP 属于现场总线的一种,它的应用距离常,应用范围广,一般用在去传播机舱,因为船舶机舱环境比较复杂。
(3)信号模块(SM)
在 S7-400 系列 PLC 中,信号模块分为两种型号,一种为 SM421,另一种为 SM422。 SM421 可以将外部传输过来的数字信号电平转换为内部信号电平,一般应用在连接开关和接近开关。该模块一共有 32 路共接地输入通道,负载电压为 24VDC。SM422 模块一般用于连接接触器、电动机电磁阀等设备,其输入通道液位 32 路,每 8 路一组进行供电。通常情况下下红绿灯的状态和 SM421 的相同,但是如果所选型号为 6E S7 422-1FF 和 6E S7 422-1FH,则红色表示熔丝和负载掉电。
(4)通讯模块通讯模块的作用就是实现 PLC 与其他设备之间的数据传输。在实现 PLC 与 PLC 之间的通讯时,通常在 Step-7 软件中进行通讯网络组态的时候,选择带有 PROFIBUS-DP 的 CPU 模块。如果要实现与上位机的数据共享,在组态时会选择工业以太网。本次课题将会用到 PROFIBUS 通讯以及工业以太网[15]。

3.2PLC 程序以及控制流程设计

3.2.1PLC 编程语言种类介绍

对于 S7-400 来说,常用的编程语言分为四种,分别为梯形图(LAD),语句表(STL),顺序功能图(SFC)以及功能块图(FBD)。
梯形图编程语言是目前 PLC 编程语言中应用最为广泛的语言,它以继电器控制为基础。逐渐在应用中发展出来。梯形图的最大优点就是简单、直观并且易懂,对于新手来说比较容易上手。本文将会采用的就是梯形图编程。语句表和梯形图完全不一样, 它类似汇编语言的风格,逻辑性强,强调系统化编程,引出比较抽象,其应用范围也比较广泛,通常可以和梯形图相互转换。顺序功能图的特点为图形化,它与工艺流程图的特点相类似。在编程的同时在输入与输出端标出特定符号就可以,大大简化了结

构的复杂性。功能图的编程对编程者的要求会比上面几种语言高一点,它的编程有功能块组成,功能块由逻辑的严密,编程者需要有扎实的地电路基础以及逻辑代数能力。

3.2.2PLC 硬件组态

PLC 编程的第一步就是硬件组态。在软件的主界面上新建一个项目,在项目里插入一个 SIMATIC 400 的站点,在新建的站点里点击“硬件”图标进行硬件组态。进入硬件组态界面后,如图 3.2 所示,左边为机架图,右边为 PLC 各型号模块的选择区。本次项目将选取 SIMATIC 400 型号下的模块,其中包括导轨模块、电源模块、中央处理器模快、接口模块以及信号模块。

图 3.2 组态界面图Fig.3.2 Configuration interface diagram
在机架中,一般分为 UR、ER、CR 以及 UR2-H 四种类型。由于本次项目较大, 将会用到 UR1 以及 ER1 两种种类的机架,其中 ER1 一般用于各种模块,而 ER1 一般用于信号模块、接口模块以及供电模块。中央处理器选用 CPU 416-2DP 型号,该型号的 CPU 带有 DP 网络通讯功能,可以满足 PROFIBUS 的通讯需求。CPU 的型号选好后,还应该对 CPU 的参数进行设置,其参数一般包括存储器、中断、时钟等,其详细参数以及配置如图 3.3 所示。

图 3.3 CPU 参数图Fig…3.3 CPU parameter diagram
考虑到本次项目的通讯还将用到以太网,所以将再添加 CP443-1 模块,用于扩展连接到工业以太网。电源将选用 PS407 10A 规格的型号,模拟量的输入与输出模块分别采用 AI 8x13bite 以及 AO 8x13bite 型号数字量的输入与输出模块分别选用 DI 32xDC 24V 以及 DO32 xDC 24V/0.5 型号,接口模块选用的型号为 IM 460-0 以及 IM 461-0, 其详细型号以及选用数量如图 3.4 所示。图 3.4 硬件组态图Fig.3.4 Hardware configuration diagram

3.2.3PLC 编程设计

(1)符号表

在实际的项目编程设计中,为了考虑到程序的可阅读性与操作的简便性,会在程序的设计中加入符号表的设计。符号表的最大优点是可以用符号地址代替模块里的绝对地址去访问所需要的变量,在程序运行中,STEP7 软件会自动将符号地址转变为绝对地址。在软件界面建好项目后,点击界面上的“Symbols”图标,进入到符号表的编辑界面,如图 3.5 所示。
符号表的每一行都会状态栏、符号栏、地址栏、数据类型以及注释栏,符号表里可以定义的符号地址可以由很多种,包括 I/O 接口、位存储器、定时器、计数器、程序块、数据块等等,但是一般来说传输元件不建议编入符号表中,图 3.5 为本次项目的部分符号表图,不同的项目制定的符号表各不相同。

图 3.5 符号表界面Fig.3.5 Symbol table interface
在设计一个完整的符号表之前首先要确定此次项目需要监测的点分别是什么。本次项目中涉及到了船用柴油机系统、泥泵控制系统、齿轮箱推进系统、压力系统(包括水压和气压)、温度系统(水温、排气温度和油温)、发电系统与配电系统等多个系统,项目庞大,监测量繁多,这也正好能体现出符号表的优势,由于篇幅的关系, 图 3.6 只能展示部分监测点的符号表图。

(2)数据采集
图 3.6 项目部分监测点符号表Fig.3.6 The part symbol diagram of the project

数据采集是机舱报警监控系统的第一步,它是真实数据与数据处理之间的纽带。由于船舶机舱的工作环境不佳且需要监控的数据点众多,所以数据的采集更加显得尤为重要。一般来说,数据一般分为硬接线数据和通讯数据,硬接线数据通常意义上表示为 4-20mA 或者是 0-5V 的模拟量以及热电偶、热电阻和开关量等铜鼓品牌电缆接入PLC 中的数据,而通讯数据一般来说就是指通过通讯协议包括 PROFIBUS、MODBUS 以及 OPC 等方式传输到 PLC 中的数据。本次项目的数据采集,两种方式的数据方式都将涉及,对于第二种的通讯方式将在下一节通讯章节单独说明。关于硬接线数据的采集,如图 3.7 所示。图中所展示的是项目中数据采集单元的信号采集箱,本次项目一共有三个这样的

采集箱。由于实际现场采集环境的限制,采集箱的设计都是符合了相关标准。三个采集箱共用一个电源柜,每个信号采集箱的采集分工都不一样。以上图采集箱为例,此箱主要采集的为燃油液位、燃油温度以及滑油等方面的数据,其部分原理图如图 3.8 所示。在具体的 PLC 程序设计中,以主选锁紧泵报警为例,当系统检测到主锁紧泵的运行状态发生异常时,会触发常开触点,使常开触点闭合。由于每个泵的运行状态的触点都是并联在程序中,所以只要运行中的泵有任何一个发生故障,就会触发触点的非正常状态,使得触发信号发送到 CPU 中,供后续程序数据块的保存于处理,这就是硬接线数据采集的方式,程序图如图 3.9 所示,其他硬接线数据的采集都大体相似, 本节就不一一介绍。图 3.7 信号采集箱Fig.3.7 Signal collection box

图 3.8 采集箱部分接线原理图Fig.3.8 The part wiring schematic of the Acquisition box

图 3.9 主选锁紧泵报警 PLC 程序图Fig.3.9 The PLC program map of the main option lock pump alarm
(3)模块化编程
PLC 的编程总体思想就是将机舱内各个采集箱采集来的模拟量或者数字量数据传送到 CPU 中,根据实际需要,让 CPU 做出各种处理。在系统运行的整个过程中,会调用到不同的模块,比如 OB 模块,FC 模块以及 DB 模块等等,为了使编程更加有调理且高效率,在编程时,我们会采用模块化编程的思想,将整个程序分割为一块一块来实现,比如让 OB 模块调用 FC 模块实现具体功能,让 DB 模块负责数据的存储等等, 其核心思想如图 3.10 所示

图 3.10 模块化编程结构图Fig.3.9 Modular programming structure diagram

3.2.4控制流程设计

在确定好了编程的思想后,就要开始设计整个项目的控制流程。控制流程的核心思想就是将采集来的数据传输给 CPU 进行分析并作出正确的处理措施,它决定着整个系统是否具有可操作性和可应用性。根据本次项目的需要与实际的操作,本文设计出如下的控制系统流程结构。
(1)船舶开始工作前,报警系统检测燃油压力、燃油温度、滑油压力、滑油温度、循环水压力、油舱液位等检测指标,如果都正常,则开始启动各电机工作,并触发继电器,通知泥泵合排;如果有异常,则控制声光报警器报警,并调节相应的手动阀,直至所有参数正常;
(2)船舶在工作过程中:检测到滑油温度偏高(90°左右),CPU 控制声光电器进行声光报警,并同时控制变频器,通过调节变频器将泥泵电机转速调小,直至参数正常;如果滑油温度过高(95 度及以上),CPU 立即发出停止指令并进行声光报警, 同时向继电器发送指令,通知泥泵脱排,通知相关人员检修;
(3)系统检测到滑油压力和滑油压力不足时,CPU 向变频器发送降速指令,控制电机降速;当压力严重不足时,CPU 发送停止指令并声光报警,同时向继电器发送指令,通知泥泵脱排;
(4)系统检测到水箱水温温度偏高时(90 度左右),CPU 控制水箱阀门打开并同时向抽水泵电机发送启动指令,向水箱增加冷水,直至水箱温度正常;若水箱水温温度突然过高(100 度及以上),则 CPU 立即向电机发送停止指令,并进行声光报警,同时向继电器发送指令,通知泥泵脱排;
(5)当系统检测到循环水压力过低时,控制声光继电器报警,通知人员调解手动阀, 调解循环水压力,直至参数正常;检测到油舱液位偏低时,控制声光继电器报警, 如果液位过低,则 CPU 发送立即停止指令,并声光报警,同时向继电器发送指令,

通知泥泵脱排;
(6)船舶工作船舶结束工作时,CPU 通过变频器向泥泵电机逐级发送减速指令,最后发送停止指令,并向继电器发送指令,控制泥泵脱排;向没闭合的阀门发送关闭指令,控制阀门的闭合。

3.3系统通讯网络结构设计

本次项目在通讯方面所使用的为以太网与 PROFIBUS 相结合的通讯方式。如图3.11 所示,图中所展示的即为本次项目的网络通讯结构图。有图中可知,信息层与控制层之间用以太网进行通讯,设备层与控制层之间使用 PROFIBUS 总线进行通讯。

图 3.11 系统网络结构图Fig.3.11 System network structure

3.3.1PROFIBUS 现场总线技术介绍

PROFIBUS 现场总线由西门子公司提出,具有独立且开放的特点,是目前应用最广泛的总线之一[16]。其传输介质为屏蔽双绞线或者光纤,传输速度为 9.6Kbite/s 到 12Mbite/s 之间,传输距离为 100-1200M[17-18] 。PROFIBUS 总线一共可分为三种结够: PROFIBUS-DP,PROFIBUS-FMS 以及 PROFIBUS-PA[17]。PROFIBUS-DP 一般用于现场级的通讯设备, PROFIBUS-FMS 通常应用的范围为工厂楼宇的自动化级,而PROFIBUS-PA 应用在过程控制中较多[19-20]。

3.3.2PROFIBUS-DP 网络建立

建立 PROFIBUS-DP 网络,首先在硬件组态中选择带有 DP 模块的 CPU,本次项目选择的CPU 模块为CPU416-1DP,其订货号为6ES7 416-2XN05-OABO,固件为V5.0。在 CPU 模块选好后,点击 DP 栏,进入 DP 网络建立界面,如图 3.12 所示。
在界面中,会有常规、地址、工作模式以及组态等五个参数设置,在常规参数这一栏,点击属性栏,会进入 DP 网络组态属性设置界面[21-22],如图 3.13 所示。在参数项选定新建,在新建后的常规项设置网络的名称与子网 ID,在网络设置项选择网络的传输速率,通常选取为 1.5Mbps,配置文件选择 DP 项,配置好常规参数后,依次将地址参数、工作模式等参数根据项目要求设定好即可。

图 3.12 DP 组态界面图Fig.3.12 DP configuration interface diagram

图 3.13 网络属性配置图Fig.3.13 Network property configuration diagram
DP 网络组态好后,根据此次项目的需要,从硬件组态栏中选取相应的模块。首先从右侧“ET200M”栏中选取 IM153-1 模块,从“Network Components” 栏中选取 DP/DP Coupler 模块,以此类推,依次添加 EM-277 模块以及 Encoder ELCO 模块,其完整的组态网络图如图 3.14 所示。图 3.14 PROFIBUS 网络组态图Fig.3.14 PROFIBUS network configuration diagram

3.3.3工业以太网的建立

工业以太网的建立与 PROFIBUS 网络的建立相类似。在 CPU 模块“CP4431”栏双击,进入以太网建立界面,如图 3.15 所示。与总线网络建立的方法一样,依次设置好地址、选项等栏的数据,点击属性,进入属性设置步骤,如图 3.16 所示。

图 3.15 以太网建立界面Fig.3.15 Ethernet establishment interface

图 3.16 以太属性设置界面Fig3.16 Ethernet property setting interface
在属性设置界面中,需要设置好 mac 地址以及 IP 地址以及子网掩码,根据项目不同,各 IP 地址也不一样。如有需要路由器,还设置路由器地址,设置好后,点击新建即可创建好完整的工业以太网。PROFIBUS 与以太网都设置好后,一个完整的通讯网

络就基本搭好,根据项目的功能需求,将添加不同的模块,最终的网络组态结构图如图 3.17 所示。

图 3.17 网络组态结构图Fig.3.17 Network configuration diagram

3.4监控界面设计

监控界面是整个机舱报警监控系统中的人机交互部分,它将底层信号采集箱采集来的各监测点数据实时显示在监控界面上,船舶工作人员会根据实时数据来掌控船舶的运行状态。在本次项目中,监控界面的开发软件为 VisualStudio2008,编程语言采用C++,在软件中创建 MFC 项目,来实现对界面的设计。根据项目的需要,本次监控软件的设计将包括以下几项功能。
(1)分组列表显示功能
分组列表页面根据设备所属系统划分,通过列表型式显示各设备或系统中所有被监测信号数据,包括模拟量数据(如温度、压力等信号)和开关量信号状态(如失电报警、综合故障等),其界面如图 3.18 所示。
(2)图形显示功能
图形页面可以提供:设备状态监视,设备管路模拟,这些页面对各个设备(如主机,发电机等)的运行状况提供直观的监测。同时可以根据用户的要求针对特定的设备和系统定制图形页面,具体如图 3.19 所示。

图 3.18 分组列表显示界面Fig.3.18 Group list display interface

(3)报警操作功能
图 3.19 图形显示界面Fig.3.19 Graphical display interface

前面两种功能都是显示功能,而报警操作是整个系统中最重要的环节,一旦船舶设备发现异常,及时有效的报警能够最大限度的晚会不必要的损失,因此在设计报警操作这一界面时,要求简单实用易操作。报警一般分为报警呼叫以及报警确认,报警范围涉及轮机长、大管轮、二管轮以及三管轮,具体界面如图 3.20 所示。

图 3.20 报警操作界面Fig.3.20 Alarm operation interface

3.5本章小结

本章主要设计了系统的下位机部分,共分为两大部分。第一部分介绍了下位机的硬件组态与编程设计,在硬件组态方面先介绍了 S7-400 的 CPU 模块、接口模块、信号模块以及通讯模块等常用模块,并且在 Step7 软件中进行了详细的组态操作以及各模块的选型。编程设计方面首先介绍了 PLC 编程常用的编程语言种类并确定了本次课题所采用的梯形图的编程方式,以模块化的编程思想为中心,根据功能需求设计出相应的符号表与控制流程。第二部分介绍了下位机的网络通讯结构以及界面设计,给出了系统的网络结构图,设计出以PROFIBUS 现场总线与工业以太网相结合的通讯方式, 并在 Step7 软件中对网络组态进行的详细操作和属性设置,并对机舱报警系统各项功能需求给出了相应的界面设计。
到本章为止,机舱报警监控系统的主体设计已经完成,从下一章开始,将针对此套系统中的子系统在运行时期发生的故障,文章将从理论研究的角度出发,设计出一套符合此系统的故障诊断系统。

第 4 章 基于神经网络的船舶机舱报警监控系统的故障诊断研究

前三章以“通途”号项目为基础,详细介绍了机舱报警监控系统的设计与软件的组态操作。其中,“通途”号的机舱报警监控系统包括船用柴油机系统、泥泵控制系统、液压系统、发电机系统、齿轮箱推进系统等多个系统,作为“通途”号的动力来源,船用柴油机系统在机舱报警监控系统中有着举足轻重的地位,本章节就将针对“通途”号机舱报警监控系统的子系统即船用柴油机系统设计完整的故障诊断系统。

4.1船舶故障诊断技术概述

4.1.1船舶故障诊断技术类别

(1)直接测量法
直接测量法在船舶故障诊断技术的发展初期应用的较为广泛,其特点就是根据要求对被诊断对象的输出与常规值的大小作比较,如果输出值与标准值的差距较大,那么就可以认定次对象属于故障发生阶段[23-24]。该方法虽然直接了当,操作简单,但是经常会引发人为的失误导致漏判或者判断出现差错[25]。
(2)数学模型法
数学模型法较直接测量法相比加入了深层次的理论研究。该方法在研究一个实际问题时,需要将问题抽象化,找出各个元素之间存在的关系,根据这些关系来选择合适的数学模型建模[26]。然而在很多的实际问题中存在大量的非线性的问题,所以数学模型在解决这些问题时就会显示出不足。
(3)故障树分析法
故障树分析法最大的特点就是将整个故障事件用多个主要的大根系故障逐级展开,和我们人类思考问题以及解决问题的思维方式及其相似。通过一级一级的寻找与排除,最终找到故障的真正原因[27]。在现阶段,故障树分析法在许多领域都有着显著的应用效果包括船舶行业的主机遥控系统以及机舱报警监控系统。
(4)专家诊断法
专家诊断法最显著的特点就是将若干在船舶领域工作多年的专家所积累的工作经验作为相关知识建立一个知识库[28]。在船舶设备运行中,如果船员们发现了故障,便可以根据故障发生时的现象在知识库里找到最合适的解决方法。但在实际的应用中, 由于不同船舶的结构、年龄以及所处的环境不一样,其故障原因有时候千差万别,所

以,知识库的创建必须要有足够的深度与广度[29]。
(5)神经网络法
神经网络与其他数学模型不同的地方在于它本身有强大的输入输出的非线性映射性,自学性强而且自组织能力强,故障诊断方面尤其是船舶这样环境复杂的领域具有良好的应用效果[30]。就目前的技术来看,无论是在船舶主柴油机还是在舵机以及经桨装置等方面,神经网络的实际效果都很不错,为船舶故障诊断领域提供了一条全新的研究道路[31-32]。神经网络在应用时,主要是对故障模式进行识别以及预测,利用神经网络模型,对诊断系统在运行过程中的一些参数比如温度、转速、压力等等进行处理分析,得出相应的诊断结果[33-34]。

4.2神经网络概述

神经网络之所以会成为当下技术的研究热门,主要是其强大的处理非线性问题的能力[35]。因此在许多领域诸如预测控制、智能控制、模式识别、优化组合等有着显著 的应用,人工智能技术与信息处理技术的进步离不开神经网络的发展[36]。最近几年, 神经网络不断的与其他技术相结合,为人工智能的发展做出了巨大的贡献。
4.2.1神经网络的发展

1943 年,通过心理学家 McCulloch 和数学家 Pitts 两人的合作,第一个神经元的数学模型—MP 模型诞生,神经网络的时代由此开启[37]。到了 1949 年,Hebb 法则诞生, 为神经网络算法打下了基础。1957 年,感知器模型应运而生,Rosenblatt 成为首个把神经网络应用于工程实践的人。1962 年,自适应线性元件被 Widrow 提出,它的特点是连续取值,应用在自适应系统,这与当时的人工智能完全不同,那时候的传统人工智能以符号推理为主,由此形成了研究高潮。然而到了 20 世纪 60 年代中期,感知器的缺陷逐渐显露出来,所以研究跌进了低谷,不过还有少数学者依旧在坚持进行神经网络的研究,在这段时期,自适应共振理论、自组织映射、神经认知机网络理论、BSB 模型等都开始慢慢被提出来[38]。
1982 年,Hopfield 神经网络模型由美国物理学家 Hopfield 提出,在这个模型中, 他提出了一个新的概念—“计算能量函数”并解释了如何来判断网络稳定,此模型最成功之处在于解决了复杂度 NP 的旅行商问题(TSP)。1986 年,并行分布处理(PDP) 由 Rumelhart 和 McCelland 等人提出,与此同时,BP 算法即多层网络的误差反向传播学习方法被正式提出[39]。这种算法根据学习误差的大小,将学习的结果反馈到隐含层, 再通过调整各层之间的权系数,来得到预期的结果。直到现在,BP 算法都有着广泛的应用,无数的工程实例证明了 BP 算法的优越性与适用性,它是目前应用最多最基础

的网络算法[40]。

4.2.2神经网络的研究内容

由于现代计算机技术的发展,应用到神经网络的方面越来越多,体现了多学科交叉的特点,总的来说,神经网络的应用可以归纳为下面四个部分:
(1)生物原型研究:这种类型的研究一般从生物学方面来研究神经细胞、神经网络以及神经系统的结构和原理。
(2)建立理论模型:这种类型与仿生学一样的精髓,它模仿的对象就是真实存在的生物,以这些生物为模板,从而建立神经元、神经网络的理论模型。这些模型包括概念模型、知识模型、物理化学模型和数学模型[41]。
(3)网络模型与算法研究:这种模型不是凭空捏造出来的,它是在理论模型的基础上经过不断优化修改而得来的。通过理论模型来建立具体的网络模型,模型建好后可以应用在计算机仿真,这种模型也被叫做技术模型。
(4)神经网络应用系统:该系统最大的特点是基本实现实际的工程应用。它是在原有的基础上引进神经网络技术,将其改进成实用的系统,诸如机器人控制、故障诊断系统和专家系统,都是神经网络应用系统的衍生物[42]。
4.2.3神经网络模型

数学上的神经元模型就好比生物学上的神经细胞,神经网络就是模仿神经细胞的作用来建立模型,模拟真实世界的各种复杂的非线性情形[45]。
4.2.3.1神经元模型
作为神经网络的基本处理单元,神经元是非常重要的一个器件,一般有以下三种函数来表现非线性网络的特征。第一种为阈值型,其函数为阶跃函数,如下所示:

1f ( u i )  
u i  0u i  0
(4.1)

第二种函数为分段线性型,其函数如下所示:

f (u i
1)  au  b
u i  u 2u i  0  u 2u i  u1

(4.2)

第三种函数为 S 型函数,其函数表达式如下所示:

f (u i ) 
1  exp(
1
u i 2c
(4.3)

S 型函数目前在神经网络的应用中比较多的主要原因就是它能表现出神经元饱和

的特征。如上式所示,式中 C 为常数,此种函数连续可导,通过一些操作比如对曲线的参数进行适当的调节可以得到类似于阈值的函数[46]。
4.2.3.2神经网络的连接方式不同的神经网络它们的连接方式也不尽相同,通常来说,神经网络的连接方式有以下几种:
(1)前向网络结构
前向网络的结构依次可分为输入层、中间层(隐含层)以及输出层,这种模型结构的特点是后一层的信号只受前一层信号的影响并且后一层不可以影响前一层,它的传播方式为顺序传播,最终的输入有输出层给出。其代表型的网络结构模型为 BP 神经网络以及感知器网络。
(2)有反馈的前向网络
这种结构与前向网络相比最大的特点在于从输出层对输入层增加了反馈,这种网络结构最大的应用在存储某种模式结构,其典型的网络结构有神经认知机和回归 BP 网络[47]。
(3)层内有相互结合的前向结构
这种结构的最大作用就是可以抑制同时兴奋的多个神经元。当有多个神经元同时产生兴奋时,这种机制会抑制其中某些神经元,或者将它们独立分组来运行。这种作用通常可以用来挑选最大输出或最小输出的神经元并抑制其他神经元,让其处在无输出状态。
(4)相互结合型网络(全互联或者部分互联)
相互结合型网络和以上结构最大的不同在于它的网络是动态的,也就是说信号的传递可以无时无刻的在神经元中进行。这和前向网络信号通过神经元就结束完全不一样。信号从初始状态经过很多次变化才会达到某种平衡状态,与此用时,网络还会进入周期震荡或者其他类型的平衡状态[48]。

4.3BP 神经网络模型介绍

BP 神经网络是一种多层前馈神经网络,BP 全称后向传播学习算法,于 1986 年被Rumelhart 等人提出。就目前而言,BP 在网络模型的应用还是占据绝大部分的。

4.3.1BP 网络结构

BP 网络的特点是单向传播,它是一种多层网络,一般具有三层或三层以上的结构。当训练样本提供给网络后,神经网络便开始工作,从输入层经过中间层再到输出层得出响应结果。为了减少实际输出与理想值之间的差距,再从输出层开始,经过中间层

最终回到输入层,在这期间会逐层修改各连接权值以达到误差再可接受范围内的目的, 不断的进行误差逆传播的修正,最终得到响应的正确率就会不断的提升[49]。
4.3.2BP 网络模型建立规则

我们这里以三层网络结构的 BP 网络为学习例子,其结构如图 4.1 所示。输入层、隐含层以及输出层的神经元数分别为 n、q 以及 m。其中,输入层与隐藏层的连接权值为 Vki,隐藏层与输出层之间的权值 Wjk,隐藏层的阈值为 bk,输出层的阈值为 bj[50]。

Fig.4.1 Three-tier BP network structure从正向推导:输入层共有 n 个输入样本:X1 X2 X3 Xn,则隐藏层的输入为:

nSk  ( X iVki  bk )i 1
(4.4)

其中,k=1,2,3. q,隐藏层的输出为:

nZk  F1 (( X iVki  bk ))i 1
(4.5)

输出层的输入为:

qS j  (Wjk Zk  bj )k 1

其中,j=1,2,3. m,输出层的输出为:
(4.6)

qYj  F2 ((Wjk Zk  bj ))k 1
(4.7)

从反向推导:第 p 个样本的期望输出为tj ( p) ,其中 p=1,2,3. P;误差函数为:1 m 2

Ep  (t j ( p)  y j ( p))j 1
(4.8)

全局误差为:
1 P m 2 P

E  (tj ( p)  yj ( p))p1 j1
 Epp1
(4.9)

利用误差函数,我们可以进行反馈调节,分别对输出层和隐藏层的权值加以修正,具体的方法就是用误差函数对各权值求偏导数。输出层权值变化:

P(  Ep )ΔW    p1  
Ep

jkjk
Wjk
p 1 jk
(4.10)

其中 η 为学习率,一般设置在 0 到 1 之间,可以使误差慢慢地减少,不会产生突变。定义误差信号为:

 yj
  EpS j
  EpYj
YjS j
(4.11)

则: 1 m( (tj ( p)  yj ( p)) )

Ep  2 j1   m (t ( p)  y ( p))

(4.12)

Yj
Yj
 j jj1

Yj
 F2 (S j )  F ’ (S )

所以可得:
S j
S j
(4.13)

  Ep  Ep Yj  m (t §  y §)F’ (S )

yj S
Yj
Sj
 jj1
j 2 j
(4.14)

另:EpWjk
 EpS j
S jWjk

.(4.15)

可得:

EpWjk
 EpS j
S jWjk
 
S jyjjk
(4.16)

S jWjk
q(Wjk Zk  bj ) k 1Wjk
 Zk

(4.17)

EpWjk
m (tj 1
j ( p)  y j
( p))F ’ (S
j )Zk
(4.18)

输出层权值调整:

PΔW  
Ep

m  (t

( p)  y

( p))F ’ (S )Z

jk p 1 jk
 jj 1
j 2 j k
(4.19)

隐含层的权值变化:

E
P  Ep
P E

ΔV  
  p 1   
(4.20)

kiki
Vki
p 1 Vki

定义误差信号为:

可得:
 zk
  EpSk
  EpZk
ZkSk

(4.21)

 1 m( (tj § yj §) )Ep  2 j1  m (t § y §)F’ (S )W

Zk
ZkZk  F1 (Sk )  F ’ (S
 jj1

)
j 2 j jk
(4.22)

(4.23)

Sk Sk

求出误差信号为:

 zk
m
 (t j j 1
( p)  y j
( p))F ’ (S
)F ’ (S
j )Wjk
(4.24)

又:

隐含层最终权值变化为:
EpVki
  zk
SkVki
  zk Xi

(4.25)

PΔV  
Ep   P

m m(t ( p)  y
( p))F ’ (S
)F ’ (S )W X

ki  V
  j
j 1 k 2 j
jk i
(4.26)

4.3.3BP 网络设计技巧
(1)输入和输出层设计
神经元的输入层数量一般没有固定的公式来计算,它需要根据不同的情况来确定数量。比如模拟信号对应的就是波形的采样数目;时间序列对应的输入个数就为一个单元;图像对应的就是图像的像素经过处理的图像特征,而输出层的输出维数一般由作者根据需求自行设定。
(2)隐层的设计
对于 BP 网络,在设计隐层网络之前,我们需要了解关于 BP 网络的一个重要的定理:单隐层的 BP 网络可以逼近任意一个连续函数,此函数的区间为任意的闭区间。由此可以得到这样的结论:一个三层的网络可以解决任意 N 维到 M 维的映射问题。相对于输入层和输出层来说,隐层的神经元数目是一个非常复杂的问题,这绝大多数要依靠设计者自己多次工程实践的经验,目前没有一个清晰的公式来阐述其个数。
(3)BP 网络的不足与改进
BP 算法可以让权值收敛到某个值,但并不能完全确定让其收敛到误差平面的最小值,其原因是会陷入局部最小值,解决这个问题的方法是采用附加动量法[51]。还有就是考虑到隐层的层数和单元数无法有公式精确的计算出来,通常是根据实验者的经验或者通过反复试验来确定,从而导致网络存在很大的冗余性,增加了网络学习的负担。最后的问题是网络的学习和记忆的稳定性不是很好,一旦学习样本增加了,网络就得从头开始训练,以前的阈值和权值是无法调用的。

4.4RBF 神经网络模型介绍

从上面对BP 网络介绍中我们可以很清楚的知道BP 网络在权值的调节时采用的是梯度下降法,会陷入局部最小值的状态,而本节将要介绍的径向基(RBF)函数则有着在逼近能力、分类能力和学习速度方面优于 BP 网络的表现。RBF 函数网络的结构是两层前向型,其中包含隐层和输出层,隐含层具有径向基函数神经元,输出层具有线性神经元。4.4.1 径向基函数神经元模型如图 4.2 所示,这是一个具有 R 个输入的径向基神经元模型。

图 4.2 径向基神经元模型Fig.4.2 Radial basis function neuron model
径向基函数神经元的传递函数的种类是非常多的,其中应用的最普遍的就是高斯函数(radbas),radbas 的输入和之前提到的神经元不一样,它的输入为输入向量 P 和权值向量 W 之间的距离乘以阈值 b。径向基函数的传递函数的表达形式以及函数图形如图 4.3 所示:

radbas(n)  en2
(4.27)

1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0-5 -4 -3 -2 -1 0 1 2 3 4 5

图 4.3 径向基传递函数Fig.4.3 Radial basis function transfer function
从图中可以看出,当 n 为 0 时,函数的输出最大为 1,也就是权值向量和输入向量之间的距离变小,则输出就变大,这就意味着径向基函数对输入信号在局部产生响应,越往中央靠近,输出响应就越强烈。从这些可以看出,径向基函数具有极强的局部逼近能力,所以我们也称径向基函数为局部感知场网络,其中阈值 b 的作用就是用来调整神经元的敏感度。
4.4.2径向基函数网络结构及其工作原理如图 4.4 所示,径向基函数模型由隐含层和输出层组成。其中隐层有 S1 个神经元,

节点的函数为高斯函数,输出层有 S2 个神经元,节点的函数就选用常用的线性函数。Fig.4.4 Radial basis function network structure
在整个网络结构中,||dist||模块的作用是计算输入向量 P 与输入的权值向量 IW 的行向量之间的距离并产生 S1 维向量,得到的结果与阈值 b 相乘,最后通过传递函数得到第一层的输出,在实际的应用中,径向基网络函数模块 newrbe()和 newrb()都会在过程中直接应用,再通过 sim()函数仿真得到最终的网络输出[52]。
径向基函网络模型的具体工作原理如下:径向基层每一个神经元都会在网络的输入端有向量加入时输出一个值,这个值就意味着输入向量与神经元的权值向量之间的接近程度,如果值为 0 或者趋向于 0,则意味着它们两个量之间相差很多,经过第二层,最终的输出也趋向于 0,反之,趋向于 1 就意味着差别很少,经过第二层,最终的输出会接近于第二层的权值。从整体来看,如果整个网络中径向基神经元输出为 1的个数只有一个,其余均为 0 的话,那么输出为 1 的那个神经元的第二层权值大小就基本等于线性层最终输出值的大小,但是一般而言不会只有一个神经元的输出为 1, 这就意味着最终的输出各不相同[53]。
4.4.3径向基函数网络结构的构建
下面以“newrb”函数为例介绍径向基网络的创建。用“newrb”创建一个径向基函数时,它的调用格式如下所示:net  newrb

[net, tr]  newrb(P,T , GOAL, SPREAD, MN , DF )
(4.28)

在上式中,P 代表 Q 组向量组成的 RQ 维矩阵,T 代表 Q 组目标分类向量组成的SQ 维矩阵,GOAL 代表均方误差,其默认值为 0,SPREAD 代表径向基函数的扩展速度,其默认值为 1,MN 的代表的是神经元的最大数目,其默认值为 Q,DF 代表的

是两次显示之间所添加的神经元数目,其默认值为 25,net 和 tr 都是返回值,分别代表一个经星际网络和训练记录[54]。在网络的设计过程中,需要通过不断地实验来进行SPREAD 值的尝试,最终来确定一个最优值。 至于其它形式的创建比如“newrbe”函数、“nerwpnn”函数以及“newgrnn”函数的网络模型方法不再赘述,基本和“newrb” 函数一样。另外还有转换函数 ind2 vec 和 vec2 ind, 前者是用来将数据索引转换为向量组,后者与前者功能相反。转换函数“ind2vec”函数的调用格式如下:

vec  ind 2vec(ind )
(4.29)

其中,ind 代表数据索引列向量,vec 表示函数的返回值,矩阵的行数等于数据索引的个数,列数等于数据索引最大值[55]。

4.5Elman 神经网络模型介绍

上个世纪九十年代,Elman 提出了 Elman 神经网络模型,该模型与前馈网络最大的不同是在隐含层之间增加了一个承接层,这样做的目的是为了让网络具有记忆的功能,使网络更加适应时变特性,让系统的动态过程显示的一目了然。
4.5.1Elman 网络的结构Elman 型回归神经网络如图 4.5 所示。它一般分为 4 层,分别为输入层、隐含层(中间层)、承接层和输出层。其中,输入隐含层和输出层的连接结构和之前的前馈网络的结构有着异曲同工的地方,它的输入层的作用仅仅就是信号的传输,输出层的作用为线性加权。在隐含层中,它的传递函数可以选用线性函数或者非限性函数,承接层还可以被称作上下文层或者状态层,它在网络中的作用是用来记忆隐含层前一刻的输出值,起到延时算子的作用。Fig.4.5 Elman neural network structure

Elaman 型回归网络对历史数据的敏感性要比其他类型的网络更加强烈,原因就在于承接层的延迟和存储作用,它可以将隐含层的输出自联到其输入,使网络在处理动态信息的能力上得到增强,从而实现动态建模的效果[56]。
4.5.2Elman 网络的构建
应用 newelm(.)函数可以创建一个 Elman 网络的模型,一般可构建两层或者多层Elman 网络,隐含层常用的传递函数为 tansig 函数,输出层常用的传递函数为 purelin 函数[57]。缺省的 BP 训练函数常用 trainbfg,有时候也用 trainlm。缺省的 BP 学习规则为 learngdm,缺省表现函数为 mse[58]。应用 initnw(.)函数可以对网络进行初始化,应用 Nguyen-Widrow 可以对网络的权值和阈值进行初始化,其结构举例如下:

net  newelm([0 1],[5 1],{’ tan sig’, ‘log sig’})
(4.30)

从表达式中可以看出隐含层有 5 个神经元点,节点函数为 tansig,输出层一个神经元,节点函数为 logsig,输入向量范围为[0 1][59-60]。

4.6基于神经网络的故障识别实例分析与仿真

作为“通途”号机舱报警监控系统中最重要的子系统,船用柴油机系统的好坏对船舶运行的安全性有着重大的影响,因此,实现对船用柴油机的性能指标参数的监测是机舱报警监控系统最核心的功能。在柴油机发生故障的时候,能否第一时间判断出故障发生的原因并且立即解决故障是最关键的功能,对船舶的运行有着很大的意义。一般传统的柴油机故障诊断的方法有润滑油法、性能参数法以及振动噪声法。
通常情况下,在建立网络模型来解决船用柴油机故障的时候,不会只建立一个模型来对整个故障系统来进行分析,原因在于船用柴油机的组成比较复杂,影响因素之多,不同故障之间的相互作用与其传播机理也各不相同,所以要想用一个网络模型囊括所有的故障诊断是难度极高的,网络的学习效率也会下降,会影响最终的诊断效果。通过实际的经验以及对系统故障的研究可以发现,尽管系统的故障具有复杂性,但同时也具有层次性,也就是说一个柴油机的主系统可以分解为若干个子系统来研究,这些子系统包括涡轮增压系统、润滑系统、燃油系统、冷却系统、传动系统和操纵系统等。每一个子系统的异常都会引起整个系统的异常,所以本文研究故障诊断的方法为层次诊断模型方法。这种方法的特点是层层推进,分次解决,第一层次是先确定哪个子系统发生故障,第二层次就是利用神经网络建立模型,进一步诊断出故障的原因。
4.6.1故障问题描述与神经网络模型设计
(1)输出变量输出变量即故障变量,包括以下几种:工作状况正常、增压器效率下将、空冷器

传热恶化、透平保护格栅阻塞、透平通流部分阻塞、空气滤清器阻塞、空冷器空气测流阻增大和废热锅炉流阻增大等。其中,空气滤清器阻塞、空冷器空气测流阻增大和废热锅炉流阻增大这三个因素可由部件特性参数诊断输出,所以此次网络的输出向量选择前面五个因素。
(2)输入向量
输入向量即征兆向量,它主要包括排气总管温度、扫气箱压力、各缸平均燃烧最大爆发压力、增压器转速、扫排气道压损系数、压气机出口温度、扫气箱温度、滤网压损系数、空冷器压损系数、废气锅炉压损系数以及柴油机负荷参数。
在确定好输入向量的类型时,还需要确定个监测点值的参考值,也就是标称值, 这些值就是在相关技术规范的要求下各监测点没有在没有故障时的值,如表 4.1 所示。表 4.1 监测点标称值Table4.1 The nominal value of the monitoring point
气缸排气温度 30K(绝对温度)
扫气箱压力 0.06Pa
增压器转速 1500r/min
最大爆发压力 1MPa
扫气箱温度 30K
滤网压损系数 0.1
扫排气道压损系数 0.06
空冷器压损系数 0.1
废气锅炉压损系数 0.1
压气机出口温度 40K
这些标准数据作为比较的参考值,若实际工作参数和标准值存在较大差异,则认为柴油机存在不同程度的故障。其中,网络的输入变量包括:排气总管温度 Tr、扫气箱压力 Ps、各缸平均燃烧最大爆发压力 Pmax、增压器转速 ntc、扫排气道压损系数 Ta、压气机出口温度 Tc 和扫气箱温度 Ts,剩下的则作为部件特性参数,直接诊断。
(3)样本收集
故障样本的收集是神经网络进行诊断的关键环节,涡轮增压系统的一种故障对应一种样本,为了使诊断的结果更加精确,每一种故障将会分成 0、1 和 0.5 三种程度的样本,1 代表严重故障,0.5 表示中度故障,0 代表无故障,样本数据如表 4.2 所示:

表 4.2 故障样本数据Table 4.2 Fault sample data
样本序号 输入向量 目标向量
1 0 0 0 0 0 0 0 0 0 0 0 0
2 0.935 -0.576 -0.892 -0.900

0.088 -0.604 -0.069 0.499 0 1 0 0 0
3 0.253 -0.301 -0.304 -0.431

0.031 -0.298 -0.038 0.499 0 0.5 0 0 0
4 0.277 0.166 0.106 0.200

-0.030 0.179 0.390 0.499 0 0 1 0 0
5 0.085 0.058 0.039 0.070

-0.010 0.061 0.122 0.499 0 0 0.5 0 0
6 0.657 -0.319 -0.351 -0.548

0.118 -0.419 -0.057 0.499 0 0 0 1 0
7 0.256 -0.166 -0.179 -0.289

0.065 -0.225 -0.034 0.499 0 0 0 0.5 0
8 0.615 0.698 0.252 0.687

0.092 0.685 0.065 0.499 0 0 0 0 1
9 0.128 0.255 0.239 0.254

0.043 0.245 0.020 0.499 0 0 0 0 0.5

4.6.2RBF 神经网络的故障识别模型设计与仿真
在设计 RBF 网络时,最重要的参数是径向基函数的分布常数 spread 的值,由于spread 的值没有固定的公式能推导出范围,所以根据样本的数量的大小,本次网络训练的 spread 的值分别取 1.2、5.2 和 10.2 三个值,最终确定一个最优值,创建网络的函数选用 newrbe(.)即创建一个精准的 RBF 神经网络,测试样本如下表 4.3 所示。

表 4.3 测试样本Table4.3 Test sample
序号 输入向量 故障原因
1 0.920 -0.526 -0.885 -0.970 -0.090 -0.611 -0.071 0.502 F2(增压器效率)严重故障
2 0.091 0.061 0.036 0.068 -0.012 0.059 0.131 0.499 F3(空冷器传热)中等故障
3 0.671 -0.315 -0.362 -0.552 0.121 -0.417 0.061 0.499 F4(透平保护格栅)有严重故障
4 0.250 -0.299 -0.298 -0.424 0.035 -0.300 -0.030 0.499 F2(增压器效率)有中等故障
5 0.929 -0.110 0.612 0.194 -0.039 0.071 0.303 0.499 F3(空冷器传热)有严重故障
6 0.250 -0.159 -0.130 -0.310 0.067 -0.299 -0.035 0.499 F4(透平保护格栅)有中等故障
7 0.620 0.203 0.451 0.478 0.493 0.169 0.024 0.499 F5(透平通流)有严重故障
为了便于诊断,将故障分为三个等级,包括严重故障、中等故障和无故障,其结构分类如下:严重故障:0.75<Fi<1.50;中等故障:0.25<Fi<0.75;无故障:Fi<0.25 或者 Fi>1.50。
当 spread 为 1.2 时,创建一个网络:net=newrbe(P,T,spread),其中,P 代表了输入向量,T 代表目标向量,其详细输出结构如下表 4.4 所示。表 4.4 spread=1.2 时所有输出Table4.4 All output when spread equals 1.2
输出结果 故障类型
0 0.9919 -0.0507 0.0016 -0.0013 F2 严重故障
0 0.0018 0.5237 0.0029 -0.0033 F3 中等故障
0 -0.0291 -0.0654 1.0580 -0.0013 F4 严重故障
0 0.4839 -0.0019 0.013 -0.0030 F2 中等故障
0 -0.0010 1.0021 -0.0121 0.0568 F3 严重故障
0 -0.2667 -0.6058 0.8047 -0.0648 F4 中等故障
0 -0.0016 -0.1371 -0.0078 1.0042 F5 严重故障
由图中可以看到第一组数据的 F2 的值达到了 1,按照分类标准,属于严重故障; 第二组 F3 的值超过了 0.5,属于中等故障,第三组 F4 的值达到了 1.05,属于严重故障,由此可以看出网络能够准确地识别出故障。
在故障识别上,本次设计的网络基本满足需要,接下来将对比 spread 的值不同时, 网络的准确度是否存在较大差异,以便选择出精确度最佳的网络。当 spread 值改变时,

其分别的输出如表 4.5 和表 4.6 所示。表 4.5 spread=5.2 时所有输出Table4.5 All output when spread equals 5.2
输出结果 故障类型
0 0.9512 -0.2765 0.0609 0.0030 F2 严重故障
0 0.0057 0.5363 -0.0022 -0.0014 F3 中等故障
0 -0.1427 -0.2343 1.1685 -0.0292 F4 严重故障
0 0.4692 -0.0299 0.0275 -0.0097 F2 中等故障
0 -0.0670 0.9054 0.0483 0.0427 F3 严重故障
0 0.6319 -0.0545 -0.2468 0.1819 F4 严重故障
0 -0.0797 -0.1817 0.0276 0.9897 F5 严重故障
表 4.6 spread=10.2 时所有输出Table4.6 All output when spread equals 10.2
输出结果 故障类型
0 0.9870 -0.4795 0.0449 0.0410 F2 严重故障
0 0.0075 0.5378 -0.0042 -0.0002 F3 中等故障
0 -0.1746 -0.2424 1.1956 -0.0433 F4 严重故障
0 0.4648 -0.0377 0.0318 -0.0112 F2 中等故障
0 -0.0656 0.8666 0.0488 0.0473 F3 严重故障
0 -0.3033 -0.7341 0.8488 -0.0741 F4 严重故障
0 -0.1612 -0.0794 0.0871 0.9433 F5 严重故障
从不同 spread 值的输出来看,其精确度存在着不同的差异。在诊断识别的时候, 当 spread 的值为 1.2 时,其输出基本满足要求,其对应的故障都能准确地识别出来。在 spread 的值为 5.2 和 10.2 时,测试样本中 F4 的故障为应该中等故障时,而此时的两种模型的输出均为严重故障,与测试样本不符合。由此可以假设 spread 的值是不是越低,精确度会越高?接下来我们选取 0.2 作为 spread 的值,其输出如表 4.7 所示。从输出结果可以看出,在诊断故障 3 和故障 4 的时候,输出非常准确,但在诊断故障 2 严重故障的时候,虽然也可以准确的诊断出故障类型,但误差明显偏大,精确度下降。由此可以看出,并不是 spread 的值越小,网络的精确度就大,所以,综合来看,spread 的值选取 1.2。RBF 属于前馈型网络,在前馈型网络中,BP 网络也占据着

不可动摇的地位,下一节将利用 BP 网络建模,与 RBF 建模结果进行比较。表 4.7 spread=0.2 时所有输出Table4.7All output when spread equals 0.2
输出结果 故障类型
0 0.8745 0.1254 -0.000 -0.000 F2 严重故障
0 -0.001 0.5276 0.0002 -0.000 F3 中等故障
0 -0.0057 0.0606 0.9496 -0.000 F4 严重故障
0 0.4924 -0.0152 0.0144 0.0000 F2 中等故障
0 -0.0001 0.9974 0.0002 0.0000 F3 严重故障
0 -0.0149 0.1000 0.4660 -0.0000 F4 中等故障
0 0.0000 0.1448 -0.0000 0.8552 F5 严重故障
4.6.3BP 神经网络的故障识别模型设计与仿真
上一节选择了 RBF 算法进行网络建模并进行可故障识别,其最终效果还是基本满足需要,同样作为前馈型网络,BP 算法在故障识别中也有着广泛的运用,下面将选择BP 算法建立网络模型,看其对故障的识别效果能否达到要求。
在设计 BP 网络模型的时候有两点需要注意,首先需要知道的是一个三层的 BP 网络结构就基本在故障识别问题上能有一个很好的效果,还有一点需要了解的是对于隐含层的神经元 N2 和输入层 N1 的神经元个数没有严格意义上的数量关系,但是从过去的经验可以得知,它们之间有以下的近似关系,一般可作为网络设计的参考值,其关系形如 N2=2N1+1。
由这两个指导原则,我们可以设计以下的 BP 网络。由于网络的输入层有 8 个向量,那么所以隐含层的神经元选 17 个,输出神经元个数为 3,输入向量的范围为[-1 1], 由于输入层的向量范围在-1 和 1 之间,所以隐含层传递函数采用 tansig 函数,而输出层的传递函数采用 logsig 函数,两种函数的图像如图 4.6 和 4.7 所示。

1

0.8

0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8

-1-10 -8 -6 -4 -2 0 2 4 6 8 10

图 4.6tansig 函数图像Fig.4.6 Tansig function image

1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0-10 -8 -6 -4 -2 0 2 4 6 8 10

图 4.7 logsig 函数图像Fig.4.7 Logsig function image
由图中可以看出,tansig 函数的取值范围为[-1 1],而 logsig 函数的取值范围为[0 1],考虑到输入层神经元的范围,所以隐含层选用 tansig 函数。BP 网络的训练函数常用的有 trainlm、trainbfg、traingdx 以及 trainrp,下面将一一使用这些训练函数,比较最终的故障识别精确度,从而选择最优的训练函数。首先选用的训练函数为 trainlm,网络的训练参数如表 4.8 所示。表 4.8 网络训练参数设置Table4.8 Network training parameter settings
训练函数 学习函数 性能函数 训练次数 训练目标 学习速率
trainlm learngdm mse 1000 0.01 0.1

其中,learngdm 为学习函数的默认函数,mse 为性能函数的默认函数,在该属性下的网络训练误差图如图 4.8 所示。
由误差图可以看出,经过八次的迭代,最终的训练误差为 0.0047849,远远低于目标值 0.01,误差效果上完全满足要求,其最终仿真输出如表 4.9 所示。

100
Performance is 0.0047849, Goal is 0.01

10-1

10-2

10-3
0 1 2 3 4 5 6 7 88 Epochs

图 4.8 trainlm 训练误差图Fig.4.8 The training error map of traim method表 4.9 trainlm 训练法输出Table4.9 The output of trainlm training method
输出结果 故障类型
0.0247 0.5573 0.0000 0.0215 0.0000 F2 中等故障
0.0000 0.0000 0.4857 0.0005 0.0000 F3 中等故障
0.0007 0.0893 0.0016 0.7579 0.0007 F4 严重故障
0.0001 0.5042 0.0040 0.0249 0.0000 F2 中等故障
0.0000 0.0000 0.9485 0.0001 0.0167 F3 严重故障
0.0000 0.1398 0.0123 0.2838 0.0000 F4 中等故障
0.0000 0.0000 0.0733 0.0000 1.0000 F5 严重故障
从最终的输出来看,在进行故障的识别时,第一栏的故障类型在测试样本中为 F2 严重故障,而此模型识别出的类型为中等故障,与测试样本不一致,其他模式的故障在识别正确率上基本满足需求。由此可见,trianlm 训练函数的特点是训练迭代次数少, 效率高,正确率基本令人满意,虽然没有百分之百的识别出故障模式,但总体来说满

足要求。接下来选用的训练函数为 traingdx,它的训练误差如图 4.9 所示:

100
Performance is 0.00907376, Goal is 0.01

10-1

10-2

10-30 20 40 60 80 100 120 140 160 180190 Epochs

图 4.9 traingdx 训练误差图Fig.4.9 The training error map of traingdx method
与之前的 trainlm 训练函数相比,traingdx 的迭代次数为 190 次,远远多于 trainlm 的 8 次,最终的误差为 0.00907376,满足之前的设定要求,但和 trainlm 相比,误差还是偏大,可见 traingdx 训练函数效率并不是很高,它的仿真输出如表 4.10 所示:表 4.10 traingdx 训练法输出Table4.10 Output of traingdx training method
输出结果 故障类型
0.1644 0.5687 0.1310 0.0047 0.1644 F2 中等故障
0.0005 0.0073 0.5001 0.0565 0.0155 F3 中等故障
0.0224 0.2889 0.0298 0.6396 0.0020 F4 严重故障
0.0070 0.3166 0.0209 0.2701 0.0057 F2 中等故障
0.0009 0.0047 0.9514 0.0168 0.0426 F3 严重故障
0.0073 0.0928 0.0228 0.4823 0.0019 F4 中等故障
0.0019 0.0080 0.1056 0.0643 0.9026 F5 严重故障
从输出来看,它与上一方法所出现的问题一样,就是在 F2 严重故障故障这一模式的识别上出现偏差,诊断出来的都是中等故障,而且在这一栏,可以看出它 F1 和 F5

的输出值已经开始接近中等故障的值,可见其存在着隐患,其他模式的识别没有问题, 综合来看,traingdx 的效果没有 trainlm 的效果好,无论是在迭代次数、运行效率、准确性和精确度,都远远落后 trainlm。下一个选用的训练函数为 trainbfg,其训练误差图如图 4.10 所示:

100
Performance is 0.00985818, Goal is 0.01

10-1

10-2

10-30 2 4 6 8 10 12 14 16 1818 Epochs

图 4.10 trainbfg 训练误差图Fig.4.10 The training error map of trainbfg method
从图中可以看出,trainbfg 训练函数所需要的迭代次数比 traingdx 要少很多,效率上和 trainlm 相差无几,最终的误差为 0.00985818,和 trainlm 的精度基准持平,其仿真输出如表 4.11 所示:表 4.11 trainbfg 训练法输出Table4.11Output of traingdx trainbfg method
输出结果 故障类型
0.0000 0.7755 0.0084 0.0010 0.0005 F2 严重故障
0.0000 0.0000 0.4822 0.0043 0.0040 F3 中等故障
0.0000 0.2402 0.0000 0.9241 0.0042 F4 严重故障
0.0000 0.0000 0.0000 0.1566 0.0029 F2 无故障
0.0000 0.0000 0.9997 0.0006 0.0039 F3 严重故障
0.0000 0.0000 0.0000 0.4175 0.0024 F4 中等故障
0.0000 0.0000 0.2529 0.0003 0.8708 F5 严重故障
从输出的结果来看,在之前两种方法都识别错误的 F2 严重故障这一模式上,该方

法能准确的识别出此故障,但在 F2 中等故障这一模式的识别中,该方法给出的结果为无故障,与测试样本截然不同,而且在诊断 F5 严重故障时,第三列的输出已经呈现出中等故障的趋势,而样本中并没有给出此项故障,所以,trainbfg 这个训练函数是基本上不能满足要求。接下来将训练函数换成 trainrp,其训练误差图如图 4.11 所示。Performance is 0.00856013, Goal is 0.01010

10-1

-210

-3100 2 4 6 8 10 12 14 1616 Epochs

图 4.11trainrp 训练误差图Fig.4.11 The training error map of trainrp method
从误差训练图可以看出,trainrp 训练函数的迭代次数很少,只有 17 次,说明它的效率很高,而且误差也只有 0.00856013,完全符合要求,在该训练函数下的仿真输出如表 4.12 所示:表 4.12 trainrp 训练法输出Table4.12 Output of traingdx trainrp method
输出结果 故障类型
0.0000 0.7949 0.0587 0.0594 0.0143 F2 严重故障
0.0000 0.0267 0.5587 0.0330 0.0185 F3 中等故障
0.0000 0.1175 0.0070 0.9036 0.0539 F4 严重故障
0.0000 0.3405 0.0184 0.1922 0.0114 F2 中等故障
0.0000 0.0522 0.9663 0.0747 0.0082 F3 严重故障
0.0000 0.1813 0.0090 0.3487 0.0280 F4 中等故障

从最终的仿真输出来看,该方法在模式识别的精确度上完全符合要求,在频繁出现错误的 F2 严重故障的识别中达到了预期的要求,并且七种故障模式全部准确的识别出来,用时少,效率高。通过对 BP 算法的四种训练函数的使用和和对仿真效果的分析来看,在迭代效率上的排名为 trainrp=trainlm>trainbfg>traingdx,在识别的精确度上排名为 trainrp>trainlm>traingdx>trainbfg,综合来看,效果最好的是 trainrp 函数,效果最差的为 traingdx。
通过对 RBF 神经网络和 BP 神经网络建模仿真的结果来看,神经网络对故障模式的识别效果还是能满足实际的需求。横向对比来看,对于 RBF 算法,在建模的过程中, 可以通过改变平滑系数 spread 的值来不断修正仿真的结果,最终通过仿真的分析来看, spread 的值为 1.2 时效果最好;对于 BP 算法,最主要的通过改变训练函数的类型来适应预计的需求,最终的数据仿真说明训练函数为 trainrp 的时候,输出结果最符合要求。纵向对比来看,RBF 的识别更加准确,运行时间稍长,而 BP 算法迭代次数少,效率高,准确度也基本符合要求,可以根据不同的需要选择不同的算法。

4.7基于神经网络的故障预测实例分析与仿真

在故障诊断系统中,除了故障识别,还有一个重要的组成部分是故障预测。随着制造技术的发展,硬件设备的复杂化,很多故障的处理与机器的维修需要花费很大的时间与精力,如果在生产过程中机器突然发生故障,而实现并没有考虑到的时候,将会造成巨大的损失,工业的成本将会大大增加,所以,能否进行故障的准确预测,成为了现代自动化技术与神经网络技术一个重要的发展方向。
本章以第三章中的数据为样本,利用 Elman 神经网络和 BP 神经网络建立模型, 对未来时间点的监测点数据进行预测,将预测的数据与实际数据做比较,选出预测误差最小的网络模型作为最优模型,以供实际使用,其预测方案设计如下所示。
(1)输入样本数据和目标向量,此数据作为训练数据,用来训练网络的精度。
(2)分别以 Elman 神经网络和 BP 神经网络建立网络模型,设定好隐含层传递函数以及输出层传递函数。
(3)利用样本数据对不同神经元数时的网络进行训练,比较网络对历史数据的拟合效果。
(4)输入测试数据与目标向量,测试输入数据为时间点 1 到时间点为 7 的监测点值,目标向量为时间点为 8 时各监测点的真实值。
(5)将测试数据带入网络进行预测,将时间点为 8 时预测的数据与真实数据作比较。
(6)通过对预测误差图的分析,从理论的角度选出最优模型,其详细流程如图 4.12

所示。

图 4.12 预测过程图Fig.4.12 Forecast Process Chart在设计故障预测系统前,首先要选择样本数据,P=[X11…X1m;X21…X2m;…Xn1…Xnm]T,T=[a1 a2 an],其中 P 是样本输入数据,它代表所选取的监测点在时间1 到时间 n 时的监测值,T 是样本目标向量,它代表所选取的监测点在时间 n+1 时的监测值。将样本数据带入神经网络模型进行训练,利用神经网络处理非线性映射关系能力强大的特点,找出 P 向量与 T 向量之间存在的某种非线性的关系。接下来将用训练好的网络训练测试样本的输入向量 P_test,得到网络对 P_test 的预测值,再与实际值 T_test 做比较,得出预测误差图,根据对预测误差图的分析来找出理论上的最优预测模型。
4.7.1Elman 神经网络的故障预测模型设计与仿真Elman 算法的模型建立与 BP 算法的模型建立有这很大的相似地方,本次案例的

模型中,各层的传递函数分别选择‘logsig’和‘purelin’,训练函数选择为默认的‘traingdx’,还有一个最重要的参数是隐含层的神经元数,由于这个参数没有固定的公式可以给出一个最合理的值,所以本次模型将分别选用 5,10,15,20,25 这五组不同的数进行训练,最终选出最优的参数作为隐含层神经元个数。图 4.13-4.17 为不同神经元数时的训练误差。

101
Performance is 0.000999825, Goal is 0.001

100

10-1

10-2

10-3

10-40 500 1000 1500 2000 25002573 Epochs

101
图 4.13 神经元为 5 时的训练误差Fig.4.13 Training error when the number of neurons is 5Performance is 0.00099804, Goal is 0.001

100

10-1

10-2

10-3

10-4
0 200 400 600 800 1000 1200 1400 1600 18001808 Epochs

图 4.14 神经元为 10 时的训练误差Fig.4.14 Training error when the number of neurons is10

100
Performance is 0.000999557, Goal is 0.001

10-1

10-2

10-3

10-40 100 200 300 400 500 600664 Epochs

图 4.15 神经元为 15 时的训练误差Fig.4.15 Training error when the number of neurons is 15

100
Performance is 0.000999659, Goal is 0.001

10-1

10-2

10-3

10-40 200 400 600 800 1000 1200 1400 1600 18001878 Epochs

图 4.16 神经元为 20 时的训练误差Fig.4.16 Training error when the number of neurons is20

101
Performance is 0.000999027, Goal is 0.001

100

10-1

10-2

10-3

10-4
0 500 1000 15001592 Epochs

图 4.17 神经元为 25 时的训练误差Fig.4.17 Training error when the number of neurons is 25从这 5 张训练误差图可以看出,其最终的误差都满足了设计需求,但各个神经元数训练迭代的次数却相差特别大,最少的为 664 次(神经元个数为 15),最多的 2573 次(神经元个数为 5),总体来说该训练函数下的网络模型效率低下,迭代次数过多, 其中,神经元个数为 15 的时候模型的效率最高,其逼近误差与预测误差如图 4.18-4.19 所示:

0.08

0.06

0.04
Elman Approximate error

5
1015
2025

0.02

0

-0.02

-0.04

-0.06

-0.081 2 3 4 5 6 7 8 9 10Time

图 4.18 triangdx 下的 Elman 逼近误差图Fig.4.18 The Elman approximation error diagram under triangdx training method

图 3.30 显示的是 Traingdx 函数下的 Elman 模型对历史输入数据的拟合效果图,从图中来看,该模型对 10 个监测点的目标向量 T 的拟合程度达到预期要求,除了在 9 号监测点的预测训练产生了较大的波动,其余各点的预测训练效果基本满足设定。其中,神经元个数为 15 时即绿色方块代表的曲线在 10 个监测点的逼近误差都是同组最小,即预测训练效果最好,最终的预测误差图如图 4.19 所示。

0.6

0.5

0.4

0.3
Elman Forcast Error

5
1015
2025

0.2

0.1

0

-0.1

-0.2

-0.3

-0.41 2 3 4 5 6 7Time

图 4.19 triangdx 下的 Elman 预测误差图Fig.4.19 The Elman predictive error diagram under triangdx training method
图 4.32 显示的是对测试输入样本 P_test 的最终预测效果图,从图中可以看出,红色曲线代表的网络模型在对监测点 2 和监测点 3 的的数据进行预测时产生了较大的波动,与真实值 T_test 的误差较大,显然不符合设计要求。在这五条曲线中,绿色矩形方块代表的曲线是效果最好的,该模型对监测点 1-7 的各项数据预测误差值都是同组较低的,且无太大的波动,由此可见神经元个数为 15 时预测值与真实值的误差最小, 效果最好。接下来我们将训练函数由 traingdx 换成 trainlm,隐含层的神经元还是依旧从 5 到25 分别取值,传递函数依旧保持不变,对网络重新进行构建与训练,其网络训练误差图如图 4.20-4.24 所示。

100
Performance is 1.05616e-006, Goal is 0.001

10-1

10-2

10-3

10-4

10-5

10-60 1 2 3 4 5 66 Epochs

图 4.20 神经元为 5 时的训练误差Fig.4.20 Training error when the number of neurons is 5

100
Performance is 9.04634e-005, Goal is 0.001

10-1

10-2

10-3

10-4

0 0.5 1 1.5 2 2.5 33 Epochs

图 4.21 神经元为 10 时的训练误差Fig.4.21 Training error when the number of neurons is10

101
Performance is 3.76883e-006, Goal is 0.001

100

10-1

10-2

10-3

10-4

10-5

10-60 0.5 1 1.5 2 2.5 33 Epochs

102
图 4.22 神经元为 15 时的训练误差Fig.4.22 Training error when the number of neurons is15Performance is 0.000283315, Goal is 0.001

101

100

10-1

10-2

10-3

10-40 0.5 1 1.5 2 2.5 33 Epochs

图 4.23 神经元为 20 时的训练误差Fig.4.23 Training error when the number of neurons is 20

100
Performance is 0.000402428, Goal is 0.001

10-1

10-2

10-3

10-40 0.5 1 1.5 2 2.5 33 Epochs

图 4.24 神经元为 25 时的训练误差Fig.4.24Training error when the number of neurons is 25
训练函数改为 Trainlm 之后网络变化的最大一个特点就是迭代次数明显减少,从最初的上百次直接下降到 3 次左右,网络的训练效率大大提高,满足训练误差要求的同时在能够做到高效,证明该模式下的网络模型时可靠的,其最终的预测效果图如图4.25 所示。

Elman Forcast Error0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.81 2 3 4 5Time
5
1015
2025

6 7

图 4.25 trianlm 下的 Elman 预测误差图Fig.4.25 The Elman predictive error diagram under trianlm training method

图 4.25 为最终的预测效果图。从图中可以很直观的看到蓝色曲线代表的网络模型在监测点 2 处以及红色曲线代表的网络模型在监测点 4 处的预测值与真实值 T_test 相差较大,这就意味着这两种网络模型在该点的预测精度下降,预测效果不理想,容易产生波动,网络不稳定,不能满足预期需求。其中预测效果最好的为绿色矩形方块代表的曲线,该曲线对监测点 3、监测点 4、监测点 6 以及监测点 7 时的下一时间点的预测值与真实值几乎相同,其误差值基本都在 0 附近,说明神经元个数为 15 时,该网络对各监测点下一时间点的值预测精度最高,预测值最准确,从理论角度来说,该模型为 Elamn 网络的最优预测模型。
4.7.2BP 神经网络的故障预测模型设计与仿真
BP 算法作为神经网络最普遍运用的一种算法,在之前的故障模式识别中我们已经做了相关的应用,当然,在故障预测中,BP 算法也同样有着广泛的应用。由于 BP 网络在前一章我们已经有所介绍与实例分析,本章就不多介绍,直接从网络模型设计开始。隐含层和输出层的传递函数依旧选用 tansig 和 logsig 函数,性能函数为默认的 mse 函数,需要进行改变的参数为训练函数和隐含层的神经元数,具体网络参数如表 4.13 所示。首先我们选用的训练函数为 trainlm,由于之前的实践经验,trainlm 函数的训练效果比较理想,所以先选用 trainlm,其训练误差如图 4.26-4.29 所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值