线性化金宝app模型
一般来说,真正的系统是非线性的。为一个非线性系统,设计一个MPC控制器可以在仿真软件模型的工厂金宝app®。
尽管一个MPC控制器可以调节非线性植物,控制器内使用的模型必须是线性的。换句话说,控制器采用线性近似的非线性植物。这个近似显著影响控制器性能的准确性。
获得这样一个线性近似,你线性化非线性植物在指定的操作点。
请注意
下面的例子需要金宝app仿真软件控制设计™软件。
你可以线性化模型的模型:金宝app
从命令行。
使用模型线性化电路。
使用MPC设计师。例如,看到的线性化模型模型使用M金宝appPC设计师。
线性化使用MATLAB代码
这个例子展示了如何获得线性模型的植物使用MATLAB脚本。
对于这个示例装运箱模型,CSTR_OpenLoop
线性化。模型的输入是冷却剂温度MPC控制器(控制变量),限制原料流中反应物浓度,温度和饲料。模型状态的温度和反应物浓度的产品流。这两个州是测量和用于反馈控制。
得到稳态操作点
操作点定义了你的名义条件线性化模型。它通常是一个稳态条件。
假设你计划操作装运箱输出浓度,C_A
,在
。名义进料浓度
,名义给水温度是300 K。
对象创建和可视化操作规范来定义稳态条件。
opspec = operspec (“CSTR_OpenLoop”);opspec = addoutputspec (opspec,“CSTR_OpenLoop /装运箱”2);opspec.Outputs (1)。知道= true;opspec.Outputs (1)。y = 2;opspec
CSTR_OpenLoop opspec =操作点规范模型。(时变组件评估在时间t = 0): - - - - - - - - - - - x已知稳态分钟马克斯dxMin dxMax……………………………………(1)。CSTR_OpenLoop /装运箱/ C_A 8.5695假真的0 Inf负无穷到正无穷(2)。CSTR_OpenLoop /装运箱/ T_K 311.267假真的0正无穷正输入:- - - - - - - - - - -你知道敏马克斯_____ _____ _____ _____ (1)。CSTR_OpenLoop /冷却剂温度0错误负无穷到正无穷输出:- - - - - - - - - - - y已知的最小最大_____ _____ _____ _____ (1)。真正CSTR_OpenLoop /装运箱2负无穷到正无穷
寻找一个操作点,满足规范。
op1 = findop (“CSTR_OpenLoop”,opspec);
操作点搜索报告:- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
opreport CSTR_OpenLoop =操作点搜索报告模型。(时变组件评估在时间t = 0)操作点规范成功实现。状态:- - - - - - - - - - - Min x马克斯dxMin dx dxMax………………………………(1)。CSTR_OpenLoop /装运箱/ C_A 0 2正0 -4.6683 e-12 0 (2)。CSTR_OpenLoop /装运箱/ T_K 0 373.1311正0 5.5678 e-11 0输入:- - - - - - - - - - - Min u马克斯说________ (1)。CSTR_OpenLoop /冷却剂温度负299.0349正输出:- - - - - - - - - - -(1)最小y最大一幅中国画CSTR_OpenLoop /装运箱2 2 2
计算操作点C_A
=
和T_K
= 373 K。注意,并给出稳态冷却液温度为299 K,这是输入的标称值用来控制。
指定:
已知输入的值,使用
Input.Known
和Input.u
领域的opspec
初的猜测值,使用
State.x
领域的opspec
例如,下面的代码指定了冷却液温度为305 K的初始猜测值C_A
和T_K
州之前计算稳态操作要点:
opspec = operspec (“CSTR_OpenLoop”);opspec.States (1)。x = 1;opspec.States (2)。x = 400;opspec.Inputs (1)。知道= true;opspec.Inputs (1)。u = 305;《凤凰社》第2章= findop (“CSTR_OpenLoop”opspec)
操作点搜索报告:- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
opreport CSTR_OpenLoop =操作点搜索报告模型。(时变组件评估在时间t = 0)操作点规范成功实现。状态:- - - - - - - - - - - Min x马克斯dxMin dx dxMax………………………………(1)。CSTR_OpenLoop /装运箱/ C_A 0 1.7787正0 0 0 (2)。CSTR_OpenLoop /装运箱/ T_K 0 376.5371正0 -9.9476 e-14 0输入:- - - - - - - - - - - Min u(1)马克斯一幅中国画CSTR_OpenLoop /冷却剂温度305 305 305输出:- - - - - - - - - - -
CSTR_OpenLoop op2 =操作点的模型。(时变组件评估在时间t = 0): - - - - - - - - - - - x ________ (1)。CSTR_OpenLoop /装运箱/ C_A 1.7787 (2)。CSTR_OpenLoop /装运箱/ T_K 376.5371输入:- - - - - - - - - - - u ___ (1)。CSTR_OpenLoop /冷却剂温度305
指定输入和输出线性化
如果已经定义了线性化的输入和输出信号的模型,如CSTR_OpenLoop
,那么使用以下获得信号设置。
io = getlinio (“CSTR_OpenLoop”);
否则,指定输入和输出信号如下所示。
io (1) = linio (“CSTR_OpenLoop /冷却剂温度”,1“输入”);io (2) = linio (“CSTR_OpenLoop /进料浓度”,1“输入”);io (3) = linio (CSTR_OpenLoop /进料温度的,1“输入”);io (4) = linio (“CSTR_OpenLoop /装运箱”,1“输出”);io (5) = linio (“CSTR_OpenLoop /装运箱”2,“输出”);
线性化模型
线性化模型使用指定的操作点,op1
输入/输出信号,io
。
sys =线性化(“CSTR_OpenLoop”、op1 io)
sys = = C_A T_K C_A 5 -0.3427 T_K 47.68 - 2.785 B =冷却剂温度饲料答应饲料蛋彩画C_A 0 1 0 0 1 C = 0.3 T_K C_A T_K装运箱/ 1 0 1装运箱/ 2 1 0 D =冷却剂温度饲料答应饲料蛋彩画装运箱/ 1 0 0 0装运箱/ 2 0 0 0连续时间状态空间模型。
线性化模型还在操作点,《凤凰社》第2章
,使用相同的输入/输出信号。
sys =线性化(“CSTR_OpenLoop”、《凤凰社》第2章io)
sys = = C_A T_K C_A T_K -0.3458 -5.622 55.1 2.822 B =冷却剂温度饲料答应饲料蛋彩画C_A 0 1 0 0 1 C = 0.3 T_K C_A T_K装运箱/ 1 0 1装运箱/ 2 1 0 D =冷却剂温度饲料答应饲料蛋彩画装运箱/ 1 0 0 0装运箱/ 2 0 0 0连续时间状态空间模型。
使用模型线性化电路线性化金宝app控制设计
这个例子展示了如何使用仿真软件模型线性化金宝app模型线性化电路提供的,金宝app仿真软件控制设计软件。
开放金宝app模型
下面的例子使用了装运箱模型,CSTR_OpenLoop
。
open_system (“CSTR_OpenLoop”)
指定输入和输出线性化
线性化的输入和输出已经指定CSTR_OpenLoop
。的输入对应的输出信号进料浓度
,进料温度
,冷却液温度
块。输出信号的输入装运箱温度
和残留浓度
块。
指定一个信号线性化的输入或输出,首先在仿真软件金宝app应用程序选项卡上,单击线性化管理。然后,在仿真软件模型窗口中金宝app,单击信号。最后,在插入分析点画廊,闭环部分中,选择输入扰动线性化输入或输出测量对于一个线性化输出。
开放模型线性化电路
打开模型线性化电路,在应用程序选项卡上,单击模型线性化电路。
指定残留浓度作为已知约束
指定的残余浓度已知的修剪常数,首先在仿真软件金宝app应用程序选项卡上,单击线性化管理。然后,在仿真软件模型窗口中金宝app,单击CA
输出信号的装运箱
块。最后,在插入分析点画廊,修剪部分中,选择削减产出约束。
在模型线性化电路,在线性分析选项卡上,选择操作点>调整模型。
在削减模型对话框,输出标签:
选择已知的复选框的
频道- 1
下CSTR_OpenLoop /装运箱。设置相应的价值来
2
kmol / m3。
创建和验证操作点
在削减模型对话框中,单击开始削减。
削减进程查看器窗口打开显示优化进程中找到一个点的州输入空间中指定的模型特征州,输入,输出选项卡。优化过程终止后,关闭削减进度窗口以及削减模型对话框。
操作点op_trim1
显示在线性分析工作区的模型线性化电路。选择op_trim1
显示的基本信息线性分析工作区部分。
双击op_trim1
查看生成的操作点编辑对话框。
在编辑对话框中,选择输入选项卡。
在稳定状态下冷却剂的温度是299 K,。关闭编辑对话框。
线性化模型
在线性分析选项卡,操作点下拉列表,确保op_trim1
被选中。
在线性化部分中,点击一步线性化模型模型并显示线性化模型的阶金宝app跃响应。
这个选项创建线性模型linsys1
在线性分析工作区并生成一个阶跃响应模型。linsys1
使用op_trim1
作为营业点。
从进料浓度阶跃响应的输出装运箱/ 2
显示一个有趣的逆响应。考试的线性模型显示装运箱/ 2
残留浓度装运箱,C_A
。当进料浓度增加时,C_A
增加最初因为进入更多的反应物,反应速率增加。这个速度增加导致更高的反应堆温度(输出装运箱/ 1
),进而增加反应速率C_A
大幅减少。
导出线性化的结果
如果有必要,你可以重复这些步骤来改善你的模型的性能。一旦你感到满意线性化的结果,模型线性化电路阻力的线性模型线性分析工作区的部分模型线性化电路到MATLAB的工作区部分上面。你现在可以使用线性模型设计一个MPC控制器。
另请参阅
应用程序
功能
线性化
(金宝app仿真软件控制设计)