4. CODESYS平台入门
CODESYS 是 IEC 61131-3 标准的代表性开发平台,也是 EtherCAT 主站控制工程最常用的集成环境之一。本节围绕“能装、能建、能配、能调”四个目标,把从软件安装到第一个可运行工程的完整链路串起来,为后续 EtherCAT 从站扫描、PDO 映射和分布式时钟配置打下操作基础。
一、安装与授权:先解决“能不能用”
CODESYS 采用“开发环境 + 运行时 + 授权”三层结构。开发环境(CODESYS Development System)免费安装,用于编写程序、配置设备树和编译工程;运行时(CODESYS Control Runtime)运行在目标控制器或软 PLC 上,负责执行逻辑;授权(License)则决定运行时能跑多久、支持多少点位、是否启用 EtherCAT 主站等高级功能。
安装时建议遵循以下顺序:先装开发系统,再装目标运行时,最后导入设备描述文件(ESI/EDS)。若顺序颠倒,容易出现设备树中找不到 EtherCAT 主站或从站的情况。授权常见形式包括软授权(Softkey)和加密狗(Dongle),软授权与目标设备硬件指纹绑定,更换工控机或网卡后需要重新申请。
二、工程创建与设备树:把硬件“画”进软件
新建工程时,CODESYS 会要求选择“标准工程”或“空工程”,并指定目标设备。标准工程自带 PLC_PRG 和任务配置,适合快速验证;空工程更干净,适合按项目规范从零搭建。创建后,左侧设备树(Device Tree)是核心工作区,它按“控制器 → 以太网口 → EtherCAT 主站 → 从站”的层级组织硬件。
设备树中的每个节点都对应真实硬件或软件对象。右键“EtherCAT Master”可扫描从站,扫描结果会按拓扑顺序挂到主站下方。此时要注意:从站地址、站别名和拓扑位置必须与实际接线一致,否则后续 PDO 映射会错位。设备树不仅是“显示”,它直接决定编译时生成的配置数据。
三、任务配置与变量声明:让程序“跑起来”
任务配置决定程序何时执行。CODESYS 默认提供“MainTask”,可设置循环周期(如 1 ms、4 ms)和优先级。EtherCAT 工程中,主站过程数据刷新通常与任务周期绑定,周期越短实时性越好,但对 CPU 和网络负担也越大。建议将 EtherCAT 通信任务设为较高优先级,把非实时的人机界面、日志任务设为低优先级。
变量声明遵循 IEC 61131-3 规范,常用关键字包括 VAR(局部)、VAR_GLOBAL(全局)、VAR_INPUT/VAR_OUTPUT(输入输出)。EtherCAT 过程数据一般通过“映射变量”与从站 PDO 关联,声明时要注意数据类型必须与从站对象字典一致,例如伺服使能常用 BOOL,位置指令常用 DINT 或 REAL。
VAR_GLOBAL
bEnable : BOOL; // 伺服使能
nTargetPos : DINT := 10000; // 目标位置
nActualPos : DINT; // 实际位置
bError : BOOL; // 故障标志
END_VAR
PROGRAM PLC_PRG
VAR
fbAxis : AXIS_REF; // 轴引用
END_VAR
fbAxis(bEnable := bEnable, ...);
END_PROGRAM
四、基本调试方法:从“下载”到“看波形”
调试的第一步是“登录”(Login)到目标设备,然后“下载”(Download)工程。若目标设备已有运行程序,CODESYS 会提示是否覆盖。下载后点击“运行”(Run),程序开始执行。此时可通过“在线视图”观察变量实时值,也可使用“监视列表”批量添加关键变量。
更高效的调试手段是“示波器”(Trace)功能:把 EtherCAT 过程数据变量拖入 Trace,设置采样周期,即可观察位置、速度、状态字的时序关系。对于偶发故障,可结合“日志”(Log)和“在线比较”定位是程序逻辑问题还是通信丢包问题。
| 调试环节 | 常用工具 | 关键检查点 |
|---|---|---|
| 下载与登录 | Login / Download | 目标设备 IP、授权状态、程序版本 |
| 变量监控 | 在线视图、监视列表 | 变量是否被优化、地址是否映射正确 |
| 时序分析 | Trace 示波器 | 采样周期、触发条件、通道量程 |
| 通信诊断 | EtherCAT 诊断、日志 | 从站状态、丢包计数、DC 同步偏差 |
完成本节操作后,应能独立完成“安装授权 → 新建工程 → 配置设备树 → 设置任务 → 声明变量 → 下载调试”的闭环。这套流程是后续 EtherCAT 从站配置、PDO 映射和分布式时钟调试的通用底座,建议在实机或软 PLC 上至少完整走通两遍,形成自己的工程模板。