主要内容

使用仿真软件模拟和结构化文本生成PLC编码器万博1manbetx

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

所需的产品s manbetx 845

运行这个例子、仿真软件和仿真软件PLC编码万博1manbetx器是必需的。

如果~ mpcchecktoolboxinstalled (“万博1manbetx模型”)disp (仿万博1manbetx真软件需要运行这个例子。)返回结束如果~ mpcchecktoolboxinstalled (“plccoder”)disp (的万博1manbetx仿真软件PLC编码器需要运行这个例子。);返回结束

设置环境

你必须写权限生成相关文件和可执行文件。因此,在模拟和代码生成开始,改变当前目录一个临时目录中。

慢性消耗病= 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);

模拟和生成结构化文本

打开仿真软件模型。万博1manbetx

mdl =“mpc_plcdemo”;open_system (mdl)

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

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

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

  • 把MPC块放在一个子系统块和治疗子系统块作为一个原子单元。选择治疗作为原子单元财产的子系统。

在仿真软件模拟模型。万博1manbetx

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

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

disp (“生成PLC结构文本…请稍等,直到它完成。”(mdl) plcgeneratecode (“/控制系统”]);
生成PLC结构文本…请稍等,直到它完成。# # #生成PLC代码为“mpc_plcdemo /控制系统”。使用< a href = " # # # matlab: configset。showParameterGroup (mpc_plcdemo, {PLC代码生成的})" >模型设置< / >从PLC的mpc_plcdemo代码生成参数。# # #开始代码生成IDE < a href = " matlab: configset。showParameterGroup (mpc_plcdemo, {PLC代码生成的})" > codesys23 < / >。# # #发出PLC代码文件。# # #创建PLC代码生成报告< a href = " matlab: web (“/ tmp / Bdoc23a_2213998_866480 / tp064f36b1_f202_4246_9ec2_884a6febd224 / plcsrc / html / mpc_plcdemo / mpc_plcdemo_codegen_rpt.html ') " > mpc_plcdemo_codegen_rpt.html < / >。# # #公司代码生成成功“mpc_plcdemo /控制系统”。 ### Generated files: plcsrc/mpc_plcdemo.exp

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

关闭仿真软件模型,并万博1manbetx返回到原始目录。

bdclose (mdl) cd(鹿)

另请参阅

对象

相关的例子

更多关于