毕业设计(论文)基于GA的双容水箱液位PID控制系统设计.doc
《毕业设计(论文)基于GA的双容水箱液位PID控制系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于GA的双容水箱液位PID控制系统设计.doc(20页珍藏版)》请在三一办公上搜索。
1、目 录0. 前言11. 方案设计22. DDE通信的实现方法22.1 组态王中的DDE通信设计32. 2 MATLAB中的DDE通信32.3 MATLAB与组态王的DDE通信实现43. 组态王界面的开发53.1 建立组态王新工程63.2 COM1的建立73.3 定义变量83.4 动画连接94. 系统的设备实现104.1 液位压力传感器124.2 电动调节阀135. 软件编程136. 系统调试和结果分析167. 结论及进一步设想17参考文献19基于GA的双容水箱液位PID控制系统设计(二) 沈阳航空航天大学自动化学院摘要:本次课设是毕业设计的一部分,主要研究双容水箱液位PID控制系统的设计,为相
2、同题目(一)的基于GA的PID控制算法提供验证平台。该系统需要建立组态王和MATLAB的动态数据交换(DDE),充分集合了MATLAB计算功能强和组态王具有很好的可视化界面的优点。设计方案采用组态王对控制过程进行监控,在组态王中开发组态界面、定义相应的变量和设备,并实现动画连接;同时利用MATLAB作为后台主控,通过编辑PID控制算法计算控制量,采用DDE方式传递给组态王以控制电动调节阀的开度,从而实现对水箱液位的监控。关键词:MATLAB程序;组态界面;PID控制;DDE通信。0. 前言随着自动化技术的快速发展,许多领域中都引入了计算机自动检测与控制技术,并取得了惊人的成果。在现代工业生产过
3、程自动化中,过程控制起了大大的推动作用。过程控制广泛应用于石油、化工、电力、冶金等工业部门。液体的液位测量在工业生产中非常普遍,应用领域也比较广,例如自来水水位的测量和控制,油田、炼油厂的油罐和储油槽的油位的测量等。液位测量的方法很多,锅炉液位控制的稳定与否,是关系到生产安全的重要因素之一。液位太高,易使供出的蒸汽带水,高温高速的蒸汽水珠会损坏后工段的工艺设备;而液位太低,有造成锅炉烧干的危险。组态软件是近年来在工业自动化领域兴起的一种新型的软件开发技术,是数据采集与过程控制的专用软件。开发人员通常不需要编制具体的指令和代码,只要利用组态软件包中的工具,通过硬件组态(硬件配置)、数据组态、图形
4、图像组态等工作即可完成所需应用软件的开发工作,它具有二次开发简便、开发周期短、通用性强、可靠性高等优点。MATLAB具有强大的数值分析和图形绘制功能,这与组态王的可视化界面功能相结合,实现了用组态王和MATLAB混合编程的方法进行系统组态设计。应用此方法设计双容水箱液位PID控制系统,用组态王编制人机交互界面,用MATLAB完成控制算法,二者通过DDE进行实时数据交换,系统在线运行稳定。这种装置的实时控制系统现在应用十分广泛。 本次课设整体方案及要求内容:(1)根据设计要求,进行整体方案设计 。(2)建立组态王与MATLAB之间的DDE通信。(3)进行PID参数程序的流程设计。(4)完成上位机
5、的组态画面设计。(5)进行调试,达到设计要求。1. 方案设计本文主要研究双容水箱液位PID控制系统的设计,由于本次课设是毕业设计的一部分,主要是从方案论证来完成本次课程设计。本设计将基于A3000过程控制实验系统,以液位为被控参数,利用MATLAB主控程序的PID算法,作为双容水箱液位控制系统的上位机应用组态软件实现系统的监测和控制。上位机组态界面显示实时数据,主控程序根据实时的数据与给定数据进行比较计算输出数据对调节阀开度进行调节。A3000过程控制实验系统作为下位机负责采集硬件设备的数据,并且根据组态王PID参数得出相应的命令对硬件设备做相应调节,使液位达到设定值。本方案充分发挥了组态王的
6、可视化界面功能与MATLAB强大的数值分析和图形绘制功能的各自优势,利用DDE技术,实现了组态王与MATLAB之间的通信,形成了实现装置的实时监控系统。首先完成上位机的组态画面的设计,其中包括连接设备、定义变量、动画连接等任务。其次在MATLAB中编写PID控制程序,建立MATLAB与组态王之间的DDE通信,组态王把从下位机中读取的数据通过DDE通信传给MATLAB程序中,MATLAB程序把接收数据与给定值作差值用PID算出输出值返回给组态王以实现对调节阀进行控制,从而达到对下位机液位控制。最后进行调试得到理想波形从而达到控制的技术要求。2. DDE通信的实现方法DDE是windows平台上的
7、一个完整的通讯协议,它使应用程序能彼此交换数据和发送指令。DDE通讯可以比喻为两个人的对话,一方向另一方提出问题,然后等待回答。提问的一方称为顾客,回答的一方称为服务器。一个应用程序可以是顾客和服务器,当它向其他应用程序请求数据时,它充当的是顾客,若有其他的应用程序需要它提供数据时,它又变成了服务器。DDE对话的内容通过三个标识来实现。应用程序名(application):进行DDE通讯的双方名称;主题(topic):被讨论的数据域(domain)对组态王来说主题规定为:“tagname”;项目(item):这是被讨论的特定数据对象。DDE交换数据的方法根据连接方式主要有三种:冷链(cold
8、link),温链(warm link)和热链(hot link)。由客户申请数据,服务器发送数据的这种方式称为冷链;服务器的数据变化时,服务器通知客户,再由客户来取数据,这种方式称为温链;服务器的数据变化时,服务器通知客户,由客户对对这些数据进行处理,这种方式称为热链。2.1 组态王中的DDE通信设计组态王既可以作为客户应用程序也可以作为服务器应用程序。当它作为客户应用程序时,需进行两步工作。第一步在组态王中定义DDE设备,并为该设备指定逻辑名称、设置程序服务明、朱提名和选择标准的Windows项目数据交换形式。第二步定义I/O变量,连接DDE设备,确认允许DDE访问。当组态王作为服务器应用程
9、序时,它的工作是驱动程序下位机采集数据,并向客户应用程序发送数据。2. 2 MATLAB中的DDE通信MATLAB是矩阵实验室(Matrix Laboratory)之意。它除了具备卓越的数值计算功能外,还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB主要特点有功能强大;语言简单;扩充能力强,可开发性强;编程容易,效率高。MATLAB5.1版本后都提供了有关DDE的一些基本函数,如ddeinit()、ddepoke()、ddereq()、ddeterm()等。DDE通讯中,MATLAB作为一个“Server”时的通讯示意图如图1所示。在“Client”应用程序中
10、的DDE函数与MATLAB的DDE“Server”模块进行通讯,“Client”的DDE函数能被应用程序或MATLABEngine Library提供。图1 MATLAB作为服务器时的通讯示意图当MATLAB作为一个“Client”时的通讯示意图如图2,在“Server”应用程序中的DDE“Server”模块与MATLAB的DDE“Client”模块进行通讯。MATLAB作为一个“Client”和Windows应用程序之间进行动态数据交换时比较方便,只需使用MATLAB的DDE函数来建立和维持双方的对话。图2 MATLAB作为客户机时的通讯示意图MATLAB作为客户应用程序时,支持本格式的数据
11、传送,可以使用MATLAB中的DDE客户端模块所提供的函数与服务器进行数据通信。MATLAB提供了七个客户函数,它们分别是ddeinit函数与服务器建立对话,建立成功则该函数返回一个通道号。以后的操作均对这个通道号进行。ddeadv函数请求建立热链。Ddereq函数向服务器索要数据,返回值是存有数据的矩阵。Ddepoke函数向服务器发送数据。ddeterm函数请求撤消与服务器已建立的热链连接。Ddecxec函数用于向DDE服务器应用程序发送执行命令。Ddeunadv函数是释放连接。2.3 MATLAB与组态王的DDE通信实现在本次设计中,MATLAB和组态王为实现双向数据自动传输,MATLAB
12、应用程序和组态王应用程序都既是客户程序又是服务器程序,所以采用热链方式。组态王具有DDE动态数据通讯功能,能够和MATLAB进行数据交换。当组态王作为服务器或客户机程序时,设置DDE的方法基本相同,都需要在定义IO 变量时设置服务器程序的三个标识名,即:服务程序名、话题名、项目名。MATLAB和组态王同时作为DDE服务器和客户机的使用方法如图3所示:图3 MATLAB和组态王的双向数据自动传输示意图MATLAB 的DDE 传输程序设计在本次设计中,组态王编制的主控程序将从下位机读取的数据送到MATLAB 程序进行仿真计算,计算后将结果返回主程序,采用热链方式。DDE 热链工作方式需要用ddea
13、dv。在MATLAB中建立M文件,输入以下程序,下面是MATLAB以热链方式与服务器连接的程序结构:MATLAB客户程序主体:%DDE. m ,初始化DDE 程序function DDE = DDE()global channel;channel = ddeinit(VIEW,AGNAME);if channel = = 0disp (DDE initialization failed);elsedisp (DDE initialization is ready);endrc = ddeadv(channel,AD. AI0,control(x),x); %AD.AI0为组态王中定义的IO寄存
14、器。上述函数将MATLAB 与组态王的AD设备的AI0通道之间建立了热链接,一旦AI0的数据有变化,则调用control()函数进行处理。%control . m , 数据计算处理模块function uk = control (pv)channel = ddeinit (VIEW,TAGNAME);pv = ddereq(channel,AD. AI0) ; %将现场采集值赋给pvuk = (pv) ; %具体的计算式,如PID计算式ddepoke (channel ,DA. AO0, uk) ; %将计算结果uk送给DA.AO0寄存器control()函数根据现场测量值pv的变化进行相应的
15、计算处理后通过ddepoke将结果uk返回组态王的DA.AO0寄存器,再经过DA转换成模拟信号后到执行机构(调节阀)执行。组态王和MATLAB之间的DDE通讯方便及时,从而可使用二者混合编程的方法实现一些具有复杂控制算法的控制系统的设计。3. 组态王界面的开发进入组态王开发系统后,就可以为每个工程建立数目不限的画面,在每个画面上生成互相关联的静态或动态图形对象。这些画面都是由“组态王”提供的类型丰富的图形对象组成的。系统为用户提供了矩形(圆角矩形)、直线、椭圆(圆)、扇形(圆弧)、点位图、多边形(多边线)、文本等基本图形对象,及按钮、趋势曲线窗口、报警窗口、报表等复杂的图形对象。提供了对图形对
16、象在窗口内任意移动、缩放、改变形状、复制、删除、对齐等编辑操作,全面支持键盘、鼠标绘图,并可提供对图形对象的颜色、线型、填充属性进行改变的操作工具。进入新建的组态王工程,选择工程浏览器左侧大纲项“文件画面”,在工程浏览器右侧用鼠标左键双击“新建”图标,在弹出对话框中选择相应的属性后,就可以在开发系统中利用工具箱进行组态画面的设置,本文设计的组态画面如图4所示:图4 组态界面上图是左面是水箱、调节阀、传感器等器件在组态王软件中的连接图;右上角的图本课题设计中的面板设置;右下角的图是测量过程中的实时曲线。3.1 建立组态王新工程要建立新的组态王工程,首先为工程指定工作目录(或称“工程路径” )。组
17、态王用工作目录标识工程,不同的工程应置于不同的目录。工作目录下的文件由组态王自动管理。启动组态王工程管理器(ProjManager),选择菜单“文件新建工程”或单击“新建”按钮,弹出如图5所示的对话框:图5 新建工程向导点击下一步, 在工程路径文本框中输入一个有效的工程路径,再点击下一步,为新建工程命名为“水箱液位仿人智能控制”,工程描述为“实验室建设”,并将新建的工程设置为当前工程,点击“完成”,其信息如图6所示:图6 新建工程基本信息3.2 COM1的建立在工程浏览器中,从左边的工程目录显示区中选择“设备/COM1”,然后在右边的内容显示区中双击“新建”图标,则弹出“设备配置向导”。然后根
18、据其提示配置DDE设备。在COM1设备配置中,连接对象设为XM类仪表,逻辑名称设为baitel,设备地址设为1,通讯方式为串口。其信息总结列表框如图7所示:图7 COM1信息总结列表3.3 定义变量数据库是组态王软件的核心部分,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为中介环节,所以说数据库是联系上位机和下位机的桥梁。在TouchView运行时,它含有全部数据变量的当前值。变量在画面制作系统组态王画面开发系统中定义,定义时要指定变量名和变量类型,某些类型的变量还需要一些附加信息。数据库中变量的集合形象地称为“数据词
19、典”,数据词典记录了所有用户可使用的数据变量的详细信息。在本文的设计中,共需要定义6个变量。选择工程浏览器左侧大纲项“数据库数据词典”,在工程浏览器右侧用鼠标左键双击“新建”图标,然后就可以根据提示完成各个变量的定义及修改。定义变量时主要需要设置变量的名字、变量类型、寄存器和变量类型。变量“测量值a”的信息总列表框如图8所示,它的主要作用是用于存储采样值。变量“过程值b”的信息总结列表框如图9所示,它的主要作用是存储MATLAB计算出来的控制量,其连接设备为采样设备。变量“设定值p”的信息总结列表框如图10所示,主要用于存储操作者想要控制的液位值。图8 变量“测量值a”的信息总结列表框图9 变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 GA 水箱 PID 控制系统 设计

链接地址:https://www.31ppt.com/p-3979291.html