主要内容

使用Simulink PLC编码器的仿真和结构化文本生成万博1manbetx

这个例子展示了如何使用Simulink®PLC Coder™软件模拟和生成MPC控制器块的结构化文本。万博1manbetx生成的代码使用单精度。

所需的产品s manbetx 845

要运行这个例子,需要Simulink和Si万博1manbetxmulink PLC Coder。

如果~ mpcchecktoolboxinstalled (“万博1manbetx模型”) disp ('万博1manbetx运行这个例子需要Simulink ')返回结束如果~ mpcchecktoolboxinstalled (“plccoder”) disp (运万博1manbetx行这个例子需要Simulink PLC Coder。);返回结束

设置环境

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

慢性消耗病= pwd;tmpdir = tempname;mkdir (tmpdir);cd (tmpdir);

定义设备模型和MPC控制器

定义一个SISO工厂。

植物= ss(tf([3 1],[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);

模拟和生成结构化文本

打开Simulin万博1manbetxk模型。

mdl =“mpc_plcdemo”;open_system (mdl)

为MPC Controller块生成结构化文本,完成以下两个步骤:

  • 配置MPC块使用单精度数据。设置输出数据类型属性的MPC控制器块

open_system ([mdl/ / MPC控制器的控制系统的])

  • 将MPC块放在子系统块中,并将子系统块视为一个原子单元。选择当作原子单位子系统块的属性。

在Simulink中对模型进行仿真。万博1manbetx

close_system ([mdl/ / MPC控制器的控制系统的(mdl) open_system (/ /引用/输出的(mdl) open_system (' /输入']) sim (mdl)
- >将模型转换为离散时间。- >假设添加到测量的输出干扰,输出通道#1是集成的白噪声。- >“MPC”对象的“Model.Noise”属性为空。假设每个测量的输出通道上的白噪声。

用PLC编码器生成代码,使用plcgeneratecode命令。

disp ('生成PLC结构文本…请等待它完成。”(mdl) plcgeneratecode (“/控制系统”]);
生成PLC结构文本......请等到它完成。###为“MPC_PLCDEMO / CONTROL系统”生成PLC代码。###使用来自'mpc_plcdemo'的plc代码生成参数。###开始代码 codeSys23 。###将PLC代码发出到文件。###创建PLC代码生成报告 mpc_plcdemo_codegen_rpt.html 。### PLC代码生成成功的“MPC_PLCDEMO / CONTROL系统”。###生成的文件: plcsrc / mpc_plcdemo.exp 

“消息查看器”对话框显示PLC代码生成成功。

关闭Simulink万博1manbetx模型,并返回到原始目录。

bdclose (mdl) cd(鹿)

相关话题