动态矩阵控制算法

合集下载

动态矩阵算法在水箱液位控制中的应用

动态矩阵算法在水箱液位控制中的应用

动态矩阵算法在水箱液位控制中的应用引言:在工业生产和日常生活中,对于水箱液位控制的控制精度和稳定性要求越来越高。

水箱液位的控制算法起着至关重要的作用。

动态矩阵控制(Dynamic Matrix Control,DMC)算法是一种常用于过程控制的先进控制方法。

本文将探讨动态矩阵算法在水箱液位控制中的应用,包括算法原理、控制系统建模、控制器设计和实验验证等方面。

一、算法原理动态矩阵控制算法是一种模型预测控制(Model Predictive Control,MPC)方法,它基于离散时间多步骤预测模型。

其核心思想是通过对系统动态行为进行建模和预测,计算出最优控制方案,并根据实际反馈信息进行修正,以实现对系统的良好控制效果。

动态矩阵控制算法的基本步骤如下:1.系统建模:根据水箱液位控制过程的特点,建立系统的动态模型。

通常使用一阶惯性模型或一阶延迟模型来描述水箱液位的动态响应。

2.输入输出数据采集:通过传感器采集水箱液位和控制输入的数据,并对其进行离散化处理,使其适用于动态矩阵控制算法。

3.控制器设计:根据系统模型和控制目标,设计最优控制律。

动态矩阵算法主要包括预测模型、目标函数、约束条件等。

4.控制信号计算:基于当前的状态和控制输入的历史记录,使用动态矩阵算法计算出最优的控制信号。

5.控制执行:将计算得到的控制信号应用于实际控制系统中,调节水箱液位,并实时监控液位变化。

6.实时修正:根据实际反馈信息,对控制器中的参数进行修正,以提高控制效果和稳定性。

以上过程循环迭代,以不断调整控制信号,最终实现对水箱液位的精确控制。

二、控制系统建模在水箱液位控制中,我们需要对系统进行建模,以便进行后续的控制器设计和仿真。

通常采用一阶惯性模型或一阶延迟模型来描述水箱液位的动态响应。

一阶惯性模型:首先,假设水箱的液位变化满足一阶惯性动态方程:T * dH(t)/dt = k * (u(t) - H(t))其中,H(t)表示液位,u(t)表示输入控制信号,k表示液位变化的比例系数,T表示液位响应的时间常数。

基于PLC的动态矩阵控制算法实现_杨俊

基于PLC的动态矩阵控制算法实现_杨俊

们都是设计的结果而非直接可调参数 。 由此可见 , 3.011 5, 3.014 6, 3.016 6, 3.017 9, 3.018 7, 3.019 2,
在设计中真正要确定的原始参数应该包括 :采样周 3.019 5, 3.019 7, 3.019 8, 3.019 9, 3.019 9] , 误差权
1, 其中对未来输出的预测值只需设 置一个 N维数
组 y(i)。
2008年第 4期 工业仪表与自动化装置
· 69·
MATLAB的模型预测工具箱提供了一系列的函 数 ,可用于模型预测控制的分析、设计和仿真 。这些函 数的类型主要有 :系统模型辨识函数 、模型建立和转换 函数 、模型预测控制器设计仿真工具以及系统分析工 具等等[ 4] 。运用这些函数 , 能很容易地对已知被控对 象或非参数模型对象设计模型预测控制器并进行仿真
2008年第 4期 工业仪表与自动化装置
· 67·
基于 PLC的动态矩阵控制算法实现
杨 俊 , 马姝姝
(东南大学 自动化学院 , 江苏 南京 210096) 摘要 :在介绍了动态矩阵控制 (DMC)算法后 , 重点阐述了 DMC在 PLC中的实现技术及其应用 研究 。 论文采用 PLC实现了上述控制算法 , 具有更高的可靠性和实时性 。 仿真及实验研究结果表 明 , 动态矩阵控制效果远优于传统 PID控制 。文中提出的算法实现可直接或稍加修改应用于实际 工业过程 。
装置水温控制对象 , 该文采用 SiemensS7 -300 PLC
实现了动态转矩控制 。 被控对象特性可由式 (9)近
似描述 :
G(s)=4.33.20s2+1e-4.65s
(9)
该对象动态矩阵控制算法的 PLC实现过程包

二次开发ForceControl嵌入带预测误差校正的动态矩阵控制算法

二次开发ForceControl嵌入带预测误差校正的动态矩阵控制算法

