主要内容

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

此示例显示了如何使用Simulink®PLCCoder™软件模拟和生成MPC控制器块的结构化文本。万博1manbetx生成的代码使用单精制。

必需的产品s manbetx 845

要运行此示例,需要Simulink和Sim万博1manbetxulink PLC编码器。

如果〜mpcCheckToolboxInstall('万博1manbetxsimulink')disp(“万博1manbetx需要Simulink才能运行此示例。”返回结尾如果〜mpcCheckToolboxInstall('plccoder')disp(“万博1manbetx Simulink PLC编码器必须运行此示例。”);返回结尾

设置环境

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

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;%控制视野权重= struct('MV',0,“ mvrate',0.01,'ov',1);重量%mv = struct(',-inf,'最大限度',inf,'ratemin',-100,'ratemax',100);%输入约束ov = struct(',-2,'最大限度',2);%输出约束MPCOBJ = MPC(Plant,TS,P,M,重量,MV,OV);

模拟并生成结构化文本

打开Simulin万博1manbetxk模型。

mdl ='mpc_plcdemo';Open_System(MDL)

要生成MPC控制器块的结构化文本,请完成以下两个步骤:

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

open_system([MDL'/控制系统/MPC控制器')))

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

在Simulink中模拟该模型。万博1manbetx

CLOSS_SYSTEM([MDL'/控制系统/MPC控制器'])open_system([MDL'/outputs //参考'])open_system([MDL'/输入'])SIM(MDL)
- >将模型转换为离散时间。- >假设添加到测量的输出通道#1中的输出干扰是集成的白噪声。- >“ model.noise”属性为空。假设每个测得的输出上都有白噪声。

要使用PLC编码器生成代码,请使用Plcgeneratecode命令。

disp(“生成PLC结构文本...请等到完成。”)plcgeneratecode([MDL'/控制系统');
生成PLC结构文本...请等到完成。###为“ mpc_plcdemo/控制系统”生成PLC代码。###使用模型设置来自PLC代码生成参数的'MPC_PLCDEMO'。###开始代码生成mpc_plcdemo_codegen_rpt.html.### PLC代码生成成功的“ MPC_PLCDEMO/控制系统”。###生成的文件:
              

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

BDCLOSE(MDL)CD(CWD)

相关话题