主要内容

使用Simulink PLC编码器进行仿真和结构化文本生成金宝app

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

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

要运行此示例,需要使用Simulink和S金宝appimulink PLC Coder。

如果~ mpcchecktoolboxinstalled (“金宝app模型”) disp (“金宝app运行这个例子需要Simulink。”返回结束如果~ mpcchecktoolboxinstalled (“plccoder”) disp ('金宝app需要Simulink PLC Coder才能运行此示例。');返回结束

设置环境

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

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

定义工厂模型和MPC控制器

定义一个SISO工厂。

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

模拟和生成结构化文本

打开Simulin金宝appk模型。

mdl =“mpc_plcdemo”;open_system (mdl)

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

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

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

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

在Simulink中模拟模型。金宝app

close_system ([mdl“/控制系统/MPC控制器”(mdl) open_system (/ /引用/输出的(mdl) open_system (' /输入']) sim (mdl)
——>转换模型到离散时间。假设添加到测量输出通道#1的输出扰动是集成白噪声。——>”模式。“噪音”属性为空。假设每个测量输出都有白噪声。

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

disp (“生成PLC结构文本……请等到它完成。”(mdl) plcgeneratecode (“/控制系统”]);
生成PLC结构文本…请等到它结束。生成“mpc_plcdemo/Control System”的PLC代码。###使用模型设置从'mpc_plcdemo'为PLC代码生成参数。###开始生成IDE代码codesys23. exe "###释放PLC代码到文件。###创建PLC代码生成报告mpc_plcdemo_codegen_rpt.html。### PLC代码生成成功的“mpc_plcdemo/控制系统”。 ### Generated files: plcsrc/mpc_plcdemo.exp

Message Viewer对话框显示PLC代码生成成功。

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

bdclose (mdl) cd(鹿)

相关的话题