高级神经网络算法在计算机监控系统中的研究与应用.docx
- 文档编号:25260107
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:25
- 大小:694.75KB
高级神经网络算法在计算机监控系统中的研究与应用.docx
《高级神经网络算法在计算机监控系统中的研究与应用.docx》由会员分享,可在线阅读,更多相关《高级神经网络算法在计算机监控系统中的研究与应用.docx(25页珍藏版)》请在冰豆网上搜索。
高级神经网络算法在计算机监控系统中的研究与应用
高级神经网络算法在计算机监控系统中的研究与应用
TheResearchandApplicationonAdvancedNeuralNetworkAlgorithmofComputerMonitoringandControlSystem
第一章绪论
1.1课题意义与研究背景
现代工业的飞速发展促进了工业控制的专业化、系统化,现代的生产方式对工业控制系统提出了更高的要求,不仅仅是需要高度的智能化、还有很强的综合性、稳定性。
自进入20世纪90年代以来,自动化技术发展很快,作为自动化技术重要组成部分的过程控制技术正在为实现各种最优技术经济指标、提高经济社会效益等方面起着巨大的作用。
工业现场的智能控制系统的一项主要任务就是实时的监控工业现场的每个状态,并通过判断其状态变化趋势来下达控制指令,达到稳定生产、保证产品质量和节能增效的目的。
对于大型的智能控制系统还有总体调度优化控制的任务,因此智能过程控制系统在工业生产中起着至关重要的作用,对智能过程系统的开发与研究具有重大的实用价值【l】。
组态软件是近几年来在工业自动化领域兴起的一种新型的软件开发工具。
它是一类关于数据采集和过程控制的专用软件,是自动化控制系统监控层一级的软件平台和开发环境,能以灵活多变的组态方式提供良好的用户开发界面和间接的使用方法,它将硬件系统上的工程化特点引入到软件设计中来,使软件设计呈现出工程化特点【2】。
开发人员通常不需要编制具体的指令和代码,只要利用组态软件包中的工具,通过硬件组态(硬件配置)、数据组态、图形图像组态等工作即可完成所需应用软件的开发工作。
然而,由于生产规模的扩大和过程复杂程度的提高,工业控制软件面临着巨大的挑战,那就是要集成数量和种类不断增多的现场信息。
组态软件其控制算法功能比较缺乏,往往只能实现独立的单回路PID调节和开关量的时序控制,对整个系统多参数综合优化控制问题二次开发困难。
因此组态软件的最大缺陷在于它算法处理上功能不强,难于二次开发,很多工业现场直接用简单的组态系统不能满足要求,无法满足目前工业实时现场控制的要求。
如何利用更好的算法开发工具,与工业软件结合起来以实现更加复杂的过程控制,把现有的成熟控制算法很快的应用到现场,是一个需要急切解决的问题。
因此,使高级算法在工业监控中实现有十分重要的意义【3】。
如果要在工业控制中应用高级算法的话,会涉及到矩阵处理、数学运算和一些图形操作,这时开发人员只能将许多精力放在基础的数据的读取和计算上。
由于没有标准的计算子程序库和函数库的支持,这种开发工作是冗长而易于出错的,更不用说复杂的数学运算了。
MATLAB是MathWorks公司开发的一款致力于为开发人员提供可靠的矩阵运算函数库,简化算法处理中的矩阵运算和数学计算的软件。
它的首创者Moler博士把它命名为MATrixLABoratory(矩阵实验室)。
由于采用了开放式的开发思想,MATALB不断吸收了各学科领域权威人士编写的应用程序。
目前,MATLAB是信号处理和图形图像处理首选的软件之一,集数值分析、矩阵运算、信号处理、系统仿真和图形处理于一体,拥有大量稳定可靠的函数库,及规模庞大、覆盖面极广的三十多个工具箱,其内容包括最基本的初等函数,大量复杂的高级函数和算法,如贝赛尔(Bessel)丞数、快速傅立叶变换、矩阵逆运算等;还有通讯(Communications)、控制系统(ControlSystem)、曲面拟合(CurveFitting)、信号处理(SignalProcessing)、图像处理(ImageProcessing)、小波分析(Wavelet)、鲁棒控铝lJ(RobustContr01)、系统辨识(SystemIdentification)、非线性控制(Non-linearContr01)、模糊逻辑ffuzzyLogic)、神经网络(NeuralNetwork)、优化理论(Optimization)、统计分析(Statistics)、虚拟现实(virtualReality)等大量现代工程技术学科内容。
正因为MATLAB是一套如此优秀的数值计算、算法开发、系统仿真软件,并且同时兼具简洁、便捷、功能强大和可靠性等优点,使得工程人员对MATLAB提出了更高的期望,希望程序运行更快、适用范曝更广,希望在自己开发的应用程序中调用MATLAB的功能以简化程序的开发等等。
但是MATLAB语言本身是一种解释性执行语畜,运算速度较慢,而且对运行环境的要求非常高,占用了庞大的系统资源,生成实用的人机对话晃恧的能力不强。
本课题就是在这种背景下提出来的。
如果能够解决算法复杂,尤其是矩阵运算的难题,把一些较为成熟的算法,如传统的PID控制算法、神经网络控制算法等,把二者结合起来有效地应用到现场。
把组态软件优秀的可视化画面制作技术与MATLAB丰富的算法相结合,二者相互补充缺点、最大限度发挥各自的优点,既可以实现实用的人规对话界面、应用多种高级算法,又可以使系统开发效率大大加快,开发的程序更加稳定可靠,也可以按照要求变化更新算法。
二者结合从理论上说是十分有利于系统控制的。
1.2本文的主要工作
本文以对过程控制实验平台的实时监控为背景,主要涉及的内容有:
组态软件设计监控系统的总体结构,数据的采集,在MATLAB环境下传统的PID控制算法与神经网络控制算法相结合的开发设计,以及通过VB将其做成功能构件模块在监控系统中的应用。
论文具体安排如下:
第一章:
绪论
对目前工业控制的发展概况及缀态软件的应用现状进行了叙述,随后指出了本文研究工作的背景、意义以及将解决的问题。
第二章:
MCGS组态软件及其可扩充性
本章说明了MCGS组态软件的扩充性,及为二次开发提供的便利条件。
主要介绍MCGS组态软件及其高级开发包的结构和特点,及其运行的软件、硬件条件。
分析了开发MCGS功能构件的原理、规则,给出了开发MCGS功能构件的方法和步骤。
并具体介绍了四个接口函数的作用、语法形式、参数、返回值等。
分析了在MCGS良好稳定的技术基础上,克服其脚本语言简单不能进行复杂数值计算分析的缺点,应用复杂算法的可行性。
第三章:
BP神经网络整定PID策略的开发设计
主要介绍了神经网络的基本思想以及BP神经网络控制、增量式PID控制系统的理论基础,指出BP神经网络的改进措施;综合分析了各自的优缺点并设计开发出集各自优点相结合的控制算法即设计实现了BP神经网络整定PID控制器。
第四章:
MCGS高级构件的开发与应用
本章讲述了如何把前面所开发的高级算法通过接口程序嵌入MCGS组态软件,并实施具体控制的全过程。
在实验室环境下给出了该控制算法的实际控制效果,系统运行实验结果表明:
系统的设计是成功的,算法的控制效果良好。
不仅克服了MATLAB语言运算速度较慢,对运行环境的要求非常高,占用庞大的系统资源,生成实用的人机对话界面的能力不强的困难而且扩充了组态软件的控制策略功能,实现了对MCGS的二次开发,能更好的满足工业现场的要求。
1.3本章小结
本章介绍了课题意义与研究背景,简单叙述了课题完成的主要工作,具体内容在以后章节详细讲述。
第二章MCGS组态软件及其可扩充性
组态软件是近年来在工业控制自动化领域兴起的一种新型软件开发技术,通常不需要编制具体的指令和代码,只要利用组态软件包中的工具,通过硬件组态(硬件配置)、数据组态、图形图像组态等工作即可完成所需应用软件的开发工作。
它是伴随着集散型控制系统(DistributedControlSystem,简称DCS)的出现而引入工业控制系统的。
在自动化控制系统中引入组态软件技术,可避开复杂的计算机软件代码编制问题而重点解决对系统的数据处理、分析,从而达到实时监视和控制的目的,同时可提高系统的可靠性,缩短项目开发周期,减少开发费用[11]。
2.1MCGS组态软件
2.1.1MCGS的简介
MonitorandControlGeneratedSystem(以下简称MCGS)是一套基于各种32位Windows平台的全中文组态软件,用于快速构造和生成工业设备驱动。
它能够完成现场数据采集、实时和历史数据处理、流程控制、动画显示、报警和安全机制、趋势曲线、报表输出等功能。
利用其可视化的画面制作技术,可实现各种满足要求的仿真界面,能够快捷地开发组建高效的控制系统。
MCGS系统可以与广泛的数据源交换数据;它提供多种高性能的I/0驱动;它全面支持0PC标准,可以和更多的自动化设备连接。
目前MCGS组态软件已经在石油、化工、电力等多种工程领域获得成功的应用。
MCGS软件系统包括组态环境和运行环境两个部分。
组态环境相当于一套完整的工具软件,帮助用户设计和构造自己的应用系统。
运行环境则按照组态环境中构造的组态工程,以用户指定的方式运行,并进行各种处理,完成用户组态设计的目标和功能。
其自身没有任何意义,必须与组态结果数据库一起才能构成用户应用系统。
一旦组态工作完成,运行环境和组态结果数据库就可以离开组态环境而独立运行在监控计算机上【5】。
MCGS组态运行环境见图2.1。
图2.1MCGS组态运行环境
由MCGS生成的用户应用系统,其结构由主控窗口、设备窗口、用户窗口、实时数据库和运行策略几个部分构成,如图2.2所示。
窗口是屏幕中的一块空间,是一个“容器”,直接提供给用户使用。
在窗口内,用户可以放置不同的构件,创建图形对象并调整画面的布局,组态配置不同的参数以完成不同的功能。
在MCGS的单机版中,每个应用系统只能有一个主控窗口和一个设备窗口,但可以有多个用户窗口和多个运行策略,实时数据库中也可以有多个数据对象。
MCGS用主控窗口、设备窗门和用户窗口来构成一个应用系统的入机交互图形界面,组态配置各种不同类型和功能的对象或构件,同时可以对实时数据库进行可视化处理。
图2.2 MCGS生成用户应用系统的结构框图
2.2MCGS组态软件的可扩充性
MCGS组态软件是一套功能丰富、简单易用的组态软件,大部分工程师都可以很容易的使用这套组态软件来完成一个完整的工程项目。
但是,当用户熟练的掌握了这套组态软件以后,用户必然会寻求在这套组态软件上进一步开发的能力,以实现有自己风格的界面、自己设计的控制算法和与自己硬件相匹配的驱动程序。
其他一些长期使用VisualBasic、C十+、Delphi的高级工程开发人员,为了充分利用自己的编程特长和已有的程序积累,也希望能够把自己编写的程序装配到MCGS组态软件。
为了满足用户的这些要求,MCGS提供一套可扩充的接口规范和配套的高级开发工具包。
使用接口规范和工具包开发出来的扩充,具有很优越的特点:
◆安全保密。
扩充构件是编译成二进制代码的,非法用户不可能通过反编译扩充构件来获得设备驱动构件、特殊的运算构件和特殊的窗口界界面。
可以使用扩充构件进行加密,以防止制作的工程被任意拷贝,保护用户利益。
●简单快速。
MCGS组态软件高级开发包中提供了常用的数据后处理构件源代码。
初级用户可以直接使用这些数据库处理构件,而高级用户则可以修改这些构件的源代码,以满足自己特殊的要求。
众所周知,工控工程的数据后处理部分具有各自不同的要求,因此一般的组态软件,都要求用户自己使用例如Excel、Access等软件来完成自己的特殊的后处理。
但是MCGS组态软件除了可以用类似的方法处理外,还提供了另外一种不同的处理方法。
那就是高级用户可以修改MCGS组态软件高级开发工具包中所提供的后处理构件源代码,然后生成自己的扩充构件,装配到MCGS组态软件上,就可以组成自己独有的后处理系统【6】。
◆性能优异。
使用这种方法开发出来的MCGS组态软件的扩充构件具有很高的速度和性能。
据微软公司测试,使用VisualC十+软件开发出来的程序,只比使用VisualBasic开发出来的速度高百分之十,有时甚至还低予VisualBasic。
而使用VisualBasic开发的方便性和易用性又是VisualC-H-所远远不能比拟的。
在编写MCGS组态软件的扩充构件时,VisualBasic确实是一种最佳选择。
◆任务明确。
MCGS的这种扩充构件具有清晰的结构,不会存在功能纠缠不清,任务确定不明的问题。
MCGS组态软件的高级开发,基本上是基于微软公司的OLE标准,利用了最新的ActiveX技术。
这种新技术保证能够方便地使用当前各种先进的开发工具来开发自己的扩充构件。
如:
VisualBasic、VisualC++以及其它公司的各种编程软件也可以方便地开发MCGS组态软件的扩充构件。
基于方便、快捷的考虑,我们选择了VisualBasic软件来并发MCGS的扩充构件。
在这之前有几个前提条件:
●硬件方面:
必须具有Pentium以上的CPU,以及十六兆以上的内存。
●软件方面:
应使用微软的Windows95或WindowsNT4。
0操作系统,安装了微软的VisualBasic6.0专业版或企业版。
还应安装了MCGS光盘上的MCGS组态软件和MCGS组态软件高级开发工具包。
MCGS组态软件的可扩充性主要有以下几个方面组成:
●挂接定制的设备驱动构件。
●挂接定制的功能构件。
●在其它应用程序中通过OLE直接操作MCGS所提供的对象。
●通过DDE连接,建立MCGS和其它应用程序闻的数据传递。
MCGS可扩充构件的提出和设计都经过了长期的工程实践的检验和考虑,能够确保实现工程进一步开发中的所有任务,而且具有结构简单、功能齐备的特点。
2.2.2开发MCGS功能构件
MCGS提供了一套运行策略机制,使用户能根据实际应用的需要,对工作流程进行精确的控制。
运行策略由不同的策略块组成,而策略块又由多个策略行组成,每个策略行分为条件和功能两个都分,以实现“在什么条件下执行什么功能”。
既MCGS提供了大多数应用所必须的功能构件,同时也提供了一套开放的可扩充接口,允许用户能根据自己的需要,定制特定的功能构【6】,达到扩充MCGS功能的要求。
MCGS用ActiveDLL构件的方式来实现功能构件,通过规范的OLE接口挂接到MCGS中,使其构成一个整体。
由于功能构件和MCGS运行在同一个进程内,故功能构件的运行速度快,可靠性高,即使构件本身有问题,也不会影响到MCGS的可靠运行。
同时,OLE是一个可扩充的开放标准,用于实现不同软件之间的相互操作,而不管软件本身是使用什么编程语言。
因此,只要遵守MCGS的接121规范,可以使用VB、VC、DcIphi等语言来编制MCGS的功能构件。
MCGS设备构件的实现方法和原理与标准VB的ActiveDLL完全一致,但MCGS规定了一套接口规范,只有遵守这些接嗣规范的ActiveDLL才能用作MCGS的功能构件。
MCGS功能构件必须具有如下4个接口:
接口:
SvrMenuCommand组态时调用,执行菜单命令
接口;SvrStgySetOpemtor组态时调用,设置构件的属性
接口:
SvrStgyRunOperator运行时调用,执行构件的功能
接日:
SvrCheck组态中,编译查错时时调用
开发MCGS功能构件的过程,实际上就是根据功能构件的特性和含义来完成4个接口功能的编程过程。
下面详细讲述各个接口的含义和用法:
l、接口:
SvrMenuCommand
接口作用:
本接口用于在MCGS组态环境中增加一个用户自定义的菜单项。
本接口在组态环境装载时被MCGS组态环境调用,检查是否有对应的菜单要求,如果有,则在MCGS的“工具”菜单中增加一菜单项。
组态环境运行时,当用户选取增加的菜单项时,也调用本接口。
语法形式:
SvrMenuCommand(strNameAsString,bQueryAsLong,DatObjAsObject)AsLong
返回值:
=0,调用成功;=l调用失败。
参数说明:
strName:
返回用于显示在“工具”菜单中的菜单项的名称;如为空,表示本功能构件不增加菜单。
BQuer:
MCGS初试化时调角本接口时,把本参数的值设置为l,在菜单中调用本接口时,把本参数的值设置为0。
DatObj:
MCGS实时数据库数据对象。
2、接口:
SvrStgySetOperator
接口作用:
本接目的作用是读取功能构件的类型名称、注释和所对应的图标资源的彩号以及组态时设置构件的属性时调用。
语法形式:
SvrStgySetOperator(strNameAsString,strNotesAsString,ilconAsLong,DatObj
AsObject,SaveObjAsObject,bQuer)rAsLong)AsLong
返回值;=o,调用成功;=王调用失败。
参数说明:
strName:
返回功能构件的类型名,显示在功能构件列表框中;strNotes:
返回功能构件的注释,显示在策略行的右边。
ilcon:
返回功能构件所对应的图标资源的ID号,该图标显示在策略行的功能构件块上。
如ID=0,表示没有对应的图标,MCGS显示缺省图标,MCGS初试化时调用本接口时,把本参数的值设置为l,在设置构件属性调用本接口时,把本参数的值设置为0。
DatObj:
MCGS实时数据库数据对象。
SavObj:
盘服务对象,接口程序中通过该对象来保存和读取数据。
3、接口:
SwStgyRunOperator
接口作用:
本接目在运行环境中,当需要执行本构件的功能时调用。
语法形式:
SvrStgyRunOperator(DatObjAsObject,SaveObjAsObject)AsLong
返回值:
=0,调用成功;=l调用失败。
参数说明:
DatObj:
MCGS实时数据库数据对象;SavObj:
存盘服务对象,接日程序中通过该对象来保存和读取数据。
4、接口:
SvtCheck
接口作用:
本接口在组态环境中,当MCGS进行查错和编译调用。
语法形式:
SvrCheck(DatObjAsObject,CheckFlagAsLong)AsLong
返回值:
=0,调用成功;=l调用失败。
参数说明:
DatObj:
MCGS实时数据库数据对象;CheckFlag:
标志位。
2.3本章小结
本章说明了MCGS组态软件的可扩充性及为二次开发提供的便利条件。
主要介绍了MCGS组态软件及其高级开发包的结构和特点,及其运行的软件、硬件条件。
分析了开发MCGS功能构件的原理、规则,给出了开发MCGS功能构件的方法和步骤。
并具体介绍了四个接口函数的作用、语法形式、参数说明、返回值等。
分析了在MCGS良好稳定的画面技术基础上,克服脚本语言简单不能进行复杂数值计算分析的缺点,应用复杂算法的可行性。
为下面章节论述的高级算法的应用提供了前提条件。
第三章BP神经网络整定PID控制策略的开发设计
人们从模仿人脑智能的角度出发,利用计算机构造一种接近人类智能的信息处理系统。
这就是人工神经网络(ArtificialNeuralNetworks,以下简写为NN)系统。
神经网络控制就是在NN与控制理论相结合的基础上发展起来的自动控制领域的前沿学科之一。
它已成为智能控制的一个新的分支,为解决复杂的非线性、不确定、不确知系统等控制问题开辟了新途径。
3.1神经网络控制的基本思想
多年来,学者们建立了多种神经网络模型,决定其整体性能的三大要素为:
(1)神经元(信息处理单元)的特性。
(2)神经元之间相互连接的形式——拓扑结构。
(3)为适应环境改善性的学习规则。
神经网络是人脑的某种抽象、简化和模拟,反映了人脑功能的若干基本特征:
1)网络的信息处理由处理单元间的相互作用来实现,并具有并行处理的特点。
2)知识与信息的存储,表现为处理单元之间分布式的物理联系。
3)网络的学习和识别,决定给出处理单元连接权的动态演化过程。
4)具有联想记忆(AssociativeMemory,AM)的特性。
3.1.1人工神经元模型
生物神经元是以生物神经系统的神经细胞为基础的生物模型,在人们对生物神经系统进行研究,以探讨入工智能的机制时,对生物神经元简化和模拟,产生了人工神经元(简称神经元)的数学模型【9】。
它有三个基本要素;
(1)一组连接权(对应子生物神经元的突触),连接强度用各连接上的权值表示,权值为正表示激励,为负表示抑制。
(2)一个求和单元,用于求取各输入信息的加权和(线形组合)。
(3)一个非线性激励函数,起非线性影射作用并限制神经元输出幅度在一定的范围之内(一般限制在[0,1]或[-1,1]之间)。
此外还有一个阈值。
(1)阈值函数
常称此种神经元为M-P模型。
(2)分段线性函数
它类似于一个带限幅的线性放大器,当工作于线性区时,它的放大倍数为1/2。
(3)Sigrnoid函数
具有平和渐进性,并保持单调性,最常用的函数形式为参数可控制其斜率的形式。
另一种常用的是双曲正切函数。
3.1.2神经网络的结构及学习方法
1、网络的拓扑结构
从神经网络的主要连接方式而言,主要有两种典型结构:
前馈型网络和反馈型网络。
(1)前馈型网络
各神经元接受前一层的输入,并输入给下一层,没有反馈。
节点分为两类,即输入单元和计算单元,每一计算单元可有任意多个输入,但只有一个输出(它可耦合到任意多个其它节点作为其输入)。
前馈网络可分为不同的层,第i层的输入只与第i-1层输入相连,输入和输出节点与外界相连,而其它中间层称为隐层。
如图3.1。
图3.1具有一个隐层的前馈网络
(2)反馈型网络
所有节点都是计算单元,同时也可接受输入,并向外界输出。
它可酒成一个无向图,其中每个连接线都是双向的,若总单元数n,则每一节点有n-1个输入和1个输出。
例如图3.2。
图3.2单层全连接反馈网络
NN的工作过程主要分为两个阶段,一个阶段是学习期,此时各计算单元状态不变,各连线上的权值通过学习来修改。
第二阶段是工作期,此时连接权固定,计算单元状态变化,以达到某种稳定状态。
2、神经网络的学习方法
学习可分为有监督学习和无监督学习两类。
有监督学习是透过外部教师信号进行学习,即要求同时给出输入和正确的期望输出的模式对,当计算结果与期望输出有误差时,网络将通过自动调节机铡调节相应的连接强度,使之向误差减少的方向改变,经过多次重复训练,最后与正确的结果相符合。
无监督学习则没有外部教师信号,其学习表现为自适应于输入空间的检测规则,其学习过程为对系统提供动态输入信号,使各个单元以某种方式竞争,获胜的神经元本身或其相邻域得到增强,其他神经元则进一步被抑制,从而将信号空间分为有用的多个区域【11】。
常用的三种主要规则是【13】:
1、无监督Hebb学习规则。
Hebb规则的基本思想是:
如果有两个神经元同时兴奋,则它们之间的连接强度的增强与它们的激励的乘积成正比。
即两个相连的神经元,它们之间的耦合程度取决于这两个神经元的状态,当它们都处于兴奋状态时,它们之间的耦合应当加强。
另外,根据神经元状态变化来调整权值的Hebb学习方法称为微分Hebb学习方法。
2、有监督ɛ学习规则或Widow—Hoff学习规则。
在无监督的Hebb学习规则中引入教师信号,将Hebb学习规则中的,两神经元间的连接强度变化量与教师信号与网络实际输出之差成正比。
3、有监督Hebb学习规则。
将上述两种规则结合起来,即形成有监督Hebb学习规则。
3.1.3传统控制系统与神经网络控制系统的比较
传统的基于模型的控制方式,是根据被控对象的数学模型及对控制系统要求的性能指标来设计控制器,并对控制规律加以数学解析描述,从而对系统进行控制。
这种控制方式具有显示表达知识的特点,而神经网络不善于显示表达知识,但是它具有很强的逼近非线性函数的能力。
这是神经网络用于控制的一个独特优点【12】。
神经网络控制就是从机理上对人脑进行简单结构模拟的新型控制方法。
图3.3给出了一般反馈系统的原理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级神经 网络 算法 计算机 监控 系统 中的 研究 应用