您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 免积分基于组态王和MATLAB的温度控制系统免积分
基于组态王和MATLAB的温度控制系统姓名:班级:学号:摘要从上世纪80年代至90年代中期,PLC得到了快速的发展,在这时期,PLC在处理模拟量能力、数字运算能力、人机接口能力和网络能力得到大幅度提高,PLC逐渐进入过程控制领域,在某些应用上取代了在过程控制领域处于统治地位的DCS系统。PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。PLC在工业自动化控制特别是顺序控制中的地位,在可预见的将来,是无法取代的。本文介绍了以锅炉为被控对象,以锅炉出口水温为主被控参数,以炉膛内水温为副被控参数,以加热炉电阻丝电压为控制参数,以PLC为控制器,构成锅炉温度串级控制系统;采用PID算法,运用PLC梯形图编程语言进行编程,实现锅炉温度的自动控制。电热锅炉的应用领域相当广泛,在相当多的领域里,电热锅炉的性能优劣决定了产品的质量好坏。目前电热锅炉的控制系统大都采用以微处理器为核心的计算机控制技术,既提高设备的自动化程度又提高设备的控制精度。本文分别就电热锅炉的控制系统工作原理,温度变送器的选型、PLC配置、组态软件程序设计等几方面进行阐述。通过改造电热锅炉的控制系统具有响应快、稳定性好、可靠性高,控制精度好等特点,对工业控制有现实意义。一、系统简介组态王是运行在Windows98/NT/2000上的一种工业组态软件,提供了多种I/0驱动程序,可以直接使用变量名读写I/O设备⋯,把下位机的信息实时地传送到上位机中。但是,在许多工业监控系统中,上位机不仅要实现人机交互的功能,还需要执行控制算法,实现对下位机的实时控制。组态王的命令语言是一段类似C语言的程序,其编程环境较弱,很难实现复杂的控制算法,因此有必要借助其他软件环境实现系统的控制算法。MATLAB语言是目前工程界流行最广的一种科学计算语言。利用MATLAB可以设计先进、复杂的控制算法,将人们从繁琐、复杂的底层编程中解放出来,从而提高编程效率。本研究在锅炉水温监控系统中采用组态王构成系统的软件平台,完成数据的实时采集和处理,实现人机对话和以动画的方式显示控制设备的运行状态等监控功能。同时,采用MATLAB语言作为后台程序扩充组态王的编程功能,实现系统的模糊控制算法。二、监控系统的组成2.1监控系统的硬件组成锅炉水温监控系统结构如图1所示,其系统的工作过程如下:(1)温度传感器PTl00检测出锅炉水的温度信号,经温度变送器将温度信号转换为相应1—5V的模拟量信号,该量经A/D板卡PCL812PG转换成对应的数字量信号送上位机显示和处理。(2)在上位机中将检测的温度信号与上位机中设定的温度值进行比较,产生控制器的输人变量(如温度偏差和温度偏差变化率),由控制器计算后输出控制量信号u。(3)控制量U经过数字量输出板卡PCL726转换为对应的4~20mA的模拟量信号,送控制装置中SCR可控硅模块执行,SCR模块通过控制可控硅来调节电阻丝两端的电压,对系统的温度进行控制,最终使锅炉温度达到设定值。图1锅炉水温控制系统结构框图2.2监控系统的软件组成监控系统的软件结构由两个模块组成:前台运行的监控界面模块由组态王开发,以模拟控制系统动态运行为主,生动直观地显示各个变量的各种信息,并实现数据实时采集、人机对话和数据记录等功能;后台运行的数据处理模块以MATLAB语言为开发环境,实现系统的控制算法,产生系统执行机构的控制变量。组态王与MATLAB之间的数据交换由文件操作的方式实现。2.2.1监控界面的开发监控界面分为2类:显示界面和任务界面。显示界面用于变量的监控、报警和数据报表,如图2所示的监控系统主界面动态显示了控制系统的组成并实时显示各个量的状态和报警信息。任务界面负责数据的接收、处理和发送,实现人机间对话功能,完成对过程装置的控制,主要功能包括变量监控、自动和手动控制之间的转换、温度控制值的设定、温度数据实时趋势曲线及历史趋势曲线与报表画面间的转换等功能。图2监控系统主界面2.2.2控制软件的开发锅炉是工业常见工程对象,其温度控制是一个复杂的控制系统,具有升温单向性、恒温保持性和变化非线性等特点,很难建立精确的数学模型,应用传统的控制方法不易达到预期的控制效果。根据模糊控制不需要控制对象精确数学模型和适用于大滞后、大惯性和时变性系统的特点,选择将模糊控制技术用于锅炉实时在线温度控制。选择MATLAB语言实现模糊控制器的设计。这是因为MATLAB的模糊逻辑工具箱提供了构建模糊控制器的各种函数,比如addmf()实现了隶属函数的设计,通过简单的参数选择可以实现三角形(tfimf)、高斯型(gaussmf)、梯形(trapmf)等隶属函数。通过这些函数,可以直观、方便地设计模糊控制器,以减少编程工作量,节省编程时间。所设计的模糊控制器的输入量为组态王计算后得到的温度偏差e和温度偏差率de,输出量为执行机构的驱动值u。2.3组态王与MATLAB的数据交换MATLAB程序是位于上层的算法,很难直接对底层硬件进行I/O操作。对于实际的控制对象来说,MATLAB程序要完成实时控制任务还需要与执行机构进行实时通讯,也就是说,MATLAB要与其编程环境以外的数据和程序进行数据交换。动态数据交换(DDE)是组态王所提供的一种与其他应用程序进行数据交换的方式,MATLAB同样支持DDE通信协议口。在使用过程中,数据交换两端的程序均需要提前设置三个标识名。在本系统中,组态王与MATLAB之间的数据动态交换采用一种更为简单、直接的数据交换方式,即使用文本文件操作的形式实现组态王与MATLAB间的数据导入导出。数据交换的具体步骤如下:(1)在组态王的应用程序命令语言中,定时调用内部函数fileWriteStr(),将采集的温度信号写到指定的温度文本文件fromKingview.txt中。(2)在MATLAB程序中,定时读取指定目录的温度文本文件,经过模糊控制器运算后,将模糊控制器的输出量通过文件操作指令写到指定的控制量文本文件toKingview.txt中,同时将数据标志写入标志文件中。程序名、主题和项目。另外,MATLAB中要实现DDE功能,需要调用多个函数,编程稍显复杂。三、控制结果采用组态王和MATLAB开发的锅炉水温监控系统,既利用组态王实现了上位机良好的交互性,又利用MATLAB设计了二维模糊控制器,实现了锅炉水温的实时控制,保证了系统稳定运行。四、参考文献[1]北京亚控自动化软件科技有限公司.Kingview用户使用手册[z].2002.[2]刘志俭.MATLAB应用程序接口用户指南[M].北京:科学出版社,2001.351—362.
本文标题:免积分基于组态王和MATLAB的温度控制系统免积分
链接地址:https://www.777doc.com/doc-2718889 .html