经常使用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支持的可使用模块
有两个库simulink和stateflow 两个模块内的所有内容都是支持的。
当然也可以 在matlab命令行窗口直接写plclib 命令。
三.生成并检查结构化文本代码
### 步骤
(1)在simulink准备好生成结构化文本的环境。
a. 选择任务模式
一般的任务都是单任务系统,但是如果存在多任务系统的话,你需要先把任务模式设置为单任务系统 ,然后在模型配置中,在解算器窗格中,清除将每个离散速率视为单独任务的复选框。
先在命令框写plcdemo_simple_subsystem 命令,就会出来一个plc Coder的官方示例。
| 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
e.点击OK,保存模型,进行仿真。
f.选择 Simulink PLC Coder model求解器
(2) 检查系统兼容性
选中你要选择的子系统模块,右键PLC Code > Check Subsystem Compatibility.编码器检查您的模型是否满足Simulink PLC编码器标准。 检查完成后,“查看诊断”超链接将出现在模型窗口的底部。 单击此超链接以打开“诊断查看器”窗口。
、
现在基本上已经把代码生成前的工作都做好了。
(3)生成结构化文本代码
选择对应的子系统模块,右键PLC Code >options
b.打开PLC Code Generation 选项,然后选择Target IDE 。这里可以选择3S CoDeSys 3.5.
c.选择OK ,然后选择模型,右键PLC Code > Generate Code for Subsystem 。
以上就是生成的代码的完整流程了。