2. CODESYS平台概述

CODESYS(Controller Development System)是全球工业自动化领域应用最广泛的 IEC 61131-3 编程平台之一。它并非单一软件,而是一套覆盖开发、运行、通信、可视化与远程运维的完整技术体系。理解 CODESYS 的发展脉络、产品分层、安装授权与工程创建流程,是后续学习 HMI 设计与远程运维开发的基础。

一、发展历程:从编程工具到工业软件生态

CODESYS 最初由德国 3S-Smart Software Solutions GmbH 开发,早期定位是符合 IEC 61131-3 标准的 PLC 编程工具。随着工业自动化对开放性、跨平台和网络化需求的提升,CODESYS 逐步演化为“开发环境 + 运行时系统 + 通信中间件 + 可视化组件”的平台化产品。其关键演进可概括为:

  • 标准化阶段:以 IEC 61131-3 五种语言(LD、FBD、IL、ST、SFC)为核心,解决 PLC 程序可移植问题。
  • 平台化阶段:引入 CODESYS Runtime,使同一工程可部署到不同硬件与操作系统。
  • 网络化阶段:集成 EtherCAT、Modbus、OPC UA、Profinet 等总线与协议,支持设备互联。
  • 可视化与远程阶段:提供 CODESYS Visualization、WebVisu、TargetVisu,并支持远程下载、诊断与维护。

对开发者而言,这意味着学习 CODESYS 不仅是学一门编程语言,更是掌握一套“一次开发、多端部署”的工程方法。

二、产品体系:开发、运行与可视化三层结构

CODESYS 产品体系可按“开发层—运行层—可视化与通信层”理解。开发层以 CODESYS Development System 为核心,负责工程创建、编程、编译与仿真;运行层以 CODESYS Runtime 为核心,运行在 PLC、工控机、树莓派或软 PLC 上;可视化与通信层包括 CODESYS Visualization、WebVisu、CODESYS Gateway、OPC UA Server 等,负责 HMI 呈现与远程数据交互。

CODESYS 产品体系与工程创建主线 开发层 CODESYS Development System IEC 61131-3 编程 / 编译 / 仿真 设备树 / 库管理 / 在线调试 工程文件:*.project 运行层 CODESYS Runtime / SoftPLC PLC / 工控机 / 树莓派 / 边缘网关 实时任务 / 变量映射 / 看门狗 授权:Demo / Lite / Full 可视化与通信层 Visualization / WebVisu TargetVisu / HMI 画面 OPC UA / Modbus / Gateway 远程下载 / 诊断 / 数据上云 工程创建与部署流程 1. 新建工程 选择标准工程 2. 选设备 PLC / SoftPLC 3. 选语言 ST / LD / FBD 4. 编写程序 POU / 变量 5. 编译下载 登录运行 授权与部署要点 Demo 版可试用 30 分钟;Lite 版限制 I/O 与库;Full 版支持完整功能与远程运维 授权通过 CODESYS License Manager 管理,可绑定软授权或加密狗

三、开发环境安装与授权方式

CODESYS Development System 的安装相对直接,但需注意版本匹配与授权配置。安装前建议关闭杀毒软件实时防护,避免驱动安装被拦截。安装完成后,首次启动会提示选择授权模式。

授权类型 适用场景 主要限制 获取方式
Demo 版 学习、评估、临时调试 每次运行 30 分钟后停止 安装后默认可用
Lite 版 小型项目、教学实验 I/O 点数与部分库受限 随部分硬件免费提供
Full 版 商业项目、远程运维 无功能限制 购买授权或加密狗
Runtime 授权 目标设备运行 按设备绑定 随控制器或单独购买
提示:若仅用于学习 HMI 与远程运维,Demo 版配合仿真运行即可完成大部分实验;但涉及 WebVisu 长时间在线或 OPC UA 服务时,建议使用 Full 版授权,避免运行中断。

四、工程创建流程与实操要点

在 CODESYS 中创建工程的标准流程如下:启动开发环境 → 选择“新建工程” → 选择“标准工程”模板 → 输入工程名称与保存路径 → 选择设备型号(如 CODESYS Control Win V3 或具体 PLC) → 选择编程语言(推荐 ST 或 LD) → 完成创建。创建后,设备树中会出现 PLC_PRG 主程序,可直接编写逻辑。

// 示例:在 PLC_PRG 中编写一个简单启保停逻辑(ST 语言)
VAR
    StartBtn : BOOL;
    StopBtn  : BOOL;
    MotorRun : BOOL;
END_VAR

IF StartBtn AND NOT StopBtn THEN
    MotorRun := TRUE;
ELSIF StopBtn THEN
    MotorRun := FALSE;
END_IF

编写完成后,点击“编译”检查语法,再点击“登录”下载到仿真或真实设备。若使用仿真,需先安装 CODESYS Control Win V3 运行时,并在设备树中扫描网关。下载成功后,可通过“在线”模式监控变量状态,验证逻辑正确性。

常见误区:很多初学者在创建工程时直接选择“空工程”,导致设备树中没有 PLC_PRG,无法编译下载。正确做法是选择“标准工程”模板,或手动添加 POU 并关联到任务配置。此外,设备型号必须与实际运行环境一致,否则会出现“目标设备不匹配”错误。

五、案例场景:从工程创建到远程运维准备

假设需要为一个远程泵站开发 HMI 与运维功能。首先在 CODESYS 中创建标准工程,设备选择支持以太网的 SoftPLC;编写泵启停与故障报警逻辑;添加 Visualization 画面,放置按钮、指示灯与趋势图;配置 WebVisu 使画面可通过浏览器访问;最后在 Runtime 中启用 OPC UA Server,为远程运维平台提供数据接口。整个流程中,工程创建是起点,授权决定功能边界,而设备与通信配置决定远程运维能否落地。