(衢州学院 浙江衢州 324000)
摘要:本文以单容水箱为被控对象,控制系统主要由以下基本环节组成:被控对象、液位测量变送器、控制器、执行器、水泵、储水箱。控制的主要目标是维持水箱的特定设定值,即便干扰出现控制器也能做出决策,使水箱的液位回复设定值。根据算法控制的比较选择了标准PID控制,双位控制,积分分离PID控制。基于MCGS组态软件制作液位模拟界面和算法控制。
关键词:单容水箱;液位控制;PID算法
1.引言
过程控制是自动技术的重要应用领域,它是指对液位、温度、流量等过程变量进行控制,在治金、机械、化工、电力等方面得到了广泛应用。尤其是液位控制技术在现实生活、生产中发挥了重要作用,比如,民用水塔的供水,如果水位太低,则会影响居民的生活用水;工矿企业的排水与进水,如果排水或进水控制得当与否,关系到车间的生产状况:锅炉汽包液位的控制,如果锅炉内液位过低,会使锅炉过热,可能发生事故:精流塔液位控制,控制精度与工艺的高低会影响产品的质量与成本等。在这些生产领域里,基本上都是劳动强度大或者操作有一定危险性的工作性质,极容易出现操作失误,引起事故,造成厂家的的损失,可见,在实际生产中,液位控制的准确程度和控制效果直接影响到工厂的生产成本、经济效益甚至设备的安全系数。所以,为了保证安全条件、方便操作,就必须研究开发先进的液位控制方法和策略
2.系统的目的要求
2.1主要目的
通过对单容水箱液位控制系统这样一个工业控制实际应用系统的软、硬件设计,使学生进一步加深对基于组态软件技术的控制系统的基本设计方法的认识及较快掌握组态软件编程技术,培养学生独立分析问题和解决问题的能力,提高学生的实际工程应用能力。
2.2主要任务
①选择一个题目,熟悉设计要求、实验室提供的设备及实际控制系统的硬件组成,进行接口设备的安装与连接;熟悉所用组态软件的操作。
②查看有关参考书籍、查阅相关文献资料,独立设计基于组态软件的控制系统方案。
③根据实际系统的要求,进行画面设计与编辑、控制程序的编写、设定报警和历史趋势等。
④进行程序的运行、调试与改进。
2.3基本要求
单容水箱液位控制系统主要由以下几个基本环节组成:被控对象(水箱)、液位测量变送装置、控制器(计算机)、执行器(电动调节阀)、水泵、储水箱。如图1所示,LT表示液位变送器,水箱流入量和流出量分别为Q1和Q2,控制的主要目标是维持水箱的液位为其设定值H,及干扰出现时,控制器能迅速做出决策,并使被控量液位尽快回到设定值。
3.单容水箱液位控制系统的建模流程
3.1实时数据库的创建,液位控制系统绘图及动画连接
新建MCGS文件,在实时数据库中,创建对应数据组态,在用户窗口建立单容水箱液位控制系统(启动窗口),从对象元件库中选择相对应得元件。根据系统要求,手动阀、显示仪表、流动块和水箱液位状态需呈动画显示,其连接过程如下。
①手动阀:3个手动阀的红色手柄设置为不可见。
②显示仪表:允许显示输出,显示输出的值为“pv”,是数值型输出,可以显示2位整数和2位小数。
③流动块:出水管道中,当调节阀开度位0时,水管中不会有谁流动,因此设为“op”非0时,流块开始流动。
出水管道中,当水箱液位位0时,水管中不会有水流动,因此设置为“pv”非0时,流块开始流动。
④水箱:允许液位变化,为0~40cm。设置变化为由下而上,方式为“缩放”。
3.2通信和设备工作状态,报警指示
用标签“通信和设备工作状态”来显示通信和设备工作态。右上角的指示灯用来显示报警指示,分别为安全报警与越限报警。
3.3控制方式设定、算法选择和算法策略
由显示控制方式的标签控制手动还是自动,而下拉框则是选择算法,在这里用计算字符的长度来判别方法的选择。算法包括:双位控制,PID控制以及积分分离PID控制。
PID控制的脚本程序如下:
e2=e1
e1=e0
e0=sv-pv
pf=p*(e0-e1)
IF ti=0 THEN
jf=0
ELSE
jf=p*ts*e0/ti
ENDIF
df=p*td*(e0-2*e0+e2)/ts
pv=pv+pf+jf+df
积分分离PID控制的脚本程序如下:
e2=e1
e1=e0
e0=sv-pv
pf=p*(e0-e1)
IF ti=0 OR e0<-1 THEN
jf=0
ELSE
jf=p*ts*e0/ti
ENDIF
df=p*td*(e0-2*e1+e2)/ts
pv=pv+pf+jf+td
3.4给定值及参数设定
共23个标签,8个作为参数名称,7个作为对应的单位,8个用来显示对应的数据。sv,ts,op,p,ti,td,alarmsv均可输入,而pv只能输出。
3.5实时曲线
在实时曲线中,将要显示液位设定值sv,液位测量值pv以及阀门开度op。分别显示,“蓝色”,“红色”以及“黑色”。
3.6历史曲线和历史数据
在对应的用户窗口中插入对应的历史曲线以及历史数据。
在历史曲线中还有“打印”以及“退出”标签,历史曲线依旧显示液位设定值sv,液位测量值pv以及阀门开度op,但对应的数据变量为sv1,pv1以及op1。“打印”的标签按钮动作选择打印历史曲线;“退出”的标签按钮动作选择关闭历史曲线窗口以及打开单容水箱液位控制系统。
在历史数据中,和历史曲线相同,显示的是液位设定值sv1,液位测量值pv1以及阀门开度op1。相比历史曲线,少了个“打印”的标签,但多了“保存路径”以及“保存”的标签。“保存路径”则是输出字符型数据对象“存盘数据”;“保存”则是按钮动作执行“存盘策略”的运行策略块,并打开“消息”用户窗口显示“保存成功”这4个字。
“存盘策略”则是添加数据转换格式策略。对数据转化格式策略进行设置,保存的数据文件名为SaveData.DAT,连接的变量名为存盘数据,选择MCGS组对象对应的存盘数据表为组。
3.7报警记录,消息
在报警记录窗口中分别插入安全报警和越限报警的报警显示构件,按照对应的数据进行设置。并添加“退出”标签来实现退出此窗口。
在消息的窗口中加入标签“保存成功”,允许其按钮动作关闭“消息”这个窗口。
3.8设备组态,启动、循环策略
在设备窗口中添加串口通讯父设备以及宇光AI_808仪表。对其进行相应的设置。
在启动策略中添加脚本程序如下:
!setdevice(设备1,6,"write(24,0)")
将循环策略周期调至200ms,并实现手动到自动,自动到手动的无扰转换。首先判断通信和设备是否正常,再判断控制方式是否手动。
当处于手动方式时,下拉框以及标签为不可见;当处于自动方式,下拉框以及标签为可见,识别下拉框选择的算法根据算法名称的字符长度来判断,并执行相应的算法。最后判断是否越限报警。
则循环策略的脚本程序如下:
IF !GetDeviceState(设备1)=1 AND com1=0 THEN
通信="设备工作正常"
IF method=0 THEN
方式显示="手动控制"
单容水箱液位控制系统.控件27.Visible=0
单容水箱液位控制系统.控件28.Visible=0
ELSE
方式显示="自动控制"
单容水箱液位控制系统.控件27.Visible=1
单容水箱液位控制系统.控件28.Visible=1
IF !Len(控制算法)=8 THEN !Setstgy(双位控制)
IF !Len(控制算法)=7 THEN !Setstgy(PID)
IF !Len(控制算法)=15 THEN !Setstgy(IPID)
ENDIF
IF pv>=40 THEN alarm=1
IF pv<40 THEN alarm=0
ELSE
通信="设备停止工作"
ENDIF
3.9主控窗口设计
运行时,为实现各用户窗口之间的切换,在主控窗口编制相应的菜单系统。添加5个菜单项,分别为:单容水箱液位控制系统,历史曲线,历史数据,报警记录和退出。
前4个做相应的打开窗口的操作,“退出”菜单则是选择“退出运行系统”中的“退出操作环境”。
这样,整个控制系统就完成了。可进入运行环境中,选择相应的控制算法,并进行相关的参数整定,从而实现对液位的计算机控制
参考文献
[1]曹辉、马栋萍、王暄、耿瑞芳主.组态软件技术及应用(第2版)[M].电子工业出版社,2012.
[2]李江全.组态软件MCGS从入门到监控应用35例[M].电子工业出版社,2015.
[3]李红萍.工控组态技术及应用—MCGS[M].西安电子科技大学出版社,2013.
[4]潘永湘、杨延西、赵跃.过程控制与自动化仪表(第2版)[M].机械工业出版社,2007.