基于组态软件的温度单回路过程控制系统设计.doc
基于组态软件的温度单回路过程控制系统设计过程控制系统课程设计题 目: 基于组态软件的温度单回路过程控制系统设计 院系名称: 电气工程学院 专业班级: 自动1302 学生姓名: 张鹏涛 学 号: 201323020219 指导教师: 闫晶晶 设计地点: 31520 设计时间: 设计成绩: 指导教师: 本栏由指导教师根据大纲要求审核后,填报成绩并签名。工业过程控制课程设计任务书学生姓名张鹏涛专业班级自动1302学号201323020219题 目基于组态软件的温度单回路过程控制系统设计课题性质课程设计课题来源自拟题目指导教师闫晶晶主要内容通过某种组态软件,结合实验室已有设备,按照定值系统的控制要求,根据较快较稳的性能要求,采用单闭环控制结构和PID控制规律,设计一个具有较美观组态画面和较完善组态控制程序的压力单回路过程控制系统。任务要求1. 根据压力单回路过程控制系统的具体对象和控制要求,独立设计控制方案,正确选用过程仪表.2. 根据压力单回路过程控制系统A/D、D/A和开关I/O的需要,正确选用过程模块。3. 根据与计算机串行通讯的需要,正确选用RS485/RS232转换与通讯模块。4。 运用组态软件,正确设计压力单回路过程控制系统的组态图、组态画面和组态控制程序.5。 提交包括上述内容的课程设计报告。主要参考资料1 组态王软件及其说明文件2 邵裕森过程控制工程3 过程控制教材4 辅导资料审查意见指导教师签字: 年 月 日摘 要 通过过程控制这门课的学习,确实学到很多有用的知识,此次课程设计是根据压力单回路过程控制系统的具体对象和控制要求,独立设计控制方案,正确选用过程仪表.为了取得较好的控制效果,采用PID控制规律。通过温度传感器将检测到的实时温度值与温度设定值的差值送入计算机,计算机运用PID算法得到相应的控制信号,并将其输出给执行器,然后执行器调节加热器,以达到调节温度的控制目的所有这些都是通过计算机控制自动完成,并通过组态王设计出完美仿真画面,能够看到温度变化曲线和水管的流动,形象逼真. 关键词: 温度 过程控制 PID算法 组态王目录一、引言1二、设计目的1三、控制要求1四、系统结构设计24.1 系统结构框图24。2 仪表选择24.2。1 温度传感器24.2。2 加热器24。2。3 过程模块34.2。4 电动调节阀34.2。5 其他设备34.3 系统流程图4五、系统组态设计45。1 组态王简介45。2 组态软件设计55.2.1 设备设置55。2。2 组态画面55.2.3 变量定义65。4。2 PID 控制算法85.2.5 PID 控制算法流程图95.2.6 温度单回路控制过程9设计心得11参 考 文 献12附录(PID脚本程序)13一、引言 温度控制,在工业自动化控制中占有非常重要的地位。单片机系统的开发应用给现代工业测控领域带来了一次新的技术革命,自动化、智能化均离不开单片机的应用。将单片机控制方法运用到温度控制系统中,可以克服温度控制系统中存在的严重滞后现象,同时在提高采样频率的基础上可以很大程度的提高控制效果和控制精度.温度的控制问题是一个工业生产中经常会遇到的问题.本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。 现代自动控制越来越朝着智能化发展,在很多自动控制系统中都用到了工控机,小型机、甚至是巨型机处理机等,当然这些处理机有一个很大的特点,那就是很高的运行速度,很大的内存,大量的数据存储器.但随之而来的是巨额的成本。在很多的小型系统中,处理机的成本占系统成本的比例高达20,而对于这些小型的系统来说,配置一个如此高速的处理机没有任何必要,因为这些小系统追求经济效益,而不是最在乎系统的快速性,所以用成本低廉的单片机控制小型的,而又不是很复杂,不需要大量复杂运算的系统中是非常适合的。 随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且我们可以很容易地做到多点的温度检测,如果对此原理图稍加改进,我们还可以进行不同地点的实时温度检测和控制。二、设计目的 运用组态软件“组态王5。23”,结合工业过程实验室已有设备,按照定值系统的控制要求,应用PID算法,自行设计,构成单回路温度控制系统,并整定现相关的PID参数以使系统稳定运行,最终得到一个具有较美观组态画面和较完善组态控制程序的温度单回路控制系统。三、控制要求 利用电阻丝加热器对流经加热罐中的水进行加热,使用组态软件实现控制监控,采用合理的控制规律,是管道中流动水的温度稳定在设定值附近,以达到整体系统稳定运行的效果。水温的测量范围为0100,测量精度1%。四、系统结构设计4.1 系统结构框图 根据控制要求,温度单回路控制系统的控制参数是水的温度,测量便采用温度传感器,被控参数是加热器的功率,控制器是计算机,执行器是加热器,所以温度单回路控制系统的结构框图如图3。1所示.设计成绩: 指导教师: 本栏由指导教师根据大纲要求审核后,填报成绩并签名。计算机 控制器 电阻丝加热器 加热罐水温 水温检测 传感器 一 SP P T PT1 图4.1 温度单回路系统结构框图 4。2 仪表选择4。2.1 温度传感器 测量水温的传感器采用电热阻Cu50。热电阻Cu50在50150测量范围内电热阻和温度之间呈线性关系,温度系数越大,测量精度越高,热补偿性好,在过程控制领域使用广泛。系统采用三线制Cu50,温度信号经过变送单元转换成420mADC电流信号,便于计算机采集。4。2。2 加热器采用电阻丝作为加热器件,采用可控硅移相触发单元调节电阻丝的发热功率,输入控制信号为4-20mA标准电流信号,其移相触发与输入控制电流成正比。输出交流电压来控制加热器电阻丝的两端电压,从而控制加热罐的温度。输入4mA电流时,加热器电阻丝的两端温度为0V,输入为20mA电流时,加热器电阻丝的两端温度为220V。4。2.3 过程模块 采用牛顿7000系列远程数据采集模块作为计算机控制系统的数据采集通讯过程模块。牛顿7000系列模块体积小,安装方便,可靠性高. D/A模块采用牛顿7024,四通道模拟输出模块,电流输出420mADC,电压输出15VDC,精度14位。使用7024模块的1通道I01作为可控硅的电压控制通道。 A/D模块采用牛顿7017,八通道模拟输出模块,电压输入15VDC.使用7024模块的4通道IN4作为温度信号检测输入通道。 通信模块采用牛顿7520,RS232转换485通讯模块.使用RS232/RS485双向协议转换,速度为300115200BPS,可长距离传输。 控制回路中电磁阀的开关量输出模块采用牛顿7043,16通道非隔离集电极开路输出模块。最大集电极开路电压30V,每通道输出电流100mA,可直接驱动电磁阀设备。4。2.4 电动调节阀 采用电动调节阀对控制回路的水的流量进行调节。采用德国PS公司进口的PSL202型智能电动调节阀,无需配伺服放大器,驱动电路采用高性能稀土磁性材料制造的同步电机运行平稳,体积小,力矩大,抗堵转,控制精度高。控制单元与执行机构一体化,可靠性高、操作方便,并可与计算机配套使用,组成最佳调节回路。由输入控制信号420mA及单相电源即可控制运转实现对压力流量温度液位等参数的调节,具有体积小,重量轻,连线简单,泄漏量少的优点.采用PS电子式直行程执行机构,420mA阀位反馈信号输出双导向单座柱塞式阀芯,流量具有等百分比特性,直线特性和快开特性,阀门采用柔性弹簧连接,可预置阀门关断力,保证阀门的可靠关断防止泄露。性能稳定可靠,控制精度高,使用寿命长等优点。4.2.5 其他设备 在控制回路中所涉及到的设备还有水泵,变频器,电磁阀,开关电源等。 水泵采用丹麦格兰富循环水泵。噪音低,寿命长,扬程可达10米,功耗小,220V即可供电,在水泵出水口装有压力变送器,与变频器一起可构成恒压供水系统。 所用到的电磁阀的工作电源为DC24V,管段能力强,使用方便,结构简单。所采用的24V开关电源最大电流为2A,满足系统需要。4.3 系统流程图根据系统组成框图和组成的仪表单元,得到系统流程图如图3。1所示。计算机AD模块7017DA模块7024可控硅220VACTTCu50加热罐 图4。2 系统流程图五、系统组态设计5.1 组态王简介 组态王是在PC机上建立工业控制对象人机接口的一种智能软件包,该软件包从工业控制对象中采集数据,并记录在实时数据库中,同时负责把数据的变化用动画的方式想象得表示出来,还可以完成变量警报、操作记录、趋势曲线等监视功能,并按实际需要生成历史数据文件,它以Windows 7/Windows 98/Windows XP中文操作系统为操作平台,采用了多线程、COM组态等新技术,实现了实时多任务.它具有丰富的图库及图库开发工具,支持各种主流PLC、智能仪表、板卡和现场总线等工控产品;有一种类似C语言的编程环境,便于处理各种算法和操作,还内嵌了许多函数供用户调用,实现各种功能。5。2 组态软件设计 在Windows 7环境下,控制系统软件以组态王5.23作为开发平台。整个监控系统实现数据采集,总体监视,相关参数实时在线调整,显示实时曲线,历史曲线等功能。5.2。1 设备设置 组态王对设备的管理是通过对逻辑设备名的管理实现的,具体将就是每一个实际I/O设备都必须在组态王中指定一个唯一的逻辑名称,此逻辑设备名就对应着该I/O的生产厂家、实际设备名称、设备通信方式、设备地址、与上位计算机的通讯方式等信息内容。 系统中与上位计算机进行数据交换外部的设备主要是AD设备牛顿7017模块和DA设备牛顿7024模块。在组态王软件工程浏览器中,设置7017模块IN4通道和7024模块i01通道名称分别为AD和DA,与计算机COM1串口通信,通信地址分别为0和1。通信参数的设置如下表所示:表5.1 通信参数的设置表设置项推荐值波特率9600数据位长度/位7停止位长度/位1奇偶校验位偶校验5。2。2 组态画面 本系统绘制的组态画面主要有开机画面,系统组成画面等。 开机画面主要显示课题题目,制作人姓名,班级等相关信息。画面上设置有两个提示按键,分别提示操作员进入主界面或退出操作系统等。 系统主界面主要绘制的温度单回路控制系统的工艺组成图。包括水箱,管道,加热罐和阀门等设备以及相关的操作提示按钮等。基于动画连接,主界面可实现自动,手动切换,以及显示PID参数整定框和实时曲线框以方便操作员在线调节PID参数观察控制效果。系统主界面如下图4.1所示。 图5.1 温度单回路控制系统组态图5.2。3 变量定义 根据控制系统的需要建立数据词典,以便确定内存变量与I/O数据,运算数据的关系。只有在数据词典中定义的变量才能在系统的控制程序中使用。本系统中所涉及到的变量的类型主要有AD,DA设备进行数据交换的I/O实型变量,控制电磁阀开关的I/O离散变量,用于定以开关动画连接的内存离散变量,参于PID运算的内存实型变量和实现各种动画效果所用到的内存实型及内存整型变量等.具体的参数词典如下图所示。5。2 数据词典变量定义5。4.2 PID 控制算法 根据温度单回路控制系统的原理,运用组态王所提供的类似于C语言的程序编写语言实现PID控制算法。由于温度系数大滞后特点,去采样周期. 本系统采用PID位置控制算法,其控制算式如下: 上述算式中,为比例系数,为积分时间,为微分时间,以 作为计算机的当前输出值,以sp作为给定值,pv作为反馈值即AD设备的转换值,作为偏差.5。3 运行时PID算法程序5.2。5 PID 控制算法流程图取sp , pv形成偏差e(k)取a0 , e(k)做乘法取a1 , e(k-1)做乘法取a2 , e(k-2)做乘法做a2e(k-2)减a1e(k-1)做a2e(k-2)-a1e(k-1)+ a0e(k)做a2e(k-2)-a1e(k-1)+ a0e(k)+u(k-1)输出u(k)数据传送:u(k)u(k-1)数据传送:e(k)e(k-1)e(k-1) e(k-2)图5。4 PID控制算法流程图5.2。6 温度单回路控制过程 根据温度单回路控制系统的原理,其控制过程如下图所示: 如下图5.5所示: 阀门1打开,水泵启动,阀门2关闭,加热器对液体进行加热,温度计仪表对液体温度进行检测,反馈给调节阀门1进行调节,使液体温度能又快又稳达到给定值图5.5温度单回路控制过程组态图如下图5。6所示:是液体温度高于给定值时的控制过程阀门1打开,阀门2打开,水泵启动,对加热器进行加水,使加热器液体温度下降到给定值图5。6温度单回路控制过程组态图加热炉内温度曲线如下图5。7所示。5。7 加热炉温度实时曲线设计心得 本次工业过程课程设计,以温度单回路系统作为控制系统,基于组态王6.01作为监控软件,以PID调节规律作为控制算法,完成了系统的控制要求,监控界面清晰美观,功能较为完善。 经过本次课程设计,我对工业过程控制系统的开发控制流程有了全面的了解,初步了解了PID控制规律在实际控制工程中的应用,很好的做到了理论与实践的结合,进一步加深了对PID控制算法理解,除此之外,还对在实际工程中应用极为广泛的组态王软件,这位我们以后的工作打下了良好的基础. 这次设计从软件编写、调试到软硬件联机调试,我投入了大量的时间和精力。为有些程序的编写而绞尽脑汁,为无法找出错误而郁闷烦躁,也曾经为取得的一小步成功高兴。不过 ,最终我成功了。此次设计不仅让我增长了见识,开阔了视野,更让我懂得了过程的重要。 在本次设计中,我找到了自己的许多缺点,知识面太窄,学习知识不牢固,在硬件上的水平还比较差,没有做好理论与实际相结合。所以,在以后的学习中,我会努力完善自己,使自己的知识水平有进一步提高。 这次过程控制技术课程设计历时一个星期,在整整一个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。 参 考 文 献1郭锁凤,计算机控制系统M北京:航空工业出版社,19872刘焕志,直接用D/A输出驱动固态继电器进温度控制M北京:电子工业出版社1996。41443陶永华,新型PID控制及其应用M北京:机械工业出版社,20004刘伯春,智能自整定PID调节器的进展J化工自动化及仪表。1993,21(3):46-495侯志林,过程控制与自动化仪表M北京:机械工业出版社,19996梁军,符雪桐,吕勇哉,自适应PID控制基本原理与算法J浙江大学学报附录(PID脚本程序)PID脚本程序启动时:温度=50;测量温度=0;Ts=20;I=Ti/Ts;D=Td/Ts;ukp=0;uk1=0;ek1=0;ek11=0;ek12=0;运行期间:if(自动开关=1) Ts=15; I=Ti/Ts; D=Td/Ts; a0=P(1+1/I+D); a1=P*(1+2D); a2=P*D; ek1=sp-温度; ukp=a0ek1a1*ek11+a2*ek12+uk1; uk1=ukp; ek12=ek11; ek11=ek1; if(ukp<100) if(ukp0) uk1=0; else uk1=ukp; else uk1=100;关闭时:ukp=0;uk1=0;ek1=0;ek11=0;ek12=0;14