一种基于惯性模型的温度控制方法
技术领域
本发明属于自动控制技术领域,具体涉及一种基于惯性模型的温度控制方法。
背景技术
制造业是经济的基础,人们对制造技术的要求越来越高,相应的生产工艺、生产设备和生产过程越来越复杂,依据过程的数学模型,对生产过程和设备进行控制、预报和评价已变得越来越困难。同时工业信息化逐步加深,相当数量的企业每天都在产生并存储着大量的生产、设备和过程数据,这些数据隐含着工艺变动和设备运行等信息。在难于建立受控系统较准确机理模型的条件下,如何有效利用大量的离、在线数据和知识,实现对生产过程和设备的优化控制、预报和评价,已成为迫切需要解决的问题。
对于温度控制而言,温度增量需要相应的能量,这个能量需要输入量对时间的积分。如果惯性对象及其控制系统还存在非线性或时变等特征,那么在成本的约束下,要达到更高的控制品质就显得困难。再者,工业过程控制中95%以上都是PID控制,但对于具有强非线性、时变、耦合及参数不确定的复杂系统而言,PID控制效果不佳。可见,利用PID控制系统的历史数据、运用数据驱动控制理论改善温度控制效果具有重大实践意义。但是,在各种先进的优化PID控制方案中,其计算量一般都比较大,不利于在大量底层的低性能控制节点中实施。
发明内容
本发明的目的在于提供一种基于温度控制系统惯性模型的温度控制方法。
本发明包括模型建立方法和预测控制方法。
惯性模型建立方法的具体步骤如下:
步骤一、搭建温度控制系统。温度控制系统包括加热元件、温度传感器、液位传感器、电压传感器、容器和控制器。加热元件、温度传感器和液位传感器均设置在容器内。电压传感器的检测接口与加热元件并联。
步骤二、设定温度惯性影响因素:1、输出影响因素;2、负载影响因素;3、输入影响因素。在输出影响因素的预设范围内均匀地取m个第一样值点,建立第一样值集合Y={y1,y2,...,ym};在负载影响因素的预设范围内均匀地取n个第二样值点,建立第二样值集合L={l1,l2,...,ln};在输入影响因素的预设范围内均匀地取p个第三样值点,建立第三样值集合U={u1,u2,...,up}。
步骤三、对步骤二中所述的三种影响因素的所有组合情况进行加热试验,输出影响因素、负载影响因素、输入影响因素分别表示为yi、lj、uk。
加热试验具体为:向容器中加入lj体积的被加热液体;向加热元件通入uk大小的恒定电压;温度检测元件检测到容器中液体的温度达到yi后,加热元件断电,温度检测元件持续检测容器中液体的温度达到最高时,记录下该温度Ti,j,k和对应延时τi,j,k。计算温度惯性ΔTi,j,k=Tijk-yi。对应延时τi,j,k为加热元件断电时至液体温度达到最高时的时长。
加热试验完成后,得到表示系统惯性的2个三维数组ΔT[m][n][p]和τ[m][n][p]。
步骤四、建立h个初始值全为零的三维的模型校正数组E1[m][n][p]、E2[m][n][p]、……、Eh[m][n][p]。
完整的惯性模型包括3个因素样值序列Y、L、U,惯性数组ΔT、τ和模型校正数组E1~Eh共3个部分。
基于惯性模型的预测控制方法的具体步骤如下:
步骤一、启动温度控制系统,设定或修改被控对象的目标温度Ts。
步骤二、控制器周期地测量温度ys、体积ls和之前zs时间内输入加热元件的电压有效值us,并分别确定ys、ls和us这几个动态参数各自所处的区间[ya,ya+1]、[lb,lb+1]和[uc,uc+1]。若加热元件通电的时长小于τefg,则zs的取值为加热元件通电的时长;否则,zs的取值为τefg。
τefg的取值方法如下:若ys-ya≤ya+1-ys,则e的取值为a;否则,e的取值为a+1。若ls-lb≤lb+1-ls,则f的取值为b;否则,f的取值为b+1。若us-uc≤uc+1-us,则f的取值为c;否则,f的取值为c+1。
建立一级线性优化表达式,如式(1)至(4)所示,获得四个一级折叠惯性ΔT′1、ΔT′2、ΔT′3、ΔT′4。
式(1)至(4)中,ΔTa,b,c表示在i=a,j=b,k=c的情况下,模型建立方法的步骤三中测量出的温度惯性ΔTijk。
建立二级线性优化表达式,如式(5)和(6)所示,获得两个二级折叠惯性ΔT1″、ΔT2″。
建立三级线性优化表达式,如式(7)所示,获得一个三级折叠惯性ΔT″′。
步骤三、若式(8)所示不等式成立,则进入步骤四;否则,进入步骤二。
Ts-(ys+ΔT″′-Eefg)≤ε (8)
式(8)中,ε是预设的容许静差。Eefg是E1efg~Ehefg经滤波算法后计算出的值。E1efg~Ehefg分别为模型校正数组E1[m][n][p]、……、Eh[m][n][p]中与τefg对应的元素。
步骤四、加热元件断电,检测温度所达到的最大值yM;若yM-TS<ε,则本次加热任务完成;否则,进入步骤五。
步骤五、进行E1efg~Ehefg的数值更新。
5-1.q=h,h-1,……,2,依次执行步骤5-2。
5-2.将E(q-1)efg的数值赋值给Eqefg。
5-3.将ys+ΔT″′-Eefg减去yM的所得值赋值给E1efg。之后,重新进入步骤二。
作为优选,所述的加热元件采用纯电阻电热器,其接口与控制器连接。
作为优选,所述电压传感器、温度传感器及液位传感器的信号输出接口与控制器连接。
作为优选,预测控制方法的步骤三中,滤波算法是将E1efg~Ehefg排序,去掉其中的最大值和最小值,再求剩下h-2个数值的平均值,即得Eefg。
作为优选,预测控制方法的步骤四中;把ΔT和τ两个三维数组合并为名称为ΔTτ的一个三维数组。三维数组ΔTτ的元素值拆解成含义分别为ΔT和τ的值使用。
本发明具有的有益效果是:
1、本发明引入温度惯性的概念,提高了温度控制的精准程度和跟踪速度。
2、本发明通过设定试验的方式,获取各个样值点处温度惯性的大小,操作难度低。
3、本发明通过线性折叠的方式,根据已经记录的样值点惯性大小计算各种情况下的惯性大小,提高了温度控制的精度。
4、本发明通过测算系统的惯性值,使得加热元件可以最大功率工作,提高了跟踪速度,且能将超调控制在允许的范围内。
具体实施方式
以下对本发明作进一步说明。
实施例1
一种基于惯性模型的温度控制方法,包括模型建立方法和预测控制方法。
惯性模型建立方法的具体步骤如下:
步骤一、搭建温度控制系统。温度控制系统包括加热元件、温度传感器、液位传感器、电压传感器、容器和控制器。加热元件、温度传感器和液位传感器均设置在容器内。加热元件采用纯电阻电热器,其端口与控制器连接。电压传感器、温度传感器和液位传感器的信号输出接口与控制器连接。控制器根据液位传感器的输出信号计算出容器内液体的深度;液体深度与容器内腔截面积相乘可得容器内液体的体积。电压传感器的检测接口与加热元件并联,用于持续检测加热元件的输入电压。
步骤二、设定温度惯性影响因素:1、输出影响因素y(t),具体为被加热液体的温度值;2、负载影响因素l(t),具体为负载量,即被加热液体体积;3、输入影响因素u(t),具体为输入电压在过去一段时间内的有效值。在y(t)的预设范围内均匀地取m个第一样值点,建立第一样值集合Y={y1,y2,...,ym};在负载影响因素l(t)的预设范围内均匀地取n个第二样值点,建立第二样值集合L={l1,l2,...,ln};在输入影响因素u(t)的预设范围内均匀地取p个第三样值点,建立第三样值集合U={u1,u2,...,up}。m、n、p均等于20。
步骤三、对步骤二中所述的三种影响因素的所有组合情况(共m×n×p种组合)进行加热试验,输出影响因素、负载影响因素、输入影响因素分别表示为yi、lj、uk。
加热试验具体为:向容器中加入lj体积的被加热液体;向加热元件通入uk大小的恒定电压;温度检测元件检测到容器中液体的温度达到yi后,加热元件断电,温度检测元件持续检测容器中液体的温度达到最高时,记录下该温度Ti,j,k和对应延时τi,j,k。计算温度惯性ΔTi,j,k=Tijk-yi。对应延时τi,j,k为加热元件断电时至液体温度达到最高时的时长。
步骤四、当加热试验遍历了所有m×n×p种组合情况后,就获得了表示温度惯性的三维数组ΔT[m][n][p]和对应延时三维数组τ[m][n][p];把Y={y1,y2,...,ym}、L={l1,l2,...,ln}、U={u1,u2,...,up}、ΔT[m][n][p]、τ[m][n][p]保存在控制器的非易失性存储器中,另外,在控制器的非易失性存储器中预留存储空间,建立初始值全为零的模型校正数组E1[m][n][p]、E2[m][n][p]、E3[m][n][p]、E4[m][n][p]、E5[m][n][p],使得每个τi,j,k分别有对应的E1ijk~E5ijk。模型校正数组在系统的日常运行过程中建立,建立方法在本例最后部分说明。这样,温度控制系统的惯性模型就建成了,完整的惯性模型包括3个因素样值序列Y、L、U和7个三维数组ΔT、τ、E1~E5。
基于惯性模型的预测控制方法的具体步骤如下:
步骤一、启动温度控制系统,设定或修改被控对象的目标温度Ts。
步骤二、控制器周期地测量温度ys、体积ls和之前zs时间内输入加热元件的电压有效值us,并分别确定ys、ls和us这几个动态参数各自所处的区间[ya,ya+1]、[lb,lb+1]和[uc,uc+1]。若加热元件通电的时长小于τefg,则zs的取值为加热元件通电的时长;否则,zs的取值为τefg。
τefg的取值方法如下:若ys-ya≤ya+1-ys,则e的取值为a;否则,e的取值为a+1。若ls-lb≤lb+1-ls,则f的取值为b;否则,f的取值为b+1。若us-uc≤uc+1-us,则f的取值为c;否则,f的取值为c+1。根据确定出的e、f、g,即可在对应延时三维数组τ[m][n][p]中获取τefg的数值。
建立一级线性优化表达式,如式(1)至(4)所示,获得四个一级折叠惯性ΔT′1、ΔT′2、ΔT′3、ΔT′4。
式(1)至(4)中,ΔTa,b,c表示在i=a,j=b,k=c的情况下,模型建立方法的步骤三中测量出的温度惯性ΔTijk。
建立二级线性优化表达式,如式(5)和(6)所示,获得两个二级折叠惯性ΔT1″、ΔT2″。
建立三级线性优化表达式,如式(7)所示,获得一个三级折叠惯性ΔT″′。
步骤三、用ys+ΔT″′-Eefg作为被控对象的预测值,当式(8)所示不等式成立,进入步骤四;否则在本次采样周期结束时进入步骤二。
Ts-(ys+ΔT″′-Eefg)≤ε (8)
式(8)中,ε是预设的容许静差,数值为正。Eefg是E1efg~E5efg经滤波算法后计算出的值,滤波算法是将E1efg~E5efg排序,去掉其中的最大值和最小值,再求剩下三个数值的平均值,即得Eefg。Eefg与τefg的下标相同。E1efg~E5efg分别为模型校正数组E1[m][n][p]、E2[m][n][p]、E3[m][n][p]、E4[m][n][p]、E5[m][n][p]中与τefg对应的元素,即第e个一级子数组中的第f个二级子数组中的第g个元素。
步骤四、加热元件断电,检测温度所达到的最大值yM;若yM-TS<ε,则本次加热任务完成;否则,系统发生了超调异常,进入步骤五。
步骤五、将E4efg的数值赋值给E5efg;将E3efg的数值赋值给E4efg;将E2efg的数值赋值给E3efg;将E1efg的数值赋值给E2efg;将控制器计算步骤三中求得的ys+ΔT″′-Eefg(最近一次预测值)与真实值yM的偏差赋值给E1efg;这样,温度控制系统在每次完成加热任务时,都能够对惯性模型进行在线修正,使得超调量不超过系统允许的静差。之后,再次进入步骤二。
实施例2
本实施例与实施例1的区别在于:预测控制方法的步骤四中;把ΔTijk和τijk合并为一项数据以降低存储空间需求。即把ΔT和τ两个三维数组合并为名称为ΔTτ的一个三维数组,这个数组的元素值可以拆解成含义分别为ΔT和τ的值使用。
实施例3
本实施例与实施例1的区别在于:使用3个模型校正数组,此时实施例1中的软件滤波器就简化为一个中值滤波器,即滤波输出Eefg取E1efg~E3efg的中间值。