文档

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

这个例子展示了如何用Simulink Coder模拟和生成MPC控制器块的实时代码。金宝app可以生成单精度和双精度的代码。

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

要运行此示例,需要使用Simulink®和金宝appSimulink®Coder™。

如果~ mpcchecktoolboxinstalled (“金宝app模型”) disp (运金宝app行此示例需要Simulink(R)。返回结束如果~ mpcchecktoolboxinstalled (“金宝appsimulinkcoder”) disp (运金宝app行此示例需要Simulink(R) Coder(TM)。);返回结束

设置环境

您必须具有写权限才能生成相关文件和可执行文件。因此,在开始模拟和代码生成之前,请将当前目录更改为临时目录。

CWD = pwd;Tmpdir = tempname;mkdir (tmpdir);cd (tmpdir);

定义工厂模型和MPC控制器

定义一个SISO工厂。

Plant = ss(tf([31],[1 0.6 1]));

为工厂定义MPC控制器。

Ts = 0.1;%采样时间P = 10;%预测地平线M = 2;%控制地平线权重= struct(“MV”0,“MVRate”, 0.01,机汇的1);%的重量MV = struct(“最小值”负无穷,“马克斯”正,“杀鼠灵”, -100,“RateMax”, 100);%输入约束OV = struct()“最小值”2,“马克斯”2);%输出约束mpcobj = mpc(plant,Ts,p,m,Weights,MV,OV);

模拟和生成双精度代码

默认情况下,MPC控制器块在仿真和代码生成中使用双精度。

在Simulink中对模型进行仿真。金宝app

mdl1 =“mpc_rtwdemo”;open_system (mdl1) sim (mdl1)
——>将模型转换为离散时间。—>假设加到被测输出通道#1上的输出扰动是集成白噪声。——>”模式。没有ise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

控制器的努力和工厂的输出作为变量保存到基本工作空间中uy,分别。

控件构建模型rtwbuild命令。

disp (生成C代码…请等它结束。') set_param (mdl1“RTWVerbose”“关闭”) rtwbuild (mdl1);
生成C代码…请等它结束。###开始构建过程模型:mpc_rtwdemo ###成功完成构建过程模型:mpc_rtwdemo

在Windows系统上,在构建过程完成后,一个名为“mpc_rtwdemo.exe”的可执行文件将出现在临时目录中。

运行可执行文件。

如果ispc disp (“运行可执行…”) status = system(mdl1);其他的disp (这个例子只在Windows系统上运行可执行文件。结束
本例仅在Windows系统上运行可执行文件。

在可执行文件成功完成后(status=0),一个名为“mpc_rtwdemo”的数据文件将被生成。Mat”出现在临时目录中。

比较所生成代码的响应(rt_urt_y)与先前在Simulink (金宝appuy).

它们在数值上是相等的。

单精度模拟和生成代码

您还可以配置MPC块,以便在模拟和代码生成中使用单精度。

mdl2 =“mpc_rtwdemo_single”;open_system (mdl2)

要做到这一点,打开MPC块对话框并选择“single”作为对话框底部的“输出数据类型”。

open_system ([mdl2“/ MPC控制器”])

在Simulink中对模型进行仿真。金宝app

close_system ([mdl2“/ MPC控制器”]) sim (mdl2)

控制器的努力和工厂的输出作为变量保存到基本工作空间中u1日元,分别。

控件构建模型rtwbuild命令。

disp (生成C代码…请等它结束。') set_param (mdl2“RTWVerbose”“关闭”) rtwbuild (mdl2);
生成C代码…请等它结束。###启动模型的构建过程:mpc_rtwdemo_single

在Windows系统上,在构建过程完成后,一个名为“mpc_rtwdemo_single.exe”的可执行文件将出现在临时目录中。

运行可执行文件。

如果ispc disp (“运行可执行…”) status = system(mdl2);其他的disp (这个例子只在Windows系统上运行可执行文件。结束
本例仅在Windows系统上运行可执行文件。

在可执行文件成功完成后(status=0),一个名为“mpc_rtwdemo_single”的数据文件。Mat”出现在临时目录中。

比较所生成代码的响应(rt_u1rt_y1)与先前在Simulink (金宝appu1日元).

它们在数值上是相等的。

关闭Simulink金宝app模型。

bdclose (mdl1) bdclose (mdl2)
cd(鹿)
这个话题有帮助吗?