主要内容

createParameterBus

创建金宝app总线对象和配置总线创造者块传递模型参数非线性MPC控制器

自从R2018b

描述

例子

createParameterBus (nlmpcobj,nlmpcblk,busName,参数)创建一个金宝appSimulink.Bus对象,busName在MATLAB®工作区传递模型参数非线性MPC控制器块,nlmpcblkcreateParameterBus需要连接总线的创造者块的非线性MPC控制器块提前,以便它可以配置总线的创造者块使用总线对象。

例子

全部折叠

创建一个非线性MPC控制器有四个州,两个输出,和一个输入。

nlobj = nlmpc (4 2 1);
零权重应用于一个或多个ov因为有MVs比ov少。

指定控制器的样品时间和视野。

t = 0.1;nlobj。Ts= Ts; nlobj.PredictionHorizon = 10; nlobj.ControlHorizon = 5;

指定控制器的状态函数,在这个文件中pendulumDT0.m。离散时间模型中定义的连续时间模型集成pendulumCT0.m使用多步向前欧拉方法。

nlobj.Model。StateFcn =“pendulumDT0”;nlobj.Model。IsContinuousTime = false;

预测模型使用一个可选参数,Ts,代表样品时间。指定参数的数量。

nlobj.Model。NumberOfParameters = 1;

指定模型的输出函数,通过采样时间参数作为输入参数。

nlobj.Model。OutputFcn = @ (x, u, Ts) [x (1);x (3)];

控制器定义标准的约束。

nlobj.Weights。OutputVariables = 3 [3];nlobj.Weights。ManipulatedVariablesRate = 0.1;nlobj.OV (1)。最小值= -10;nlobj.OV (1)。Max = 10;nlobj.MV。最小值= -100;nlobj.MV。Max = 100;

打开仿真软金宝app件模型。

mdl =“mpc_pendcartNMPC”;open_system (mdl)

在这个模型中,非线性MPC控制器块配置为使用控制器nlobj

使用可选参数的预测模型,该模型有一个仿真软件总线阻塞连接金宝app参数个数非线性MPC控制器的输入端口。配置该总线块使用Ts参数,在MATLAB®工作区中创建一个总线对象,并配置总线创造者块使用这个对象。总线对象名称“myBusObject”

(mdl createParameterBus (nlobj“/非线性MPC控制器”),“myBusObject”,{Ts});bdclose (mdl)
金宝app在MATLAB仿真软件总线对象“myBusObject”创建工作区。总线创造者块“mpc_pendcartNMPC /非线性MPC控制器”配置为使用它。

输入参数

全部折叠

非线性MPC控制器,指定为一个nlmpc对象。

块的道路非线性MPC控制器块,指定为字符串或字符向量。

名字的MATLA金宝appB仿真软件总线对象创建工作区和设置总线的创造者块,指定为字符串或字符向量。

相应的总线的创造者块必须已经被连接到参数个数输入端口的非线性MPC控制器指定的块nlmpcblk。此外,总线的创造者块必须有正确数量的输入端口,这些端口必须已经正确连接。

名义预测模型参数值,指定为一个单元阵列的长度Np,在那里Np等于nlmpcobj.Model.NumberOfParameters。参数的顺序必须与订单中指定的模型函数,和每一个参数必须是一个数字参数正确的尺寸。

版本历史

介绍了R2018b