Simulink-PLC代码生成教程
【说明】本文以PID控制器为例,简要说明simulink-PLC代码生成技术。
【软件工具】Matlab、博图TIA V16
一、通过simulink建立控制器模型,定义好输入接口、输出接口、内部(全局)变量。
【注意】:1.模型必须是离散化模型,或将连续时域模型通过离散化工具离散化。
2.搭建控制器模型用到的块必须是基础块,否则无法转成原子单位(atomic unit),导致无法进行代码生成。
3.将需要生成代码的模型封装,定义好输入输出端口。

1.定义变量,以Kp为例


↓这里选择的Data Dictionary需要提前建立“数据字典”,建立方式在后面集中介绍。



↓这里选择数据存储位置,Model default-局部变量,ExportedGlobal-全局变量,具体不同变量形式生成代码是什么效果在后面集中介绍。

↓成功建立变量后,数据字典内会生成变量Kp。

2. 同理建立剩余变量。

二、 模型代码生成设置
1.设置模型为“原子单元”.


2. 打开PLCcoder工具箱

3. 配置代码应用的IDE

4. 配置代码存储位置

5. 配置代码中的变量及其存储位置

6. 生成代码




三、 代码导入博图
1. 打开博图软件,新建项目,点击“添加新的外部文件”

2. 粘贴刚刚复制的代码存储地址,找到代码文件,点击打开

3. 右击导入的代码文件,选择“从源生成块”,即可生成FB函数块。




附1: 建立数据字典,并与simulink关联。








附2:不同存储位置生成不同类型的变量


可以在博图中建立一个虚拟被控对象和生成的PID控制器进行仿真验证控制器的有效性;
改例程仅以PID控制器为例进行简单的说明,更复杂的模型/控制器也可通过类似的方式建立。