使用仿真软件编码器模拟和代码生成万博1manbetx
这个例子展示了如何模拟和生成一个MPC控制器的实时代码块模型®编码器™。万博1manbetx可以生成代码在两个单引号和双精度。
所需的产品s manbetx 845
运行这个例子、仿真软件和仿真软件编码器是必万博1manbetx需的。
如果~ mpcchecktoolboxinstalled (“万博1manbetx模型”)disp (仿万博1manbetx真软件需要运行这个例子。)返回结束如果~ mpcchecktoolboxinstalled (“万博1manbetxsimulinkcoder”)disp (运万博1manbetx行这个例子的仿真软件编码器是必需的。”);返回结束
配置环境
你必须写权限生成相关文件和可执行文件。因此,在模拟和代码生成开始,改变当前目录一个临时目录中。
慢性消耗病= pwd;tmpdir = tempname;mkdir (tmpdir);cd (tmpdir);
定义植物模型和MPC控制器
定义一个输出装置。
工厂= ss (tf (1 [3], [1 0.6 - 1]));
定义的MPC控制器工厂。
t = 0.1;%样品时间p = 10;%预测地平线m = 2;%控制地平线重量=结构(“MV”0,“MVRate”,0.01,机汇的1);%的重量MV =结构(“最小值”负无穷,“马克斯”正,“杀鼠灵”,-100,“RateMax”,100);%输入约束OV =结构(“最小值”2,“马克斯”2);%输出约束mpcobj = mpc(植物、t、p、m,重量、MV, OV);
模拟和生成代码在双精度
默认情况下,MPC控制器使用双精度数据块进行模拟和代码生成。
在仿真软件模拟模型。万博1manbetx
mdl1 =“mpc_rtwdemo”;open_system (mdl1) sim (mdl1)
- - >将模型转换为离散时间。- - >输出假设干扰# 1添加到测量输出集成的白噪声。- - >”模型。噪音”是空的。假设白噪声在每个测量输出。
控制器的努力和工厂输出作为变量保存到基地的工作区u
和y
,分别。
建立的模型slbuild
命令。
disp (“生成C代码…请稍等,直到它完成。”)set_param (mdl1“RTWVerbose”,“关闭”)slbuild (mdl1);
生成C代码…请稍等,直到它完成。# # #开始构建过程:mpc_rtwdemo # # #成功完成构建过程:mpc_rtwdemo模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = mpc_rtwdemo代码生成和编译。代码生成信息文件不存在。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米39.493秒
在Windows®系统上,一个可执行文件命名mpc_rtwdemo.exe
出现在构建过程结束后的临时目录。
运行可执行文件。
如果ispc disp (“运行可执行…”)状态=系统(mdl1);其他的disp (的例子只运行Windows系统上的可执行文件。)结束
这个例子只运行Windows系统上的可执行文件。
后可执行成功完成(状态= 0),一个数据文件命名mpc_rtwdemo.mat
出现在临时目录。
比较反应生成的代码(rt_u
和rt_y
)反应从之前的模拟仿真软件(万博1manbetxu
和y
)。
数值相等的响应。
模拟在单精度和生成代码
您还可以配置MPC块使用单精度仿真数据和代码生成。
mdl2 =“mpc_rtwdemo_single”;open_system (mdl2)
为此,设置输出数据类型MPC控制器块的属性单
。
在仿真软件模拟模型。万博1manbetx
sim (mdl2)
控制器的努力和工厂输出作为变量保存到基地的工作区u1
和日元
,分别。
建立的模型slbuild
命令。
disp (“生成C代码…请稍等,直到它完成。”)set_param (mdl2“RTWVerbose”,“关闭”)slbuild (mdl2);
生成C代码…请稍等,直到它完成。# # #开始构建过程:mpc_rtwdemo_single # # #成功完成构建过程:mpc_rtwdemo_single模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = mpc_rtwdemo_single代码生成和编译。代码生成信息文件不存在。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米24.288秒
在Windows系统上,一个可执行文件命名mpc_rtwdemo_single.exe
出现在构建过程结束后的临时目录
运行可执行文件。
如果ispc disp (“运行可执行…”)状态=系统(mdl2);其他的disp (的例子只运行Windows系统上的可执行文件。)结束
这个例子只运行Windows系统上的可执行文件。
后可执行成功完成(状态= 0),一个数据文件命名mpc_rtwdemo_single.mat
出现在临时目录。
比较反应生成的代码(rt_u1
和rt_y1
)反应从之前的模拟仿真软件(万博1manbetxu1
和日元
)。
数值相等的响应。
关闭仿真软件模型,并万博1manbetx返回到原来的目录。
bdclose (mdl1) bdclose (mdl2) cd(鹿)
另请参阅
对象
块
相关的例子
- 生成代码来计算最优货币政策委员会在MATLAB
- 使用GPU来模拟仿真软件的MPC控制器万博1manbetx
- 使用MPC控制器块内部函数调用和触发子系统
- 使用仿真软件模拟和结构化文本生成PLC编码器万博1manbetx