使用仿真和代码生成Simulink的编码器金宝app

这个例子展示了如何模拟和产生实时代码用于与编码器的Simulink™MPC控制器块。金宝app代码可以在单,双精度产生。

所需的产品下载188bet金宝搏

要运行这个例子,Simulink和Simu金宝applink的编码器是必需的。

如果〜mpcchecktoolboxinstalled('金宝appSIMULINK')DISP(的金宝appSimulink需要运行这个例子。“返回结束如果〜mpcchecktoolboxinstalled('金宝appsimulinkcoder')DISP(需金宝app要Simulink编码器来运行这个例子。);返回结束

配置环境

您必须具有写权限才能生成相关的文件和可执行文件。因此,在开始仿真和代码生成之前,将当前目录切换到一个临时目录。

CWD = PWD;TMPDIR = tempname;MKDIR(TMPDIR);CD(TMPDIR);

定义工厂模型和MPC控制器

定义一个SISO工厂。

植物= SS(TF([3 1],[1 0.6 1]));

定义为工厂MPC控制器。

TS = 0.1;%样品时间P = 10;%的预测范围m = 2时;%控制范围权重=结构('MV',0,'MVRate',0.01%,'OV',1);%权重MV =结构(“最低”,-Inf,“最大”,天道酬勤,'RateMin',-100,'RateMax',100);%输入约束OV =结构(“最低”,-2,“最大”,2);%输出限制mpcobj = MPC(植物中,Ts,P,M,重量,MV,OV);

模拟和双精度生成代码

默认情况下,MPC控制器块使用双精度数据进行模拟和代码生成。

在Simulink中模拟该模型。金宝app

mdl1 ='mpc_rtwdemo';open_system (mdl1) sim (mdl1)
——>转换模型离散时间。——>假设被测输出通道1的输出干扰为集成白噪声。- - >”模型。“mpc”对象的“噪音”属性为空。假设每个测量的输出通道上都有白噪声。

控制器努力和电站输出被保存到基工作区作为变量üÿ, 分别。

构建与模型rtwbuild命令。

DISP(“生成C代码...请等待,直到它完成。”)set_param(mdl1,'RTWVerbose'“关”)rtwbuild (mdl1);
生成C代码...请等待,直到它完成。###启动构建过程:mpc_rtwdemo ###的构建过程的顺利完成:mpc_rtwdemo

在Windows®系统上,命名为的可执行文件mpc_rtwdemo.exe出现在构建过程完成后的临时目录。

运行可执行文件。

如果ISPC DISP(“运行的可执行......”)状态=系统(mdl1);其他DISP(“这个例子只能运行在Windows系统上可执行。”结束
示例仅在Windows系统上运行可执行文件。

成功的可执行文件完成后(状态= 0),命名为数据文件mpc_rtwdemo.mat出现在临时目录中。

比较生成代码的响应(rt_urt_y)从以前的模拟在Simulink(响应金宝appüÿ)。

这些响应在数值上是相等的。

模拟和单精度生成代码

您还可以配置MPC块在仿真和代码生成使用单精度数据。

MDL2 ='mpc_rtwdemo_single';open_system(MDL2)

要做到这一点,设置输出数据类型MPC控制器块的属性来

在Simulink中模拟该模型。金宝app

SIM(MDL2)

控制器努力和电站输出被保存到基工作区作为变量U1Y1, 分别。

构建与模型rtwbuild命令。

DISP(“生成C代码...请等待,直到它完成。”)set_param(MDL2,'RTWVerbose'“关”)rtwbuild (mdl2);
生成C代码...请等待,直到它完成。###启动构建过程:mpc_rtwdemo_single ###的构建过程的顺利完成:mpc_rtwdemo_single

在Windows系统上,可执行文件命名mpc_rtwdemo_single.exe出现在临时目录生成过程完成后

运行可执行文件。

如果ISPC DISP(“运行的可执行......”)状态=系统(mdl2);其他DISP(“这个例子只能运行在Windows系统上可执行。”结束
示例仅在Windows系统上运行可执行文件。

成功的可执行文件完成后(状态= 0),命名为数据文件mpc_rtwdemo_single.mat出现在临时目录中。

比较生成代码的响应(rt_u1rt_y1)从以前的模拟在Simulink(响应金宝appU1Y1)。

这些响应在数值上是相等的。

关闭Simulink金宝app模型,并返回到原来的目录。

bdclose(mdl1)bdclose(MDL2)CD(CWD)

相关的话题