本发明涉及一种适用于多变量模型预测控制的分程控制实现方法,属于过程工业控制领域。
背景技术:
分程控制是指:当使用一个执行机构不能满足过程控制的要求时,利用将控制信号范围分成若干小段以控制两个或两个以上的执行机构,每个执行机构在一段控制信号范围内起作用。分程控制可以扩大执行机构的可调范围,提高控制质量,解决生产过程中的一些特殊需求。
现有的生产过程中,通常采用pid控制器实现具有单个分程控制功能的分程控制,当控制系统为多输入多输出且具有多个分程控制功能时,pid控制器效果不佳,这主要是由于pid不适用于解决相互耦合的多个控制回路的协调控制。用模型预测控制对含有分程控制功能的复杂过程进行控制时,由于分程控制包含有非线性特征,基于线性叠加原理的预测控制算法无法直接使用,基于此本发明提出了一种适用于多变量模型预测控制的分程控制实现方法,解决多输入多输出控制系统中具有多个分程控制功能的分程控制问题。
技术实现要素:
针对在多输入多输出控制系统中具有多个分程控制功能的分程控制问题,本发明提出了一种适用于多变量模型预测控制的分程控制实现方法。
本发明采用的技术方案如下:一种适用于多变量模型预测控制的分程控制实现方法,包括以下步骤:
对多输入多输出控制系统进行离线初始化;
采用模型预测算法对系统进行在线分程控制。
所述初始化包括参数设置、建立预测模型。
所述参数设置包括以下步骤:
(1)多输入多输出控制系统具有m个执行机构,每个执行机构设定执行范 围的上下限,每个执行机构对应1个控制输入变量,则控制系统具有m个控制输入变量;控制系统具有n个被控输出变量,表示为n维列向量:y=[y1…yn]t;
(2)控制系统设有k个分程控制,每个分程控制用于控制2个执行机构,在每个控制周期内仅对一个执行机构进行控制,另一个执行机构保持在设定的极限位置;
(3)对控制输入变量进行排列,排列后的控制输入变量表示为m维列向量:
u'=[u1,0,u1,1…uk,0,uk,1,uk+1,0,…uk+1,m-2k-1]t
控制输入变量对应的执行机构为:
act=[act1,0,act1,1,…,actk,0,actk,1,actk+1,0,…actk+1,m-2k-1]t
其中,控制输入变量u'的前k对中的第i对[ui,0,ui,1]t,i=1,…,k,表示控制系统中第i个分程控制对应的两个互斥控制输入变量,即在每个控制周期内仅有一个控制输入具有控制作用,另一个控制输入变量保持不变;控制输入变量u'中的后m-2k个变量[uk+1,0,…uk+1,m-2k-1]t为不具备分程控制的独立变量,在每个控制周期都具有控制作用;
(4)设置k维变量q=(q1,q2,…,qk),其中qi为二值变量,即:
qi=0,1i=1,…,k
(5)控制输入变量u'的前k对中的每对控制输入变量[ui,0,ui,1]t,i=1,…,k,对应设置一个变量ui及一个中间阈值u_si,ui对应的上、下限分别为
当
当
(6)通过引入变量ui,将控制系统转化为具有m-k个控制输入变量,n个被控输出变量的控制系统,控制输入变量表示为u=[u1,u2…uk,uk+1,…um-k]t,其中控制输入变量u的后m-2k个元素为控制输入变量u'的后m-2k个元素,即,[uk+1,…,um-k]t=[uk+1,0,…uk+1,m-2k-1]t;模型预测控制的控制步长为m、预测步长为p、模型长度为n。
所述建立预测模型具体为:
第j个预测模型mdlj对被控输出进行预测的表达式为:
其中,
所述采用模型预测算法对系统进行在线分程控制包括以下步骤:
(1)检测控制输入变量u的当前时刻的实际值
(2)umv的前k个变量
(3)根据q(t)=(q1(t),q2(t),…,qk(t))计算模型编号值
(5)根据模型切换规则将模型mdlj(t-1)切换为预测模型mdlj(t);
(5)采用模型预测控制算法,计算控制输入变量u在当前时刻的控制输出值u(t);
(6)将控制变量的输出值u(t)输出至各执行机构进行控制,其中,进行动作的执行机构为
所述模型切换规则具体为:
上一时刻的模型编号值为j(t-1),对应预测模型mdlj(t-1),对被控输出的预测表达式为
所述模型预测算法采用dmc算法,具体步骤为:
(1)在t时刻检测各被控输出的实际值yl(t),通过t-1时刻对当前时刻的预测输出
(2)利用预测误差计算t-1时刻的预测输出校正值
其中,h为误差加权矩阵,
(3)通过移位矩阵s0计算t时刻的初始预测值:
其中,
(4)极小化性能指标
其中,j=j(t),
(5)计算t时刻对未来p个控制周期的预测值:
(6)计算t时刻控制输入值:ui(t)=ui(t-1)+δui,m(t),i=1,2,…,m-k;
(7)进入t+1控制周期,返回步骤(1)。
本发明具有的优点和积极效果如下:
1.采用模型预测控制技术解决了控制系统中包含具有非线性特征的分程控制功能的控制问题;并可对控制系统中具有多个分程控制功能的分程控制问题进行推广应用;
2.实现对多个分程控制功能的分程控制,增加了多输入多输出控制系统执行机构的可调范围,提高了控制品质;
3.采用的预测控制算法为优化算法,提高控制系统稳定性的同时降低了系统能源消耗。
附图说明
图1为适用于多变量预测控制的分程控制实现方法流程图;
图2为温度分程控制系统示意图;
图3为被控输出设定值ysp曲线;
图4为控制输入u曲线;
图5为阀v1上控制输入u1曲线;
图6为阀v2上控制输入u2曲线;
图7为被控输出曲线y1曲线。
具体实施方式
下面结合附图对本发明进行详细解释。
分程控制是指由控制器的一个输出信号分别控制两个或两个以上执行机构。因分程控制包含非线性特征,基于线性叠加原理的模型预测控制技术无法直接使用。本发明提出一种适用于多变量模型预测控制的分程控制实现方法,在分程控制的各线性区间内根据各执行机构不同动作组合建立预测模型,每个控制周期内通过比较控制器的输出控制信号值与相应的中间阈值选择预测模型,利用动态矩阵控制算法计算出控制增量并施加到相应的执行机构执行动作。本发明解决了控制过程中存在分程控制需求时多变量预测控制器的设计问题,提高了预测控制器的适用范围。
本发明的主要贡献是用模型预测控制来实现对包含分程控制功能的控制系统进行控制,下面利用模型预测控制策略解决一个二分程控制的实际问题,包含更多分程功能的控制问题可按本发明所提方案进行推广。
如图1所示,一种适用于多变量模型预测控制的分程控制实现方法,涉及一个有多输入多输出的控制系统,控制系统中包含1个或者多个分程控制功能,每个分程控制功能一般具有2个分程区间,特殊情况下可能具有3个分程区间。本发明以一个分程控制功能具有2个分程区间的控制系统进行论述,具有3个分程区间的情况可按具有2个分程区间的方法进行推广。包括系统初始化和基于模型预测控制的在线分程控制两个步骤。
所述系统初始化步骤包括参数设置和建立预测模型两个步骤。
所述参数设置具体为:
(1)控制系统具有m个执行机构,每个执行机构设定执行范围的上下限,每个执行机构对应1个控制输入变量,则控制系统具有m个控制输入变量;控制系统具有n个被控输出变量,表示为n维列向量:y=[y1…yn]t;
(2)控制系统具有k个分程控制功能,每个分程控制功能控制2个执行机构,在每个控制周期内仅有一个执行机构起到控制作用,另一个执行机构保持在设定的极限位置处(上限或者下限);
(3)根据控制系统的分程控制功能特点,对控制输入变量进行排列,排列后的控制输入变量表示为m维列向量:
u'=[u1,0,u1,1…uk,0,uk,1,uk+1,0,…uk+1,m-2k-1]t
控制输入变量对应的执行机构为:
act=[act1,0,act1,1,…,actk,0,actk,1,actk+1,0,…actk+1,m-2k-1]t
其中,控制输入变量u'的前k对中的第i对[ui,0,ui,1]t,i=1,…,k,表示控制系统中第i个分程控制功能对应的两个互斥控制输入变量,即在每个控制周期内仅有一个控制输入具有控制作用,另一个控制输入变量保持不变;控制输入变量u'中的后m-2k个变量[uk+1,0,…uk+1,m-2k-1]t为不具备分程控制功能的独立变量,在每个控制周期都具有控制作用;
(4)设置k维变量q=(q1,q2,…,qk),其中qi为二值变量,即:
qi=0,1i=1,…,k
(5)控制输入变量u'的前k对中的每对控制输入变量[ui,0,ui,1]t,i=1,…,k,对应设置一个变量ui及一个中间阈值u_si,ui对应的上、下限分别为
当
当
(6)通过引入变量ui,将控制系统转化为具有m-k个控制输入变量,n个被控输出变量的控制系统,控制输入变量表示为u=[u1,u2…uk,uk+1,…um-k]t,其中控制输入变量u的后m-2k个元素为控制输入变量u'的后m-2k个元素,即,[uk+1,…,um-k]t=[uk+1,0,…uk+1,m-2k-1]t;本发明基于模型预测控制对控制系统进行控制,则设置模型预测控制的控制步长为m、预测步长为p、模型长度为n,一般p=n。
所述建立预测模型具体为:
每个控制周期,ui位于不同的区间时,qi取不同值(0或1),对应的
其中,
所述基于模型预测控制的在线分程控制具体步骤为:
(1)检测控制输入变量u的当前时刻的实际值
(2)umv的前k个变量
(3)根据q(t)=(q1(t),q2(t),l,qk(t))计算模型编号值
(6)根据模型切换规则将模型mdlj(t-1)切换为预测模型mdlj(t);
(5)采用模型预测控制算法,计算控制输入变量u在当前时刻的控制输出值u(t);
(6)将控制变量的输出值u(t)传入各执行机构进行控制实施,其中,进行动作的执行机构为
所述模型切换规则具体为:
上一时刻的模型编号值为j(t-1),对应预测模型mdlj(t-1),对被控输出的预测 表达式为
所述模型预测算法采用dmc算法,具体步骤为:
(1)在t时刻检测各被控输出的实际值yl(t),通过t-1时刻对当前时刻的预测输出
(2)利用预测误差计算t-1时刻的预测输出校正值
其中,h为误差加权矩阵,一般其元素全为1,
(3)通过移位矩阵s0计算t时刻的初始预测值:
其中,
(4)极小化性能指标
其中,j=j(t),
(5)计算t时刻对未来p个控制周期的预测值:
(6)计算t时刻控制输入值:ui(t)=ui(t-1)+δui,m(t),i=1,2,…,m-k;
(7)进入t+1控制周期。
案例:在某化工生产过程中,冷物料的加热方式有两种,即通过热交换器用热水(工业废水)和热蒸汽对其进行加热,当热水加热不能满足出口温度要求时,再同时使用蒸汽加热,从而减小能源损耗,提高经济效益。为此设计了图2所示的温度分程控制系统,在本系统中,蒸汽阀和热水阀均选气开式分程阀。
图2中,控制器的输出信号u分程后分别控制热水阀v1和蒸汽阀v2,假设阀v1输入信号对输出y1的传递函数为
采用本发明解决此问题,首先进行参数设置:
(1)控制系统具有2个执行机构:热水阀v1、蒸汽阀v2,每个分程阀对应1个控制输入变量,则引入2个控制输入变量u=[u1,u2]t;控制系统具有1个被控输出变量y1;
(2)在该控制系统中,热水阀v1和蒸汽阀v2为一对互斥的执行机构,在每个控制周期内仅有一个阀执行作用,另一个阀保持在设定的极限位置处(上限或者下限);
(3)设置2维变量q=(q1,q2),其中qi为二值变量,即:
qi=0,1i=1,2
(4)控制输入变量u对应互斥变量[u1,u2]t,设置变量u的中间阈值为:u_s1=2,u的上、下限分别为umin=0、umax=5,通过变量u分段分别去使控制输入变量u1或u2起作用,进而控制热水阀v1或蒸汽阀v2动作,具体为:
当umin≤u<u_s1时,令q=[0,0],u1=u,控制输入变量u1起作用,热水阀 v1动作,蒸汽阀v2保持不动;
当u_s1≤u≤umax时,令q=[0,1],u2=u,控制输入变量u2起作用,蒸汽阀v2动作,热水阀v1保持不动;
(5)通过引入变量u1,u2,将控制系统转化为具有2个控制输入变量,1个被控输出变量的控制系统,控制输入变量表示为u=[u1,u2]t;本发明基于模型预测控制对控制系统进行控制,则设置模型预测控制的控制步长为5、预测步长为15、模型长度为20。
最后建立预测控制模型并按照基于模型预测控制的在线分程控制步骤实施控制,结果如图3~图7所示,可见当控制输入u的值没有超越中间阈值u_s1(u_s1=2)时只有变量u1起控制作用,当u的值大于中间阈值u_s1时,变量u1保持最大值(u1=u_s1=2)不变,变量u2开始起作用驱动相应的阀动作;最终控制被控输出达到被控输出设定值,具体为:
1)0~50s,被控输出设定值为1,被控输出实际值由0增加至1并稳定在1,控制输入变量u从0增加至2,到达并稳定在中间阈值,因此控制输入变量u1起作用,u2不起作用;此时表示仅热水阀v1打开至最大,蒸汽阀v2没有开始动作。
2)50~100s,被控输出设定值为3,被控输出实际值由1增加至3并稳定在3,控制输入变量u从2增加至4,超越了所定义的中间阈值(u_s1=2),控制输入变量u2开始起作用,并从2开始增加至3,u1此时不起作用,保持在最大开度u1=2;此时表示热水阀v1开至最大也不能满足要求,蒸汽阀v2同时开始动作并保持在一定开度;
3)100~150s,被控输出设定值为0.5,被控输出实际值由3减小至0.5并稳定在0.5;控制输入变量u减小至1,小于中间阈值u_s1,此时输入变量u1起作用,u2不起作用;此时表示仅打开热水阀v1至一半开度,蒸汽阀v2处于关闭状态。
4)150~200s,被控输出设定值为4,被控输出实际值由0.5增加至并稳定在4;控制输入变量u增加至5,超过定义的中间阈值,此时u1输出为最大值2;u2开始起作用,值由2增至5;表示热水阀v1开至最大,同时蒸汽阀v2开始打开并保持在一定开度。