基于PID运算的水箱恒水位控制系统设计研究
扫描二维码
随时随地手机看文章
引言
恒值控制是自动控制领域常用的控制方式之一,如恒压、恒温、恒水位控制等。恒值控制多采用PID算法实现。PID控制属于负反馈控制,当被控对象偏离理想值时,可以快、准、稳地回到理想值。本文阐述如何运用PID运算实现水箱恒水位控制。
1系统控制要求
某水箱的水位需要保持70%的高度,其中水箱中的水以变化的速度流出,用水位检测仪检测水箱水位,用变频器驱动水泵给水箱供水,用PID的输出控制变频器的频率,从而控制水箱注水电动机的转速,满足水箱70%高度的恒水位控制要求。
2系统组成及各部分作用
实现上述控制要求的恒水位控制系统组成如图1所示。
该系统主要由S7-200系列PLC中的CPU224XP、水位检测仪、变频器、电动机、启停开关、电源等组成。下面对各部分器
件的作用进行简要阐述。
2.1CPU224XP
CPU224XP具有14点数字量输入、10点数字量输出,2路模拟量输入、1路模拟量输出,6路100kHz的高速计数器,2路100kHz的高速脉冲输出:具有2个RS485通信/编程口:具有PPI、MPI通信协议和自由口通信方式:具有PID功能。
2.2变频器
变频器是变频电源,它可以将固定频率、固定电压的交流电变为频率可调、电压随频率变化的交流电,作为电动机的电源,通过调频来调节电动机的转速。变频器的调频方法有面板调频、外接电位器调频、多段速调频、调节外部电压、电流调频、通信方式调频。本文采用外部可调电压调频,这个外部可调电压来自CPU224XP中经PID运算的模拟量输出。
2.3水位检测仪
水位检测仪是将水位信号变为电信号的水位检测仪器。其将转换后的标准电量信号送给PLC,作为PID运算的给定值。
将水位检测仪的水位检测量加到CPU224XP的M、A+端,作为PID的反馈量,将经PID运算的输出值经M、V端输出给变频器,作为变频器的外部电压控制信号。
3相关概念
3.1P1D
PID(prOpOrtiOnalintegralderivative)是比例、积分、微分的缩写。P是比例,I是积分,D是微分。PID是一种算法。PID运算是将系统给定值与反馈值的偏差值进行比例、积分、微分合成运算,用运算结果去控制被控对象的输出量,使输出量趋近或等于理想值。其中各个因素的作用如下:
比例P:比例系数Kp越大,比例调节作用越强。比例调节的作用是快且准,但过大的比例系数容易引起超调量和振荡次数的增加,使系统稳定性下降,而且会使系统调节时间增加,所以在确定比例系数时要综合考虑各方面因素。
积分I:积分时间常数7i越大,积分作用越弱。积分调节的作用是消除偏差,实现无静差调节。其负作用是过大的积分作用会使调节变缓,影响系统的快速性和稳定性。
微分D:微分时间常数7d越大,微分作用越强。微分作用是根据被调量的变化率进行调节,当被调量有变化趋势时即产生调节作用,对系统的偏差进行超前校正,使系统的动态响应速度提高,动态稳定性增强。其负作用是对干扰信号比较敏感,使系统的抗干扰能力降低。
3.2P1D回路参数表
将和PID相关的9个参数列成表格,每个参数均为32位实数,占用PLC内存的4个字节,构成PID回路参数表,如表1所示。
4系统程序
水箱恒水位控制系统的程序由主程序、子程序和中断程序组成。
主程序用来调用初始化子程序:子程序用来建立PID回路初始参数表和设置中断:中断程序用来完成输入、输出处理、PID的运算及结果更新。具体程序及解释如下:
4.1主程序
LDSM0.1
CALLSBR0//首次扫描时,调用初始化子程序。
4.2子程序
M0VR0.7,VD104//设置给定值为0.7,对应水箱水位70%:
MOVR0.3,VD112//设置比例增益系数为0.3:
MOVR0.1,VD116//采样时间0.1S,即0.1S采1次水位值:MOVR30,VD120//设置积分时间为30min:
MOVR0,VD124//设置微分时间为0,即微分不起作用,本例实际是PI控制:
MOVB100:SMB34//设置定时中断的周期为100mS:
ATCHINT0:10//将中断程序和定时中断0连接起来,即中断事件为定时中断0,中断事件号为10:
一NI//开中断。
4.3中断程序
ITDAIE0,AC0//将AIE0中的16位整数值转换为32位双整数值,存入累加器:
DTRAC0,AC0//将AC0中的值转换成32位实数值,存入AC0中:
DIVR32000,AC0//将AC0中的数值除以量程32000本例标准化时取量程对应值为32000)进行标准化,存入AC0中:
MOVRAC0,VD100//将标准化后的值送入VD100中:
PIDVB100,0//设置参数表起始地址为VB100,PID回路号为0,PID指令使PID参数设置及作用生效:
MWURVD108,32000//将运算结果的标准化数值转换成实数值:
ROWNDAC0,AC0//将AC0中的实数值取整并转换成双整数:
DTIAC0,AC0//将双整数转换成16位整数:
MOVEAC0,ALE0//将PID运算结果送至ALE0中,作为控制变频器的控制量。
5结语
该水箱恒水位控制系统硬件上主要由CPW224XP、变频器、电动机等组成,软件上主要利用CPW224XP的PID功能,通过编程实现恒水位控制。在PID运算时,给定值、反馈值、控制值均为标准化数值。在中断程序中设置参数表,在中断程序中通过PID指令使PID作用生效。