基于组态王与plc的单容水箱液位控制系统
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目: 基于组态王与PLC的单容水箱液位控制系统
院系名称: 电气工程学院
专业班级:
学生姓名:
学 号:
指导教师:
设计地点:
设计时间: 设计成绩: 指导教师:
摘 要
本次设计是基于组态王与PLC的单容水箱液位控制系统,该系统以实现水箱液位的自动控制。通过计算机控制水箱,从计算机上给定PID参数从而进行水箱液位控制,本次设计主要以单容水箱作为研究对象,运用组态王中亚控仿真PLC进行单容水箱对象特性的测试,并利用MATLAB软件进行了控制系统的仿真及分析,并确定出一组合适的PID参数对其进行控制。其次,采用组态王进行系统监控,通过对调节器PID参数的整定,实现了水箱液位的闭环控制,使水箱液位稳定在设定值,满足设计要求。该设计以基于计算机与PLC控制的单回路液位控制系统,通过安装在水箱底部的压力变送器测量液位,PLC接收来自压力变送器的测量信号,以电动调节阀为执行器,来改变阀门的开度,同时采用组态王进行系统监控,通过对调节器PID参数的整定,实现了水箱液位的闭环控制,使水箱液位稳定在设定值。
关键词:水箱 液位控制 组态王与PLC PID算法
1
目 录
1 绪论.............................................................. 3
1.1 背景意义 .................................................... 3
1.2 国内外研究现状 .............................................. 3
1.3 本课题研究意义 .............................................. 3 2
设计方案
关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案
与仪表选型................................................ 4
2.1 系统组成 .................................................... 4
2.2 水箱液位控制系统构成 ........................................ 4
2.3 水箱液位控制系统工作原理 .................................... 4
2.4 仪表选型 .................................................... 5
2.4.1 变送器的选择........................................... 5
2.4.2 执行器的选择........................................... 5
2.4.3 水泵的选择............................................. 6
3 PID算法设计 ...................................................... 6
3.1 PID控制器介绍............................................... 6
3.2 PID算法实现................................................. 7
3.2.1 PID算法程序设计 ....................................... 7
3.2.2 史密斯预估补偿
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
..................................... 9
3.3 PLC控制程序流程............................................ 10 4 被控对象特性分析及MATLAB仿真.................................... 11
4.1 被控对象动态特性概述 ....................................... 11
4.2 被控对象数学模型的建立 ..................................... 11
4.2.1 阶跃响应曲线法建立单容水箱的数学模型.................. 11
4.2.2 PID控制器校正单容水箱系统 ............................ 12 5 系统组态设计..................................................... 14
5.1 组态王软件简介 ............................................. 14
5.2 组态界面的设计 ............................................. 14
5.2.1项目的建立 ............................................ 14
5.2.2 图形画面的制作........................................ 15
5.2.3 PLC设备的定义 ........................................ 16
5.2.4 上位机与PLC的通讯设置................................ 16
5.2.5 定义变量.............................................. 17
5.2.6 动态连接.............................................. 17 设计心得........................................................... 23 参考文献........................................................... 24 附录:PID程序算法程序 ............................................. 25
2
1 绪论
1.1 背景意义
过程控制是自动技术的重要应用领域,它是指对液位、温度、流量等过程变量进行控制,在冶金、机械、化工、电力等方面得到了广泛应用。尤其是液位控制技术在现实生活、生产中发挥了重要作用,比如,民用水塔的供水,如果水位太低,则会影响居民的生活用水;工矿企业的排水与进水,如果排水或进水控制得当与否,关系到车间的生产状况;锅炉汽包液位的控制,如果锅炉内液位过低,会使锅炉过热,可能发生事故;精流塔液位控制,控制精度与工艺的高低会影响产品的质量与成本等。在这些生产领域里,基本上都是劳动强度大或者操作有一定危险性的工作性质,极容易出现操作失误,引起事故,造成厂家的的损失。可见,在实际生产中,液位控制的准确程度和控制效果直接影响到工厂的生产成本、经济效益甚至设备的安全系数。所以,为了保证安全条件、方便操作,就必须研究开发先进的液位控制方法和策略。
1.2 国内外研究现状
从50年代以来出现的方法有史密斯预估补偿控制、最优控制、自适应控制、动态矩阵预报控制、预测控制、滑膜变结构控制、鲁棒控制、模糊史密斯控制、模糊自适应控制、模糊PID控制、神经网络控制、专家控制等。其控制方法也已经由传统控制转向智能控制,或者是二者结合。PID控制是迄今应用最广泛的一种控制方法。目前针对纯滞后系统所采用的史密斯控制、模糊控制,以及预测函数控制等先进控制技术。分析表明,这些控制策略都能实现对时滞系统的有效控制,提高了此类液位控制系统的控制品质。而且,对于具有时间滞后特征的工业过程控制问题,多年来一直是控制理论和控制工程界广泛关注的热点之一。 1.3 本课题研究意义
当今时代,为了解决人工控制的控制准度低、控制速度慢、灵敏度低等一系列问题,自然就引入了工业生产的自动化控制。在自动化控制的工业生产过程中,一个很重要的控制参数就是液位。一个系统的液位是否稳定,直接影响到了工业生产的安全与否、生产效率的高低、能源是否能够得到合理利用等一系列重要的问题。随着现在工业控制的要求越来越高,一般的自动化控制已经也不能够满足工业生产控制的需求,所以本设计就又引入了可编程逻辑控制(又称PLC)与P组态王相结合的控制手段。引入PLC可使控制方式更加的集中、有效、及时,引入组态王,可以实时监控系统运行状况,二者互补,完美实现稳定的工业自动化控制。
液位控制系统它使我们的生活、生产都带来了不可想象的变化。它使在控制中更加的安全,节约了更多的劳动力,更多的时间。在我国随着社会的发展,很早就实行了自动控制。而在我国液位控制系统也利用得相当的广泛,特别在锅炉液位控制,水箱液位控制。还在黄河治水中也的到了利用,通过液位控制系统检测黄河的水位的高低,以免由于黄河水位的过高而在不了解的情况下,给我们人民带来生命危险和财产损失。
3
2 设计方案与仪表选型
2.1 系统组成
单容水箱液位控制系统组成结构如图2.1所示,控制器采用S7-200PLC, 被控对象为单容水箱,水箱的液位经液位传感器测量变送至PLC, PLC对数据进行处理,根据控制要求进行运算,结果经模拟量输出给执行器,执行器为电动调节阀。
上位机通过计算机PC/PPI电缆和下位机PLC串口通信,上位机安装有STEP7-MicroWin编程软件和组态王监控软件,可以进行控制算法编程,并为过程控制实验提供良好的人机界面,可以在实验时进行参数的设定修改以及响应曲线的在线显示,进行整个试验系统的监控。
液
位AI实时液位传
感单组态王器PC/PPI通信容PLC水电上位机箱动AO阀门开度调
节
阀
图2.1单容水箱液位控制系统组成结构
2.2 水箱液位控制系统构成
单容水箱液位控制系统有四个基本组成部分,即控制器、执行器、被控过程和测量变送等,单容水箱液位控制系统示意图如图2.1所示。
阀一
水箱
计算机
阀二LT
PLC
电动调节阀水泵阀三蓄水箱
图2.2 单容水箱液位控制系统示意图
2.3 水箱液位控制系统工作原理
在虚拟的水箱控制系统中当水箱液位实际值PV小于给定值SV时,通过组态王界面调大电动调节阀开度,使水箱液位上升;当水箱液位实际值PV大于给定值SV时,此时调小阀门开度,使水箱液位回到给定值上。数据采集原理框图如图2.3,数据采集是一个典型的简单负反馈控制回路, 通过传感器将实际的物理
4
量(即水箱液位)转换为电压信号传给PLC的AD功能模块,转换后可送入PC中,与给定值进行比较得出偏差值,从而改变进水流量,以实现对水箱液位的控制。单容水箱液位控制系统方框图如2.3所示:
扰动被控变量
液位设定值SVPID控制电动调水箱器节阀-
液位变送器
图2.3 单容水箱液位控制系统方框图
2.4 仪表选型
2.4.1 变送器的选择
测量变送环节的作用是将工业生产过程中的参数经过检测、变送单元转换成
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
信号。在模拟仪表中,标准信号通常采用4,20mADC、1,5VDC的电流(电压)信号,或20,100kPa的气压信号;在现场总线仪表中,标准信号是指数字信号。因在水箱液位控制系统中测量的是水箱液位,所以实验室选用的是压力液位变送器。液位传感器用来对水箱的液位进行检测,对控制精度有直接的影响, DBYG扩散硅压力变送器是一种新型的压力检测仪表。压力测量头的核心部件是扩散硅压力传感器,因此没有可动部件,抗震性能优良。仪表在工业测量和自动调节系统中作为检测环节用来测量液体、气体或蒸气的压力,并将被测参量转换
20mA DC的标准电流信号输出,与其它仪表配合实现生产过程中的自动检成4,
测和控制。另外,本变送器按标准的二线制传输,采用高品质、低功耗的精密器件,稳定性、可靠性大大提高。
因此,本设计采用工业用的DBYG扩散硅压力变送器,如图2.4所示。
图2.4 DBYG扩散硅压力变送器
2.4.2 执行器的选择
执行器接受来自控制器输出的控制信号,进而实现对操纵变量的改变,从而使被控变量向设定值靠拢。控制阀接收来自控制器输出的控制信号,通过改变阀的开度达到控制流量的目的。控制阀包括执行机构和调节机构两部分。执行机构是控制信号产生推力或位移的装置;调节机构是根据执行机构的输出信号改变能量或物料输送量的装置。因此本设计的执行器选用电动调节阀。
电动调节阀对控制回路流量进行调节。采用德国PS公司进口的PSL202型智能电动调节阀,无需配伺服放大器,驱动电机采用高性能稀土磁性材料制造的同
5
步电机,运行平稳,体积小,力矩大,抗堵转,控制精度高、控制单元与电动执行机构一体化,可靠性高、操作方便,并可与计算机配套使用,组成最佳调节回路。有输入控制信号4,20mA及单相电源即可控制运转实现对压力流量温度液位等参数的调节,具有体积小,重量轻,连线简单,泄漏量少的优点。采用PS电子式直行程执行机构,4,20mA阀位反馈信号输出双导向单座柱塞式阀芯,流量具有等百分比特性,直线特性和快开特性,性能稳定可靠,控制精度高,使用寿命长等特点。PSL202型智能电动调节阀如图2.5所示。
图2.5 PSL202型智能电动调节阀
2.4.3 水泵的选择
丹麦格兰富循环水泵特点:安装方便,功率强大、容易维护和广泛的适用性,噪音低,寿命长,功耗小,220V供电即可,在水泵出水口装有压力变送器,与变频器一起可构成恒压供水系统。因此,本设计选择该型号为CM10-3的丹麦循环水泵。如图2.6所示。
图2.6 CM10-3型丹麦循环水泵
3 PID算法设计
3.1 PID控制器介绍
PID控制器(比例-积分-微分控制器),由比例单元P、积分单元I和微分单元D组成。通过Kp,Ti和Td三个参数进行设定。
PID参数对系统的影响:
(1)比例增益Kp 能及时地反映控制系统的偏差信号,系统一旦出现了偏差,比例环节立即产生调节作用,使系统偏差快速向减小的趋势变化。当比例增益Kp 越大,PID 控制器调节速度越快。但Kp 不能太大,过大的比例增益会加大调节过程的超调量,从而降低系统的稳定性,甚至可能造成系统的不稳定。 (2)积分环节可以消除系统稳态误差。积分作用的强弱取决于积分时间常数的大小, Ti 越小,积分作用越强,反之则积分作用弱。积分作用的引入会使系统稳定性下降,动态响应变慢。
(3)微分环节的引入,主要是为了改善控制系统的响应速度和稳定性。微分作用具有超前的控制作用,因此,微分作用可以改善系统的动态性能。微分作用的
6
强弱取决于微分时间 Td 的大小,Td 越大,微分作用越强,反之则越弱。
数字PID 调节器就是将模拟信号( 包括电流、电压) 通过AD 转换变为数字信号, 微处理器(本设计采用单片机)再将数字信号通过一定的算法进行一定的处理。
3.2 PID算法实现
3.2.1 PID算法程序设计
我们知道,在模拟系统中,PID算法的表达式为:
,,det1(),, (3.1) pt,kpet,etdt,Td()()(),,,dt,,Ti,,
式中p(t)—调节器的输出信号;
e(t)—调节器的偏差信号,它等于给定值与测量值之差;
kp—调节器的比例系数;
Ti—调节器的积分时间;
Td—调节器的微分时间。
由于计算机控制是一种采样控制,它只能根据采样时刻的偏差来计算控制量。因此,在计算机控制系统中,必须首先对式(3.1)进行离散化处理,用数字形式的差分方程代替连续系统的微分方程,此时积分项和微分项可用求和及增量式表示:
nnne(t)dt,E(j),t,TE(j) (3.2) ,,,0,,00jj
de(t)E(k),E(k,1)E(k),E(k,1),,,,,, (3.3) dt,tT
将式(3.2)和式(3.3)代入式(3.1)得到离散化公式。
k,,T,,TD()()()()(1)ukkpEkEjEkEk (3.4) ,,,,,,,,,,T,0j,,T,,I
?t=T—采样周期,必须使T足够小,才能保证系统有一定的精度;
E(k)—第k次采样时的偏差值;
E(k-1)—第(k-1)次采样时的偏差值;
k—采样序号,k=0,1,2,„;
p(k)—第k次采样时的调节器的输出。
由式(3.4)可以看出,要想计算p(k),不仅需要本次与上次的偏差信号E(k)和E(k-1),而且还要在积分项中把历次的偏差信号E(j)进行相加,即k
E(j)。这样,不仅计算烦琐,而且为保存E(j)还要占用很多内存。因此,,j,0
用式(3.4)直接进行控制很不方便。为此,我们做如下改动
k,1,,T,,Td(1)(1)()(1)(2) (3.5) ukKEkEjEkEk,,,,,,,,,,,,,pTj,0,,Ti,,
7
用式(3.4)减去式(3.5),可得:
(3.6) ukukKEkEkKEkKEkEkEk()(1)()(1)()()2(1)(2),,,,,,,,,,,,,,,pid
T式中,,----积分系数; Kkpi
Ti
Td ----微分系数。 Kkp,dT
由式(3.6)可知,要计算第k次输出值p(k),只需知道p(k-1), E(k), E(k-1), E(k-2)即可。在很多控制系统中,由于执行机构式采用步进电机或多圈电位器进行控制的,所以,只要给一个增量信号即可。 ,,,,ukukuk()()(1)
kEkEkkEkkEkEkEk()(1)()()2(1)(2),,,,,,,,= (3.7) ,,,,PID
式(3.7)表示第k次输出的增量?p(k),等于第k-1次调节器的输出值,即在第(k-1)次的基础上增加(或减少)的量,所以式(3.7)叫增量型PID控制式。
由式(3.7)可知,增量型PID算式为:
,,,,ukukuk()()(1) (3.8)
kEkEkkEkkEkEkEk()(1)()()2(1)(2),,,,,,,,= ,,,,PID
,,,,ukkpEkEk()()(1)设 ,,p
,,ukKEk()() ii
,,,,,,ukkEkEkEk()()2(1)(2) ,,dd
所以,有
,,,,,,,ukukukuk()()()() (3.9) pid
上式为离散化的增量型PID编程表达式。
PID程序流程图如图3.1
8
PID程序算法入口
取设定值SV与水箱液位PV形成
偏差e(k)
取Kp、e(k0)-e(k1)相乘得
feedbackP
取Ki与e(k0)相乘得feedbackI
取Kd、e(k0)-2*e(k1)+e(k2)相
乘得feedbackD
取FeedbackP+feedbackIfeedbackD
得增量?u(k)
?u(k)输出
数据传送PV=PV+?u(k)
数据传送ek0=ek1,ek1=ek2
返回
如图3.1 PID程序流程图
3.2.2 史密斯预估补偿方案
施密斯补偿原理是:在一般的传统控制回路中,与并接一补偿环节,Ds()
用来补偿被控制对象中的纯滞后部分。这个补偿环节称为预估器,其传递函数为
,,s,补偿后的系统框图如图3.2所示。由预估器和调节器组成的Ds()Gp(s)(1-)e
补偿回路称为纯滞后补偿器,其传递函数为,即
Ds(),, Ds(),s,,,,1()()(1)DsGseP
经补偿后的系统闭环传递函数为
,,,sDsGseDsGs()()()(),s,PP,,, ()se,s,,,,1()()1()()DsGseDsGsPP
,,se由上式可以看出,经补偿后,系统闭环传递函数的在闭环控制回路之外,消除了纯滞后部分对控制系统的影响,不影响系统的稳定性。由拉式变换的位移定
,,se,理可以知道,仅将控制作用在时间坐标上推移了一个时间,控制系统的过
9
渡过程及其他性能指标都与对象为无纯滞后环节的时完全相同。补偿器的G(s)P
控制参数并不是一成不变的,纯滞后环节通常又采用近似式表示,因而会出现预估补偿器不能实现完全补偿,使系统的稳定性变差。为提高系统的稳定性,应采取以下措施:
1)可适当减少调节器的增益,减弱调节作用。
2)使补偿器的参数与被控对象的参数一致,特别是预估补偿器的增益应与对象的增益一致
实际控制中调节器D(s)通常采用数字PID控制器,其表达式为:
,,,,,,,,,,ukkEkEkkEkkEkEkEk()()(1)()()2(1)(2),,,,PID
则施密斯预估控制算法步骤为:
1) 计算系统反馈回路偏差: ekrkyk()()(),,
2) 计算预估器的输出: yk()ykykbukukN()(1)[(1)(1)],,,,,,,,,,,
::3) 计算调节器的输入: Ds()ekekyk()()(),,ek(),
TT,TT::N,,,,T为采样时间 式中,,ebKe,,[1]:T
4) 计算调节器的输出: Ds()uk()
ukukuk()(1)(),,,,
::::::= ukkekekkekkekekek(1)[()(1)]()[()2(1)(2)],,,,,,,,,,PID
et(),rt()ut()yt(),,s,Gse()Ds()p
yt(),,,,,sGse()(1),p
图3.2 带施密斯预估器的控制系统
3.3 PLC控制程序流程
系统控制功能由S7-200PLC实现,控制程序利用STEP7-MicroWin32软件编写调试,程序流程如图3.3所示。初始化程序对设定值、PID控制参数、定时中断时间等进行初始化设定,并启动周期定时中断,中断(采样)时间到,则进入中断程序,进行采样滤波、量程转换,实现要求的控制算法。PID控制算法利用S7-200的PID指令实现。
10
初始化
启动周期定时器
采样时间到
采样滤波
输入量程转换
PID运算
输出量程转换
输出操作值
图3.3 PLC控制程序流程图
4 被控对象特性分析及MATLAB仿真
4.1 被控对象动态特性概述
被控对象的动态特性是指被控对象的输入发生变化时,其输出(被调量)随时间变化的规律。控制系统的设计方案都是依据被控对象的动态特性进行的,所以要进行水箱的动态特性研究,调节器参数的整定也是依据对象的动态特性进行的。从控制观点看,被控对象本质上都有相同之处,分析被控对象的动态特性,可知被控对象控制的难易程度与调节过程的快慢。要
评价
LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载
一个系统的工作质量,只看稳态是不够的,还应看动态过程中被调量随时间的变化情况。因此,研究系统的动态特性就显得特别重要。
4.2 被控对象数学模型的建立
建立被控对象数学模型的方法主要有三种,分别是机理法、实验法、机理法与实验法相结合的混合法。机理法根据被控过程的内部机理,运用已知的静态或动态平衡关系,用数学解析的方法求取被控过程的数学模型。实验法是先给被控过程人为地施加一个输入作用,然后记录过程的输出变化量,得到一系列实验数据或曲线,最后再根据输入,输出实验数据确定其模型的结构(包括模型形式、阶次与纯滞后时间等)与模型的参数。混合法是机理演绎法与实验辩识法相互交替使用的一种方法。
4.2.1 阶跃响应曲线法建立单容水箱的数学模型
阶跃响应曲线法是实验法的一种,即对被控对象施加一阶跃信号,并且阶跃响应获取应注意以下的问题:(1)合理选择阶跃扰动的幅度(一般约为额定负荷的10%,20%)(2)实际阀门只能以有限速度移动(3)一般认为阶跃信号是在t1 /2时加入(4)试验前确保被控对象处于稳定工况(5)考虑过程的非线性特性,应进行多次测试。(6)若过程不允许同一方向扰动加入,则采用矩形脉冲扰动,可从脉冲响应曲线求出所需的阶跃响应。
由于是单容水箱,则其数学模型可以用一阶惯性环节加纯延迟的传递函数即
11
K,,s,,,Gses,1T (式4-1)
,来近似,确定参数k、T、有两种方法:作图法、参数两点法。
用作图法求参数时需注意:(1)t1/2处为扰动起点(2)在s型响应曲线找
y,k,,x,拐点,并作切线。T、值如下且
XY
X
?变Y化
量tτT
0t
图4.1(a)阶跃信号 图4.1(b)一阶惯性环节加纯滞后
显然,用这种方法求直线效果是很差的。首先,与式(4-1)所对应的阶跃
,时刻的指数曲线,它不可能完美的拟合成S型的曲线,响应是一条向后平移了
,再次,在做图中,切线的画法也有很大的随意性,这将直接关系到和T的取值,因此,参数的确定排除用此方法,选用参数两点法,首先,将响应曲线标幺
y(t)*y,y(,) (式4-2)
0,t,, (式4-3) ,*yt()=,,t, 1exp(),,,t,,,T
取y*(t1)=0.39,取y*(t2)=0.63,记t1和t2
T,2(t,t)21则 (式4-4) ,,2t,t12 (式4-5)
**t,0.8T,,y(t),0.55t,2T,,y(t),0.873344取 验证
基于以上原理,可以用Matlab编程,,并且在误差的范围之内,可以接受。为了仿真的必要,因此在本设计中选取一定合适的参数,选取的参数在保证接近实际的基础上,选择数学模型为:
20,58s(),GSe137,1s (式4-6) 4.2.2 PID控制器校正单容水箱系统
利用Simulink仿真模块集在模型编辑窗口建立PID控制器,如图4.2所示。
12
图4.2 PID控制子模块
之后,点击Edit—Mask Subsystem,对其进行封装。其封装图如图4.3所示。
图4.3 PID控制器的封装
加入PID调节器后,系统方框图如下图4.4所示:
图4.4 系统方框图
此后,反复调试PID参数,得到如下较为理想的曲线。因为微分对纯延迟环节不起作用,则纯延迟部分始终无法消除,其参数设计如图4.5所示.
图4.5 PID参数
13
对应的阶跃响应曲线如下图4.6所示。 15
10
5
00100200300400500600
图4.6 理想PID参数下的阶跃响应曲线
5 系统组态设计
5.1 组态王软件简介
组态王软件是工业自动化软件的一种, 是北京亚控科技发展有限公司的产品。本设计用的是组态王6.53版本,“组态王6.53”软件包由工程浏览器(TouchExplorer)、 工程管理器(ProjManager) 和画面运行系统(TouchVew)三部分组成。 在工程浏览器中可以查看工程的各个组成部分, 也可以完成数据库的构造、定义外部设备等工作; 工程管理器内嵌画面管理系统, 用于新工程的创建和已有工程的管理。画面的开发和运行由工程浏览器调用画面制作系统TOUCHMAK和工程运行系统TOUCHVEW来完成的。
工程浏览器和画面运行系统是各自独立的Windows应用程序,均可单独使用 ; 两者又相互独立, 在工程浏览器的画面开发系统中设计开发的画面应用程序必须在画面运行系统运行环境中才可能运行。信息窗口是一个独立的Windows应用程序, 用来记录、显示组态王开发和运行系统在运行时的状态信息。
TOUCHMAK是应用工程的开发环境,需要在这个环境中完成画面设计、动画连接等工作。TOUCHMAK具有先进完善的图形生成功能; 数据库提供多种数据类型,能合理地提取控制对象的特性;对变量报警、趋势曲线、过程记录、安全防范等重要功能都有简洁的操作方法。
PROJMANAGER是应用程序的管理系统。PROJMANAGER具有很强的管理功能,可用于新工程的创建及删除, 并能对已有工程进行搜索、备份及有效恢复,实现数据词典的导入和导出。
5.2 组态界面的设计
分析工程中设备的采集及输出通道与实时数据库中定义的变量的对应关系,然后建立工程,构建实时数据库。利用组态王进行组态建立一个应用工程一般包括以下几个过程:创建新工程;定义硬件设备并添加工程变量;制作图形画面并定义动画链接;编写命令语言;运行系统的配置,对运行系统、报警、历史数据记录、用户等进行设置;保存工程运行并调试。
5.2.1项目的建立
14
建立新工程项目:在运行组态王程序时,弹出组态王工程管理器画面,此时建立一个新工程,执行以下的操作步骤:
(1)在工程管理器中选择菜单“文件/新建工程”,弹出“新建工程向导一欢迎使用本向导”对话框。
(2)点击“下一步”,弹出“新建工程向导二选择工程所在路径”对话框。从对话框中选择或指定工程所在路径。
(3)点击“下一步”,弹出 “新建工程向导三工程名称和描述”对话框。往对话框中输入工程名称:单容水箱液位监控系统。
(4)点击“完成”,再点击“是”,将新建的工程设为组态王当前工程,此时组态王工程管理器中出现新建的工程。
5.2.2 图形画面的制作
按照实际工程的要求绘制监控画面,并使静态画面随着过程控制对象产生动态效果。选择工程目录区的画面,双击新建后进入组态王开发系统,如图5.1所示:
图5.1 组态王开发系统新画面
新建画面命名:单容水箱液位监控系统,选择画面风格“大小可变”和“覆盖式”。单击确定后进入开发系统新画面进行设计。点击工具栏中的“打开图库”,单击反应器,选择需要的图素。双击该图素到绘图区,在单击放下该图素。画面名称可根据目标自己随意定;从工具箱中找到图库,打开图库,在图形画面里添加一个仪表对象、一个“实时曲线”、一个“历史曲线”、一个“报表窗口”、一个“报警窗口”和一个“退出系统”。
对于已建立的实验主画面中的单容水箱可以在计算机监控界面上直接看到,单容水箱液位随控制信号变化而变化的图像。结合实验现场系统的实际单容水箱的液位, 可以将监控画面中的水箱液位动态变化与实际现场的水箱液位进行比较。打开“单容水箱液位监控系统”主画面, 如图5.2所示,双击“水箱”弹出动画连接对话框, 如这样建立连接后水箱液位的高度随变量“水箱液位”的值变化而变化。
15
图5.2水箱液位控制系统主画面
5.2.3 PLC设备的定义
在组态界面中选择新建的工程,双击进入组态王工程浏览器; 在组态王工程浏览器的左侧选择“设备”中的“COM1”,在右侧双击“新建„”,运行“设备配置向导”。
?找到设备驱动\PLC\亚控\仿真PLC。(选择亚控的仿真PLC是为了实验仿真的需要)。如图5.3所示。
?点击“下一步”,则显示安装设备的所有信息。
?最后检查各项设置是否正确,确定无误后,点击“完成”。
图5.3 设备配置向导
5.2.4 上位机与PLC的通讯设置
双击组态软件界面的右侧“设备-COM1”进入图5.4的“设置串口-COM1”界面,如图设置波特率为9600,偶校验,数据位为7,停止位为1,通信超时为3000毫秒,通信方式为RS232,点击确定,完成上位机与PLC的通讯连接设备的设置。如图5.4所示。
16
图5.4 通讯设置
5.2.5 定义变量
根据选择的系统分析被控对象涉及的各个变量,在组态王软件的数据词典中建立这些变量和所需的中间变量,已备动画连接和编程使用。从工程浏览器的左侧树形菜单中选择“数据库\数据词典”,在右侧双击“新建”,出现“定义变量”对话框。数据词典所有定义变量如图5.5所示。
图5.5 数据词典
(1)定义变量“给定值”、“测量值”、“输出值”。
“给定值”变量类型选I/O整数,因为给定值只需要写入PLC,故寄存器选择STATIC100;由于按输入液位范围0,100,所以变量的最小值为0,最大值为100。其中定义I/O整数变量时,关键是最小原始值和最大原始值的设置。数据类型为SHORT。“测量值”与“给定值”的不同之处为寄存器选择INCREA100,属性为读写。“输出值”与“测量值”的变量定义相同。
(2)定义变量“P”、“I”、“D”。
“P”、“I”、“D”三个变量的定义完全相同,在本课程设计中,处于仿真的需要,均将变量类型选为内存实型。
(3)定义变量“控制水流”、“阀门”。
变量“控制水流”是为了水流动画连接的需要,因此变量类型定义为内存整型。变量“阀门”只有两个状态,要么为“1”,要么为“0”,因此变量类型选为内存离散。
5.2.6 动态连接
17
(1)被控对象的动态连接。
双击画面中水箱对象,出现“水箱向导”对话框,通过点击变量名文本框右边的“,”号出现“选择变量名”对话框。选择变量名“测量值”,点击“确定”,文本框中出现“\\本站点\测量值”。如图5.6所示。
图5.6 被控对象动态连接画面
(2)建立当前液位值显示文本对象的动画连接
双击画面中当前电压值显示文本对象“000”,弹出“动画连接”对话框。把“模拟值输出”与变量“模拟量输入”连接,其中输出格式:整数1位,小数1位。
(3)建立水流的动画连接
变量闪烁0的隐含链接,表达式为真时,显示状态,变量闪烁1是闪烁链接,二者交替进行,产生水流动画效果。
控制水流中使用到的命令语言:
if(\\本站点\控制水流<5)
\\本站点\控制水流=\\本站点\控制水流+1;
else
\\本站点\控制水流=0;
控制水流命令语言窗口如图5.7所示。
图5.7 控制水流命令语言窗口
18
(4)建立实时趋势曲线对象的动态连接
趋势曲线用来反应数据变量随时间的变化情况。趋势曲线有两种:实时趋势曲线和历史趋势曲线。这两种曲线外形都类似于坐标纸,X轴代表时间,Y轴代表变量值。所不同的是,在你的画面程序运行时,实时趋势曲线随时间变化自动卷动,以快速反应变量的新变化,但是不能随时间轴“回卷”,不能查阅变量的历史数据;历史趋势曲线可以完成历史数据的查看工作,但它不会自动卷动,而需要通过命令语言来辅助实现查阅功能。
双击画面中实时曲线对象,在曲线定义选项中,点击“曲线1”文本框右边的“,”号,选择变量名“给定值”;点击“曲线2”文本框右边的“,”号,选择变量名“测量值”,设置其他参数的值,如图5.8所示。
图5.8 实时趋势曲线对象动画连接—曲线定义界面
在“标识定义”选项卡中,设置时间轴长度为20秒,也可以根据实际情况设置时间轴长度,本实验选用水箱液位起始值为0cm,最大值为100cm,如图5.9所示。
图5.9 实时趋势曲线对象动画连接—标识定义界面
19
单容水箱的实时曲线与历史曲线运行画面如下图5.10所示:
图5.10水箱的实时曲线与历史曲线
5)数据报表窗口的动画链接:首先在报表工具箱的编辑栏中输入“=”,然后单击该按钮,在弹出的变量选择器中选择该变量,单击“确定”按钮关闭“变量选择”对话框,报表工具箱编辑栏中的内容为“=$时间”,单击工具箱上的输入按钮,则该表达式被输入到当前单元格中,运行画面如图5.11所示:
图5.11 数据报表窗口运行画面
6)报警窗口动画连接:
在事件命令语言中输入命令语言:showpicture("报警窗口");\\本站点\$新报警=0;条件为:\\本站点\$新报警==1。即当达到报警时,报警值为1,显示报警,调用后,又重新将报警值置0。事件命令语言窗口如图5.12所示。
报警窗口用以反应变量的不正常变化,组态王自动对需要报警的变量进行监视。当发生报警时,将这些报警事件在报警窗口中显示出来。在工具箱中选用报警窗口工具,在画面上绘制报警窗口,设置报警上下限。如图5.13与图5.14分别为液位达到上限与下限时的报警窗口。为使报警窗口内能显示变量的非正常变化,必须先做如下设置:切换到工程浏览器,在左侧选择“报警组”然后双击右侧的图标进入“报警组定义”对话框。在“报警组定义”对话框中将“RootNode”修改为“水箱液位”。单击“确认”,关闭“修改报警组”对话框。单击“报警组定义”对话框的“确认”按钮。
20
图5.12 事件命令语言窗口
图5.13 下限报警窗口运行画面
图5.14 上限报警窗口运行画面
7) 退出界面的动画连接
21
双击开始按钮图素进入按钮动画连接窗口,选择“按下时”,弹出命令语言窗口,在窗口中写入命令语言Exit(0);后确定,完成退出界面动画连接。动画链接如图5.15所示:
图5.15 退出系统的动画连接
22
设计心得
经过两周的努力,本设计基本达到了设计目的。通过上位机来分别设定一个液位高限值、一个液位低限值和给定值,经过系统内部比较,自动调节输出值,在模拟负载量下,系统自动调节电动调节阀,最终使液位保持在一定变化范围内,从而实现了对液位的自动控制。在系统设计过程中,由于PLC功能指令方面的欠缺,自己在这方面也做出了很大努力,虽然结果不甚好,但自己确实学到了很多。通过查询大量的文献资料,加上自己在书本中学到的知识,成功的解决了上位机与PLC之间的通讯问题。单容水箱液位控制系统不可避免受纯滞后的影响,造成系统滞后,为了解决这个问题,引入了史密斯预估补偿装置,解决了这个方面对系统造成的滞后问题。但是,液位控制系统自身存在时变、非线性等特点,因此系统的灵敏度与跟随性能不是很理想。另外,本次设计出于对课程的充分认识,以及组态软件在过程控制系统的作用,自己把重点放在了组态设计环节上,尤其是在数据词典变量的定义、组态动画的设置与连接、报警设置等方面投入了很多时间,学到很多组态方面的知识,极大的激发了我的学习热情,最终做出了一个较为完善的组态监控界面。
通过本次课程设计,自己的知识领域又得到了进一步的提升,专业技能方面也有了较大的进步,同时也学到了解决工程实际问题的能力。另外,也培养了自己严肃认真的科学态度和严谨求实的工作作风。特别是对组态王的应用,从陌生到了解到渐渐熟悉,过程虽然困难,但收获颇多。同时,也发现了自己在很多方面都存在知识的欠缺,遇到问题显得非常的棘手,这在很大程度上制约着课程设计各方面不能面面俱到,必然存在错误与漏洞之处。因此,在今后的学习生涯中,依旧要踏实学习,拓新笃行,争取学到更多知识。
最后,真诚的感谢在课程设计中给予我很大帮助的同学和老师。尤其感谢老师,感谢您对我们的认真负责,感谢您及时给予我们的指导,在未来的一年里,我们会谨记教诲,取得更大的进步。
23
参考文献
[1] 胡皓. 单容水箱液位控制研究[J]. 新技术新工艺, 2012, (12): 88-89
[2] 姜秀英. 过程控制系统实训[M]. 北京:化学工业出版社,2007 [3] 陈曦, 丁跃浇, 肖翀. 基于组态王的单容水箱液位定值控制实验[J]. 湖南理工学院学报, 2011, 24(1): 76-80
[4] 孙洪程. 过程控制工业设计[M]. 化学工业出版社,2001 [5] 冯品如. 过程控制工程[M]. 中国轻工业出版社,1995 [6] 徐杰, 吴夏来. 施密斯预估方法在单容水箱液位控制中的应用[J]. 丽水学院学报, 2013, 35(5): 51-54
[7] 陈夕松. 过程控制系统[M]. 科学出版社,2005
24
附录:PID算法程序
P1=Kp;
I1=Ti/Ts;
D1=Td/Ts;
;增量式PID算法进行PID运算
;?uk=A*e(k)-B*e(k-1)+Ce(k-2)
;A=Kp+Ki+Kd=Kp(1+T/Ti+Td/T)
;B=Kp+2Kd=Kp(1+2Td/T) ;C=Kd=KpTd/T
a01=P1*(1+1/I1+D1);
a11= P1*(1+2D1);
a21=P1*D1;
ek0=SV-PV;水箱液位
OP1=a01*ek0-a11*ek01+a21*ek02+uk0; uk0=OP1;
ek02=ek01;
ek01=ek0;
\\服务器\OP1=OP1
25