3. WAGO工程软件入门

WAGO的控制器(如PFC200、TP600系列触摸屏控制器)支持IEC 61131-3标准编程,工程侧有两条主流路径:一是WAGO官方的e!COCKPIT,二是基于CODESYS V3的WAGO CODESYS开发环境。两者内核同源,都使用CODESYS V3的编译器与运行时,区别主要在设备描述库、可视化组件和WAGO专有功能块的集成度上。理解这一点很关键:在e!COCKPIT里学到的设备树结构、任务配置、变量声明方式,几乎可以原样迁移到CODESYS中,反之亦然。

一、创建项目与选择设备

打开e!COCKPIT后,选择“新建项目”,在设备选择对话框中按控制器型号筛选。以常见的PFC200 750-8212为例,需要选择对应的设备描述条目,并确认固件版本与现场控制器一致——版本不匹配会导致下载时报“设备描述不兼容”。项目创建后,左侧会出现设备树(Device Tree),根节点是控制器,下面挂载内部总线、I/O模块、通信接口等。

如果使用CODESYS,则通过“添加设备”逐级挂载:先添加WAGO以太网适配器节点,再在其下添加具体控制器型号,然后添加I/O模块。两种方式最终得到的设备树结构是一致的,只是e!COCKPIT会自动根据型号预填部分节点。

二、设备树的结构与配置

设备树是工程与实际硬件的映射关系,它的层级通常为:控制器 → 内部总线(K-bus或PFC内部总线)→ I/O模块 → 通道。每个模块节点下可以展开到具体通道,通道上可以绑定过程数据变量。配置设备树时,需要核对三个信息:模块型号是否与实际一致、模块排列顺序是否与物理安装顺序一致、通道地址是否与过程映像区对应。

以750-430(8路数字量输入)和750-530(8路数字量输出)为例,在设备树中它们分别位于内部总线下的第1、第2个槽位。750-430的输入过程映像通常映射到%IX0.0~%IX0.7,750-530的输出映射到%QX0.0~%QX0.7。这个映射关系由模块在总线上的位置决定,不是随意指定的。如果设备树中模块顺序与物理顺序不一致,程序读到的输入就会错位。

WAGO设备树结构与过程映像映射 PFC200 750-8212 控制器(CODESYS V3运行时) 内部总线(K-bus) 槽位1:750-430 8路数字量输入 %IX0.0 ~ %IX0.7 槽位2:750-530 8路数字量输出 %QX0.0 ~ %QX0.7 槽位3:750-455 4路模拟量输入 %IW0 ~ %IW3 PLC程序中的变量绑定 输入变量 bStart AT %IX0.0 : BOOL bStop AT %IX0.1 : BOOL 输出变量 bMotor AT %QX0.0 : BOOL bLamp AT %QX0.1 : BOOL 模拟量变量 wTemp AT %IW0 : WORD rTemp : REAL

三、编写基础PLC程序

设备树配置完成后,进入程序组织单元(POU)的编写。CODESYS/e!COCKPIT支持LD、FBD、ST、SFC等语言。对于入门,建议先用ST(结构化文本)写一段带自锁的启停逻辑,再对照FBD理解其等效表达。

在ST中,变量声明区与代码区分开。以下是一个典型的电机启停程序示例:

PROGRAM PLC_PRG
VAR
    bStart   AT %IX0.0 : BOOL;   (* 启动按钮,常开 *)
    bStop    AT %IX0.1 : BOOL;   (* 停止按钮,常闭 *)
    bMotor   AT %QX0.0 : BOOL;   (* 电机输出 *)
    bRun     : BOOL;             (* 内部运行标志 *)
END_VAR

(* 启停自锁逻辑 *)
bRun := (bStart OR bRun) AND bStop;
bMotor := bRun;

这段代码的关键在于:bStop按常闭触点接线,所以正常状态下%IX0.1为TRUE,按下停止按钮时变为FALSE,从而切断自锁。如果现场接的是常开按钮,则逻辑要改为AND NOT bStop。这是初学者最容易出错的地方——程序逻辑必须与硬件接线方式一致。

四、任务配置与下载运行

程序写完后,需要在任务配置中把PLC_PRG挂到某个任务下。默认情况下,CODESYS会创建一个循环任务(Cyclic Task),周期可设为1ms~100ms。对于普通逻辑控制,10ms周期足够;对于需要快速响应的信号,可单独建一个高速任务。任务周期设置过小会增加CPU负载,设置过大会导致响应迟钝,需要根据实际I/O刷新要求权衡。

下载前先执行“编译”,检查是否有语法错误或变量未定义。编译通过后,通过以太网连接控制器,扫描网络、选中目标设备、下载程序。下载完成后切换到“运行”模式,观察设备树中I/O通道的实时状态:强制%IX0.0为TRUE,看%QX0.0是否跟随置位;再强制%IX0.1为FALSE,看输出是否断开。这个“强制—观察—判断”的过程,就是最基本的在线调试闭环。

设备树中的模块顺序必须与物理安装顺序严格一致。如果现场模块有增减,先在设备树中调整,再重新编译下载,否则过程映像地址会整体偏移。

五、常见问题与排查方向

入门阶段最常遇到三类问题:一是下载时报“设备描述不匹配”,通常是工程中选择的固件版本与控制器实际版本不一致,需要在设备树中右键更新设备描述;二是程序运行但I/O无反应,先检查设备树中模块是否处于“已启用”状态,再检查变量是否真正绑定了正确的过程映像地址;三是任务周期设置不当导致看门狗超时,控制器进入停止状态,此时应适当放宽任务周期或优化程序中的循环逻辑。

掌握以上流程后,就已经完成了从“建项目”到“跑通第一个逻辑”的完整链路。后续的模拟量处理、通信配置、可视化界面,都是在这个设备树和任务框架上逐步叠加的。