经常使用codesys进行开发一些现场应用,比较繁琐,matlab的支持让工作应该可以加倍完成。
Simulink PLC Coder为 PLC 和 PAC 生成 IEC 61131-3 结构化文本和梯形图。

一、支持的平台与功能

Simulink PLC Coder™ 从 Simulink® 模型、Stateflow® 图表及 MATLAB® 函数生成独立于硬件的 IEC 61131-3 结构化文本和梯形图。结构化文本和梯形图采用 PLCopen XML 及广泛使用的集成开发环境 (IDE) 支持的其他文件格式生成,这些 IDE 包括 3S-Smart Software Solutions CODESYS®、Rockwell Automation Studio 5000、Siemens TIA Portal 及 Omron® Sysmac® Studio。因此,您可以编译应用程序并部署到众多可编程逻辑控制器 (PLC) 和可编程自动化控制器 (PAC) 设备。Simulink PLC Coder 可以生成测试平台,帮助您使用 PLC 和 PAC IDE 以及仿真工具验证结构化文本和梯形图。它还提供代码生成报告,其中涵盖了静态代码指标以及模型与代码间双向可追溯。通过 IEC Certification Kit(符合 IEC 61508 和 IEC 61511),可提供对行业标准的支持。

官方测试版本:3S-Smart Software Solutions CODESYS Version 3.5 SP6

我自己的版本是 3S-Smart Software Solutions CODESYS Version 3.5 SP10

支持的模块

Simulink PLC Coder 支持 180 多个 Simulink 模块、所有 Stateflow 结构和许多 MATLAB 函数,可以从控制系统模型(包含反馈循环、模式和状态逻辑以及数学密集型算法)生成结构化文本。

二.simulink支持的可使用模块

有两个库simulinkstateflow

当然也可以 在matlab命令行窗口直接写plclib




codesys使用ST语言的io操作函数 codesys 语言_seirs模型matlab代码


三.生成并检查结构化文本代码

### 步骤

(1)在simulink准备好生成结构化文本的环境。

a. 选择任务模式

一般的任务都是单任务系统,但是如果存在多任务系统的话,你需要先把任务模式设置为单任务系统

先在命令框写plcdemo_simple_subsystem

| Model | Solver Setting | | :------------ | :----------------------------------------------------------- | | Variable-step | Use a continuous solver. Configure a fixed sample time for the subsystem for which you generate code. | | Fixed-step | Use a discrete fixed-step solver. |

b.选中你要导出的模块,新建子系统Subsystem

c.选中新建立的子系统,右键选择Block Parameters (Subsystem)

d.选择 Treat as atomic unit


codesys使用ST语言的io操作函数 codesys 语言_seirs模型matlab代码


e.点击OK,保存模型,进行仿真。

f.选择 Simulink PLC Coder model求解器

(2) 检查系统兼容性

选中你要选择的子系统模块,右键PLC Code > Check Subsystem Compatibility.编码器检查您的模型是否满足Simulink PLC编码器标准。 检查完成后,“查看诊断”超链接将出现在模型窗口的底部。 单击此超链接以打开“诊断查看器”窗口。


codesys使用ST语言的io操作函数 codesys 语言_seirs模型matlab代码


现在基本上已经把代码生成前的工作都做好了。

(3)生成结构化文本代码

选择对应的子系统模块,右键PLC Code >options


codesys使用ST语言的io操作函数 codesys 语言_seirs模型matlab代码


b.打开PLC Code Generation 选项,然后选择Target IDE

c.选择OK ,然后选择模型,右键PLC Code > Generate Code for Subsystem

以上就是生成的代码的完整流程了。

四. 生成代码的优化控制

五.将生成的代码导入codesys