4. CODESYS平台入门

CODESYS 是 IEC 61131-3 标准的代表性开发平台,也是 EtherCAT 主站控制工程最常用的集成环境之一。本节围绕“能装、能建、能配、能调”四个目标,把从软件安装到第一个可运行工程的完整链路串起来,为后续 EtherCAT 从站扫描、PDO 映射和分布式时钟配置打下操作基础。

一、安装与授权:先解决“能不能用”

CODESYS 采用“开发环境 + 运行时 + 授权”三层结构。开发环境(CODESYS Development System)免费安装,用于编写程序、配置设备树和编译工程;运行时(CODESYS Control Runtime)运行在目标控制器或软 PLC 上,负责执行逻辑;授权(License)则决定运行时能跑多久、支持多少点位、是否启用 EtherCAT 主站等高级功能。

安装时建议遵循以下顺序:先装开发系统,再装目标运行时,最后导入设备描述文件(ESI/EDS)。若顺序颠倒,容易出现设备树中找不到 EtherCAT 主站或从站的情况。授权常见形式包括软授权(Softkey)和加密狗(Dongle),软授权与目标设备硬件指纹绑定,更换工控机或网卡后需要重新申请。

安装路径尽量不含中文和空格,否则部分编译器和 EtherCAT 驱动在调用外部工具时可能报路径错误。授权文件建议统一放在固定目录,便于工程迁移时核对。

二、工程创建与设备树:把硬件“画”进软件

新建工程时,CODESYS 会要求选择“标准工程”或“空工程”,并指定目标设备。标准工程自带 PLC_PRG 和任务配置,适合快速验证;空工程更干净,适合按项目规范从零搭建。创建后,左侧设备树(Device Tree)是核心工作区,它按“控制器 → 以太网口 → EtherCAT 主站 → 从站”的层级组织硬件。

设备树中的每个节点都对应真实硬件或软件对象。右键“EtherCAT Master”可扫描从站,扫描结果会按拓扑顺序挂到主站下方。此时要注意:从站地址、站别名和拓扑位置必须与实际接线一致,否则后续 PDO 映射会错位。设备树不仅是“显示”,它直接决定编译时生成的配置数据。

CODESYS 工程结构与设备树关系示意 CODESYS 开发环境 工程文件 .project 设备树 Device Tree 任务配置 Task Config 变量声明 VAR 编译与下载 设备树层级 CODESYS Control Win V3 Ethernet (eth0) EtherCAT Master 从站1:伺服驱动器 从站2:远程 IO 模块 运行时与授权 CODESYS Runtime Softkey / Dongle EtherCAT 主站授权 目标设备连接 在线调试与监控 配置 下载

三、任务配置与变量声明:让程序“跑起来”

任务配置决定程序何时执行。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 同步偏差
常见误区:一是安装后未导入 ESI 文件就直接扫描从站,导致设备树中从站显示为“未知”;二是任务周期设置过短,CPU 占用率飙升,反而引起 EtherCAT 通信抖动;三是变量声明时使用了“优化访问”却仍按绝对地址映射,导致 PDO 映射失败。遇到问题时,先看设备树状态灯,再看日志,最后才怀疑程序逻辑。

完成本节操作后,应能独立完成“安装授权 → 新建工程 → 配置设备树 → 设置任务 → 声明变量 → 下载调试”的闭环。这套流程是后续 EtherCAT 从站配置、PDO 映射和分布式时钟调试的通用底座,建议在实机或软 PLC 上至少完整走通两遍,形成自己的工程模板。