先进 控 制 是 对 那 些 不 同 于常 规 单 回路 PD 控 制 ,并 具 有 比 I 常 规 PD控 制 更 好 控 制 效果 的控 制 策 略 的统 称 。包 括 自适 应 控 I
Po E c a g r p x h n e函数 中手 工 添 加 P _u cin X fn t s来 序 列 化 自定 义 o 属 性 , 现属 性 的 持 久 性 , 实 这样 才能 保 证 用 户 在设 计 程 序 时 可 以 使 用 控 件 的属 性 设 置 。代 码 如 下 :
维普资讯
二 次 开 发 F re o t l 入 带 预 测 误 差 校 正 的 动 态矩 阵控 制 算oc C nr 嵌入带预测误差校正的 o 动态矩阵控制算法
Se o d r v lp n o c Co to t mbe n mi Ma r n r c n a y De eo i g F r e n r l o E d Dy a c ti Co to x wi Co r c i n o e t e E r r t h r t f Pr di i ro e o cv
F re o t l , 次 开发 了组 态 软 件 。 oc C nr 中 二 o

E c a g V rin( P , MAK L x h n e eso p X E DNG( w eMio,_ V r - _ V r n r w eMa
jr ) o ):
COl nrlDo r p x h n e p X) e Co t : Po E c a g ( P ; o:

正 的动态矩 阵控 制算 法应用 V C语 言编制成 A t e ci X控件 的形 v
式 , 嵌 入 到 F re nrl 态 软 件 中 , 组 态 软 件 具有 先进 的 并 oc Co t 组 o 使

动态矩阵控制的稀土萃取优化控制平台

动态矩阵控制的稀土萃取优化控制平台

动态矩阵控制的稀土萃取优化控制平台董云彪鞍山市自来水总公司动态矩阵控制(dynamicmatrixcontrol,DMC)算法是一种基于对象阶跃响应预测模型、滚动实施并结合反馈校正的优化控制算法,是预测控制算法之一,由卡特勒等于1980年提出。

DMC算法适用于渐进稳定的线性对象。

由于该算法比较简单,计算量比较小,鲁棒性强,近年来已在冶金、石油、化工等工业过程控制中得到十分成功的应用。

工业过程控制通常是由许多互相作用的变量组成的多输入多输出(MIMO)系统,而常规的DMC算法是基于单输入单输出(SISO)系统的。

因此,许多学者自然地将其推广到了多输入多输出(MIMO)系统。

并取得了许多重要的成果:有采用将单变量DMC算法直接推广到多变量系统的MDMC方法;有通过变量之间关联预测设计,建立在解耦基础上的多变量DMC方法等。

余世明等针对多变量有约束的DMC问题,以输出预测值于未来参考轨迹序列误差的绝对值之和作为性能指标,通过线性化处理使其转换化为目的规划问题从而使在线滚动优化变得异常容易,并可充分利用全部操作变量优化系统的动态性能。

查星宇等针对工业现场犹豫条件的限制,很多过程变量所需的检测频率不一样的情况,提出了一种新的多频率多变量DMC算法,并且进一步用DMC方法推导多频多变量系统的预测方程、最优控制律及系统的内膜结构。

牛玉翔等针对高温力学材料试验机加热炉两通道相互耦合的问题,提出了多变量预测前馈补偿解耦DMC算法,并用线性时不变原理把该算法中需求解得2M元线性方程转化为只需求解二元一次方程组问题,使计算量大为减少。

针对实际多变量预测控制算法中存在的离线计算复杂、实时性较差等问题,金福江用大系统关联估计的思想。

提出了基于关联估计的递阶多变量动态矩阵控制算法,并将该算法应用于造纸机中,取得了较好的控制效果。

相对于传统的最优控制,DMC则采用了启发式优化的概念,允许设计者自由地选择优化性能指标的形式以及控制器参数。

第4章 动态矩阵控制_2010

第4章 动态矩阵控制_2010
i =1 i = j +1
∑ a Δu (k + j − i)
i
+ aN Δu (k + j − N ), ( j = 1, 2,
y0 (k + j k ) =
, n)
(4-4)
上式右端的后二项即为过去输入对输出n步预测值,记为
i = j +1
∑ a Δu (k + j − i) + a
i
N −1
N
2010-2-17
第4章 动态矩阵控制
10
南京信息工程大学信息与控制学院 南京信息工程大学信息与控制学院
2010-2-17
第4章 动态矩阵控制
11
南京信息工程大学信息与控制学院 南京信息工程大学信息与控制学院
2010-2-17
第4章 动态矩阵控制
12
南京信息工程大学信息与控制学院 南京信息工程大学信息与控制学院
14
南京信息工程大学信息与控制学院 南京信息工程大学信息与控制学院
2010-2-17
第4章 动态矩阵控制
四、DMC的主要特征和优点
(一)DMC的主要特征
(1)预测模型采用阶跃响应特性建模; (2)设计过程中固定格式是:用二次型目标函数决定最优 值增量序列,考虑到各种约束条件时,求最优解相当费时; (3)参数调整:用改变二次型目标函数中的权系数阵Q, R来实现。
2
南京信息工程大学信息与控制学院 南京信息工程大学信息与控制学院
2010-2-17
第4章 动态矩阵控制 一、 预测模型
从被控对象的阶跃响应出发,对象动态特性用一 系列动态系数 a1 , a2 , , aN 即单位阶跃响应在采样时刻的 值来描述,p称为模型时域长度,aN是足够接近稳态 值的系数。

动态矩阵控制算法

动态矩阵控制算法

动态矩阵控制算法
动态矩阵控制算法是一种用于控制系统的先进控制算法,它采用了矩阵的表示和演化方法。

其主要思想是将系统的状态和控制输入表示为矩阵,通过矩阵运算和演化来实现对系统的控制。

动态矩阵控制算法的核心思想是通过不断更新和演化控制矩阵来适应系统的变化。

它根据系统的反馈信息和目标要求,利用矩阵运算和优化算法来计算出最优的控制矩阵。

然后将该控制矩阵应用于系统中,以实现对系统的控制。

动态矩阵控制算法具有以下特点:
1. 矩阵表示:将系统的状态和控制输入表示为矩阵,方便进行矩阵运算和演化。

2. 自适应性:通过不断更新和演化控制矩阵,能够适应系统的变化和环境的变化。

3. 优化算法:利用优化算法来求解最优的控制矩阵,以满足系统的要求。

4. 实时性:动态矩阵控制算法能够在实时性要求较高的控制系统中应用,实现对系统的准确控制。

除了以上特点,动态矩阵控制算法还可以根据具体的系统和应用场景进行扩展和改进。

它在工业自动化、机器人控制、智能交通等领域具有广泛的应用前景。

动态矩阵控制算法(DMC)资料

动态矩阵控制算法(DMC)资料
i 0 k
y(k ) hu i (k i ) hk i u (i )
i 0 i 0
k
k
u (0) 0
hi a(i) a(i 1) ai ai 1
y (k ) hk i u (i ) hk i u ( j )
i 0 i 0 j 0
10
预备知识
u(k)
u {u(0) u(1)
System
u (k ) y { y(0)
k
y(k)
}
y(1)
y (k )
}
y(k ) hu i (k i )
i 0
系统可由hi 唯一确定
11
预备知识
LTI 系统的描述(2)
u(k)
u 1(k ) {1 1 1
System
}
y(k)
a1 a2 }
y {a(k )} {a0
系统能否由a(k)唯一确定?换言之,a(k) 是否足以 描述系统?
12
预备知识 System
u(k)
u 1(k ) {1 1 1
k
y(k)
a1 a2 }
} y {a(k )} {a0
k
a(k ) hu i (k i ) hi hi a(i) a(i 1) ai ai 1
注意:
y0 (k N | k ) y0 (k N 1| k )
y0 ( | k )
20
输出预测 (2) – 零状态响应
k时刻:控制有一增量△v(k),计算未来时刻的输出值
yi (k i | k ) y0 ( k i | k ) ai u (k ) i 1, ,N

动态矩阵控制(DMC)的简单理解及其示例

动态矩阵控制(DMC)的简单理解及其示例

动态矩阵控制(DMC )的简单理解及其⽰例⽂章结构前⾔在模型预测控制的课程当中接触到了动态矩阵控制(DMC)算法,虽然不会在以后继续深⼊,但它控制、预测和校正的思想还是可圈可点的。

本⽂将简要概述DMC的基本原理和控制流程,尽量做到省去复杂的数学公式⽽理解DMC。

但由于接触不深且实⼒有限,本⽂的表述可能会有⼀些不准确或者错误,因此仅供参考,同时欢迎⼤家指正。

DMC 的基本思想动态矩阵控制(DMC)是在上世纪80年代提出的⼀种典型的模型预测控制(MPC)⽅法。

虽然在今天它已经不再是MPC的研究关注点,但其思想却⾮常值得借鉴,因此⼏乎所有的模型预测控制教材都把DMC作为⼀部分来讲解。

概括来说,DMC的特点主要有:1. 控制与系统的数学模型⽆关,仅需获取系统的阶跃响应序列,⽅法适⽤于稳定的系统;2. 系统的动态特性中具有纯滞后或⾮最⼩相位特性都不影响算法的直接应⽤。

也就是说,使⽤DMC⽆需知道被控对象的数学模型,只需要获取被控对象的阶跃响应序列即可实现控制效果,但需要被控对象是渐进稳定的。

同时,即使被控对象有⼀定的纯滞后特性,或者是⾮最⼩相位的(对象传递函数的零点存在于S域右半平⾯)都不影响DMC的使⽤。

从上⾯的特性可以,DMC的应⽤范围是⽐较⼴泛的。

接下来就简单地谈⼀谈DMC的三要素,既预测模型、滚动优化和反馈校正。

预测模型DMC的使⽤需要建⽴在预测模型的基础上。

简单来说就是,DMC控制器希望通过已有信息构造未来若⼲时刻的系统输⼊并预测系统的输出。

那么要如何实现呢?可⾏的⽅案之⼀是使⽤系统的阶跃响应序列。

由线性时不变(LTI)系统具备的⽐例叠加性质可知,在已知从0开始的系统N个采样点上的阶跃响应序列的情况下,系统在k时刻对未来P个时刻的输出预测可由系统在k时刻的输出预测初值与M个连续的输⼊增量序列及由阶跃响应序列组成的动态矩阵A计算得到,其计算表达式如下:其中N称为截断步长,P称为预测步长,M称为控制步长,它们三者之间的⼤⼩关系⼀般为N > P > M > 0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB 环境下动态矩阵控制实验
一 算法实现
设某工业对象的传递函数为:G P (s)=e -80s /(60s+1),采用DMC 后的动态特性如图1所示。

在仿真时采样周期T=20s ,优化时域P=10,控制时域M=2,建模时域N=20。

MATLAB 程序1:
g=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC 传递函数模型 delt=20; %采样周期
nt=1; %输出稳定性向量
tfinal=1000; %截断时间
model=tfd2step(tfinal,delt,nt,g);%传递函数模型转换为阶跃响应模型
plant=model; %进行模型预测控制器设计
p=10; %优化时域
m=2; %控制时域
ywt=[];uwt=1; %设置输入约束和参考轨迹等控制器参数 kmpc=mpccon(plant,ywt,uwt,m,p);%模型预测控制器增益矩阵计算
tend=1000;r=1; %仿真时间
[y,u,yrn]=mpcsim(plant,model,kmpc,tend,r);%模型预测控制仿真
t=0:20:1000;
plot(t,y)
xlabel('图1 DMC 控制系统的动态阶跃响应曲线(time/s)');
ylabel('响应曲线');
00.2
0.4
0.6
0.81
1.2
1.4
图1 DMC 控制系统的动态阶跃响应曲线(time/s)响应曲线
图中曲线为用DMC 控制后系统的阶跃响应曲线。

从图中可以看出:采用DMC 控制后系统的调整时间小,响应的快速性好,而且系统的响应无超调。

该结果是令人满意的。

二P和M对系统动态性能的影响
1.P对系统性能的影响
优化时域P表示我们对k时刻起未来多少步的输出逼近期望值感兴趣。

当采样周期T=20s,控制时域M=2,建模时域N=20,优化时域P分别为6,10和20时的阶跃响应曲线如图2所示。

MATLAB程序2:
g=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC传递函数模型
delt=20; %采样周期
nt=1; %输出稳定性向量
tfinal=1000; %截断时间
model=tfd2step(tfinal,delt,nt,g);%传递函数模型转换为阶跃响应模型
plant=model; %进行模型预测控制器设计
p1=6;p2=10;p3=20; %优化时域
m=2; %控制时域
ywt=[];uwt=1;
kmpc1=mpccon(plant,ywt,uwt,m,p1);
kmpc2=mpccon(plant,ywt,uwt,m,p2);
kmpc3=mpccon(plant,ywt,uwt,m,p3);
tend=1000;r=1;
[y1,u,yrn]=mpcsim(plant,model,kmpc1,tend,r);
[y2,u,yrn]=mpcsim(plant,model,kmpc2,tend,r);
[y3,u,yrn]=mpcsim(plant,model,kmpc3,tend,r);
t=0:20:1000;
plot(t,y1,t,y2,t,y3)
legend('1-p=6','2-p=10','3-p=20');
xlabel('图2 P不同对系统性能的影响(time/s)');
ylabel('响应曲线');
0100
2003004005006007008009001000
00.2
0.4
0.6
0.81
1.2
1.4
图2 P 不同对系统性能的影响(time/s)响应曲线
图中曲线1为P=6时的阶跃响应曲线;曲线2为P=10时的阶跃响应曲线;曲线3为P=20时的阶跃响应曲线。

从图中可以看出:增大P ,系统的快速性变差,系统的稳定性增强;减小P ,系统的快速性变好,稳定性变差。

所以P 的选择应该兼顾快速性和稳定性。

2.M对系统性能的影响
控制时域M表示所要确定的未来控制量的改变数目。

当采样周期T=20s,优化时域P=20,建模时域N=20,控制时域M分别取4,2和1时系统的响应曲线如图3所示。

MATLAB程序3:
g=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC传递函数模型
delt=20; %采样周期
nt=1; %输出稳定性向量
tfinal=1000; %截断时间
model=tfd2step(tfinal,delt,nt,g);%传递函数模型转换为阶跃响应模型
plant=model; %进行模型预测控制器设计
p=20; %优化时域
m1=4;m2=2;m3=1; %控制时域
ywt=[];uwt=1;
kmpc1=mpccon(plant,ywt,uwt,m1,p);
kmpc2=mpccon(plant,ywt,uwt,m2,p);
kmpc3=mpccon(plant,ywt,uwt,m3,p);
tend=1000;r=1;
[y1,u,yrn]=mpcsim(plant,model,kmpc1,tend,r);
[y2,u,yrn]=mpcsim(plant,model,kmpc2,tend,r);
[y3,u,yrn]=mpcsim(plant,model,kmpc3,tend,r);
t=0:20:1000;
plot(t,y1,t,y2,t,y3)
legend('1-m=4','2-m=2','3-m=1');
xlabel('图2 M不同对系统性能的影响(time/s)');
ylabel('响应曲线');
0100
2003004005006007008009001000
00.2
0.4
0.6
0.81
1.2
1.4
图2 M 不同对系统性能的影响(time/s)响应曲线
图中曲线1为M=4时的响应曲线;曲线2为M=2时的响应曲线;曲线3为M=1时的响应曲线。

从图中可以看出:减小M ,系统的快速性变差,系统的稳定性增强;增大M ,系统的快速性变好,稳定性变差。

增大P 和减小M 效果类似,所以在选择时,可以先确定M 再调整P ,并且M 小于等于P 。

三模型失配时的响应曲线
当预测模型失配时,即当G M(S)≠G P(S),当G M(S)=2e-50s/(40s+1)时的响应曲线如图4所示。

MATLAB程序4:
g1=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC传递函数模型
g2=poly2tfd(2,[40 1],0,50);
delt=20; %采样周期
nt=1; %输出稳定性向量
tfinal=1000; %截断时间
model1=tfd2step(tfinal,delt,nt,g1);%传递函数模型转换为阶跃响应模型
model2=tfd2step(tfinal,delt,nt,g2);
plant1=model1; %进行模型预测控制器设计
plant2=model2;
p=10; %优化时域
m=2; %控制时域
ywt=[];uwt=1; %设置输入约束和参考轨迹等控制器参数
kmpc1=mpccon(plant1,ywt,uwt,m,p);%模型预测控制器增益矩阵计算
kmpc2=mpccon(plant2,ywt,uwt,m,p);
tend=1000;r=1; %仿真时间
[y1,u,yrn]=mpcsim(plant1,model1,kmpc1,tend,r);%模型未失配时的预测控制仿真
[y2,u,yrn]=mpcsim(plant1,model2,kmpc2,tend,r);%模型失配时的预测控制仿真
t=0:20:1000;
plot(t,y1,t,y2)
legend('1-模型未失配','2-模型失配');
xlabel('图4 模型失配时的响应曲线(time/s)');
ylabel('响应曲线');
0100200300400500600700800
9001000
00.2
0.4
0.6
0.81
1.2
1.4
图4 模型失配时的响应曲线(time/s)响应曲线
图中曲线1为未失配时的阶跃响应曲线;曲线2为模型失配时的阶跃响应曲线。

从图中可以看出:当模型失配时,DMC 控制有一定的超调,快速性下降,但能很快进入稳定状态,控制效果令人满意。

所以DMC 在形成闭环控制时,对模型失配具有很好的鲁棒性。

相关文档
最新文档