一、CoDeSys 是什么?核心概念先搞懂
作为工业自动化领域的 “全能编程神器”,CoDeSys 的核心优势在于硬件无关性和标准化支持—— 它不仅完全兼容 IEC 61131-3 标准的所有编程语言,还能支持 C 语言等高级语言,搭配实时运行系统(Runtime System),就能在一个工程里搞定多个控制器的统一编程,效率直接拉满!
在正式上手前,这几个核心概念必须吃透,否则后面工程创建会越做越懵:
1. 两大编程思想:面向对象 + 组件化
- 面向对象编程:CoDeSys V3.4 从编程元素到工程结构都贯穿这一思想,支持多设备、多应用编程。同一个设备能跑多个应用,还能拷贝应用,甚至混合配置参数型和可编程型硬件,灵活性拉满。
- 组件化结构:软件的功能全靠组件(插件)支撑,分为必需的系统组件和可选组件。除了官方提供的组件,还能通过 CoDeSys Automation Platform Toolkit 自定义组件,满足个性化需求。
2. 版本管理:灵活不折腾
支持同时安装多个组件版本和编译器版本,还能组合使用,新增功能不用更新整个软件版本,避免了 “更新即崩” 的尴尬,开发过程更顺畅。
3. 工程核心:两大对象 + 数据传输
工程的组织逻辑围绕 “对象” 展开,主要分两类:
- 编程对象(POUs):包括程序、函数、功能块、数据类型定义等,相当于工程的 “核心代码库”。POU 窗口的对象全工程有效,设备窗口的对象仅本应用或子应用可用,调用时需要实例化。
- 资源对象(设备树):包括设备、应用、任务配置、配方管理等,只能在设备树中管理。添加后要和被控设备映射,对象的有效范围跟着设备树的层级走,父应用的对象子应用可直接用。
另外,CoDeSys 和控制器的数据传输靠 Gateway 组件和实时运行系统,还支持在线实时监控程序,调试起来特别方便。编译时会生成机器码,执行速度更快,工业场景下的实时性需求完全能满足。
二、实战操作:10 分钟创建并运行第一个 CoDeSys 工程
理论讲完,直接上实战!这次我们创建一个简单的 ST 语言工程,实现 “输入值 + 2 输出” 的功能
准备工作
确保已安装 CoDeSys V3.4,软件默认自带示例工程所需的 PLC 实时运行系统,不用额外配置,直接开工。
步骤 1:启动 CoDeSys
- 两种启动方式任选:
- 开始菜单→程序→3S CoDeSys→CoDeSys→CoDeSys V3.4
- 双击桌面 CoDeSys V3.4 图标
- 开始菜单→程序→3S CoDeSys→CoDeSys→CoDeSys V3.4
- 启动后会提示选择配置文件,直接点击 “继续”,软件会按预定义配置自动打开,无需手动选择。
步骤 2:创建新工程
- 点击顶部菜单栏【文件】→【新建工程】,打开新建工程对话框。
- 模板区选择【标准工程】,输入工程名称(比如 “FirstCoDeSysProject”)和保存路径,点击 “确定”。
- 接下来的向导对话框中,按以下配置选择:
- 设备:CoDeSys SP Win V3 (3S-Smart Software Solutions GmbH)
- PLC_PRG 编程语言:结构化文本 (ST)
- 点击 “确定”,工程创建完成!
此时界面会显示两大核心窗口:
- POUs 视窗:管理工程设置和编程对象,工程名作为根节点。
- 设备视窗:显示设备树,包含 “CoDeSys SP Win V3” 设备及其下的应用(PLC_PRG、任务配置、库管理器等)。
这里要注意:库管理器默认包含 “I/O Standard.library”(用于 I/O 配置)和 “Standard.library”(提供 IEC 61131-3 标准函数 / 功能块),是编程的基础工具库;“Plc Logic” 节点只是 “可编程” 的符号标识,无实际功能。如果想修改设备名,选中 “Device” 节点按空格键,输入新名称即可。
步骤 3:理解示例程序逻辑(重点!)
本次创建的工程包含两个核心部分,逻辑很简单:
- PLC_PRG(主程序)
- FB1(功能块):接收 PLC_PRG 的输入值 “in”,在输入值上加 2 后,通过 “out” 输出给 PLC_PRG。