主要内容

使用Simulink PLC编码器模拟和结构化文本生成金宝app

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

需要产品下载188bet金宝搏

要运行此示例,需要Simulink和Sim金宝appulink PLC编码器。

如果〜mpcchecktoolboxinstalled('金宝appsimulink')disp('金宝appSimulink需要运行此示例。'的)返回结尾如果〜mpcchecktoolboxinstalled('plccoder')disp('金宝appSimulink 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,机汇的,1);%重量mv = struct('min',-inf,'最大限度',inf,'ratemin',-100,'ratemax', 100);%输入约束ov = struct('min',-2,'最大限度',2);%输出约束MPCOBJ = MPC(植物,TS,P,M,重量,MV,OV);

模拟和生成结构化文本

打开Simulin金宝appk模型。

mdl =“mpc_plcdemo”;open_system (mdl)

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

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

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

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

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

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

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

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

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

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

bdclose (mdl) cd(鹿)

相关的话题