在CoDeSys中进行PLC程序开发,深入理解其软件模型是构建稳定、高效控制系统的基础。CoDeSys采用标准化的分层软件模型,不仅清晰定义了各类软件元素的关系,还实现了与IEC 61131-3标准的完全兼容,为多设备协同、多程序并行运行提供了坚实支撑。本文将从软件模型的整体架构入手,详细拆解核心元素,并重点讲解最上层的"设备"相关配置与操作。
一、CoDeSys软件模型的整体架构
CoDeSys的软件模型以分层结构为核心,每一层都隐含其下层的诸多特性,通过这种分层设计,将复杂的控制系统分解为若干可管理的部分,同时定义了各部分之间规范的接口方法。该模型不仅能描述如何实现多个独立程序的同时运行,还能实现对程序执行的完全控制,是现代软PLC的软件基础。
从核心功能来看,CoDeSys软件模型的核心价值在于:解决了传统PLC程序只能顺序扫描执行的局限,允许程序不同部分按不同时间、不同比率并行执行;同时具备极强的适应性,既能适配小型PLC系统,也能支撑大型分散式控制系统的开发需求。
二、软件模型的核心元素
CoDeSys软件模型包含五大核心软件元素,分别是设备、应用、任务、全局变量、访问路径和应用对象(后续篇章详细讲解任务、POU等),各元素在分层结构中各司其职,相互协同构成完整的控制系统。

1. 设备:软件模型的顶层核心
设备是软件模型的最上层元素,在CoDeSys V3之前的版本中被称为"配置",它等价于一个PLC所需的所有软件集合,也可理解为一个特定类型的控制系统。对于大型复杂应用(如整条生产线自动化),可能需要多个PLC联机通讯,此时"设备"就对应一个独立的PLC,包含该PLC的硬件装置、处理资源、I/O地址映射和系统内存存储能力。
从本质上来说,设备是具体的硬件对象载体,可涵盖控制器、现场总线站点、总线耦合器、驱动器、I/O模块、触摸屏等各类硬件。每个设备都由专属的"设备描述"文件定义,该文件需提前安装在CoDeSys本地系统中,才能被添加到设备树(工程中展示硬件系统的树状列表)中。
2. 应用:程序运行的支撑系统
应用位于软件模型的第二层,在CoDeSys V2版本中被称为"资源",由设备将多个应用组合成组,并为应用间的数据交换提供支持。每个设备中可包含一个或多个应用,应用不仅是程序运行的支撑系统,还反映了PLC的物理结构,在程序与PLC物理I/O通道之间搭建了关键接口。
应用被分配在PLC的CPU中,可理解为PLC的微处理器单元。在应用内定义的全局变量仅在该应用内部有效,其核心成员包括全局变量、任务、程序组织单元(POU)等应用对象,这些对象的具体功能将在后续篇章详细讲解。
3. 访问路径:数据交互的桥梁
访问路径的核心功能是关联全局变量、直接表示变量以及POU的输入/输出变量,实现信息的有序存储。更重要的是,它提供了不同应用之间数据交换的方法,使得一个应用内的变量可通过其他远程配置进行存取,为多应用协同提供了数据支撑。
4. 通讯功能:跨系统交互的保障
通讯功能负责实现CoDeSys与其他系统的交互,包括其他PLC系统、机器人控制器、计算机等设备,主要用于程序传输、数据文件传输、运行状态监视、故障诊断等场景。通讯方式均采用国际标准,常见的有RS232、RS485等串行通讯,以及CANopen、Profibus、EtherCAT、Modbus、Ethernet/IP、DeviceNet等工业现场总线。
三、软件模型的核心特点
- 多程序并行执行:支持在一台PLC中同时装载、启动和执行多个独立程序,突破传统PLC顺序扫描的局限;
- 程序执行完全可控:通过标准任务机制,允许程序不同部分按用户需求定时、定比率并行执行,扩大PLC应用范围;
- 强适应性:作为国际标准软件模型,不绑定具体PLC系统,可适配小型PLC和大型分散式系统;
- 支持重用与分层设计:程序组织单元可重复使用,复杂软件可逐层分解为可管理的程序单元,降低开发难度。
四、设备的核心配置:添加与管理
设备作为软件模型的顶层元素,其正确添加与配置是工程开发的第一步。下面详细讲解设备添加、包管理器、设备库等核心操作流程与注意事项。
1. 添加设备:工程初始化的关键步骤
新建工程时,系统会自动弹出对话框,提供"空工程"和"标准工程"两种模板选项。选择标准工程时,需手动选择实际连接的硬件设备;点击"确定"后,工程中会生成对应的设备树,直观展示硬件系统的层级结构。

需要注意的是,CoDeSys V3版本将V2版本中独立的"PLC配置"和"任务配置"窗口整合到了设备树

中,后续进行相关配置时,双击设备树节点即可弹出参数设置对话框。设备树中的每个节点都包含可编辑的名称和描述设备类型的属性,通过这些节点可组建包含多种控制器和总线结构的复杂系统。
根据功能不同,设备可分为两类:
- 可编程设备:会自动在节点下插入"PLC逻辑"虚节点,可在该节点下添加应用程序、文本列表等编程对象,以及参数管理器等功能对象;
- 参数型设备:无法分配编程对象,需在编辑对话框中直接设置参数。若设备属性允许,可直接在两种类型间切换,无需删除重建。
2. 包管理器:设备支撑软件的安装入口
所有设备必须先通过"包管理器"安装对应的支撑软件包,才能在工程中添加使用。包管理器可通过"工具"菜单打开,支持添加或删除支撑软件包(目标支撑软件包,简称TSP)。

针对不同硬件设备,需配置的核心参数包括:代码生成器、内存管理、PLC功能、I/O模块配置,同时需链接库、网关驱动程序,以及错误消息相关的ini文件和PLC浏览器信息。TSP作为设备支撑的核心,包含控制标准平台所需的所有文件和配置信息,其核心组成是目标文件(扩展名为*.trg,二进制格式),多个目标文件可共享附加文件。
TSP安装流程:启动CoDeSys V3.x后,通过"工具"→"包管理器"选择安装TSP(安装程序为Codesys-Setup的一部分);安装时,每个目标的目标文件会被放入独立目录并注册路径,相关文件会根据*.package信息拷贝到本地系统;启动CoDeSys时,系统会自动读入已安装的TSP文件,工程中的目标设置会随项目保存。若未安装TSP,则只能选择"None",即进入仿真模式工作。
3. 设备库:硬件设备信息的管理中心
设备库是设备信息的数据库,用于添加、删除硬件设备信息,安装后的设备数据会导入本地系统,供工程开发调用。通过设备库可添加的设备包括:供应商PLC、SoftMotion运动控制设备(编码器、驱动器等)、现场总线及专用接口等。

添加现场总线设备时,需导入供应商提供的设备描述文件,常见类型包括:CANopen的EDS和DCF文件、EtherCAT的XML文件、IO-Link的IODD文件、Profibus DP的GSD文件等。设备库对话框的核心选项及含义如下:
|---------|--------------------------------------------------------|
| 名称 | 说明 |
| 路径 | 显示当前可用的设备路径,"系统库"为CoDeSys默认安装路径 |
| 安装的设备描述 | 已安装设备以树形结构展示,包含名称、供应商、版本,支持按"PLCs""Miscellaneous"等类别筛选 |
| 细节 | 显示设备描述文件的附加信息,包括设备名称、供应商、类别、版本、描述等 |
| 安装 | 打开"安装设备描述"对话框,浏览并安装本地设备描述文件,使设备在系统中可用 |
| 卸载 | 删除当前选中的设备,该设备将从设备库中移除,不再支持工程调用 |
重要注意事项:
- 安装时,设备描述文件及附加文件会被复制到内部地址,修改原始文件不会影响已安装设备;设备更新后,建议修改内部版本号以便区分;
- 内部设备库禁止手动修改,如需重装、添加或删除设备,必须通过设备库对话框操作,不可直接复制/删除内部文件。
五、设备编辑器:参数配置的核心工具
设备编辑器是配置设备参数的核心对话框,打开方式有两种:选中设备图标后右键选择"编辑对象",或双击设备树中的设备节点。设备编辑器的主对话框以设备名称命名,包含多个选项卡,对应不同的配置功能,核心选项卡及含义如下:
|-------|-----------------------------------|
| 名称 | 说明 |
| 通讯设置 | 配置目标设备与其他可编程设备(PLC)之间连接的网关参数 |
| 配置 | 展示并设置设备的核心参数 |
| 应用 | 显示PLC上当前运行的应用,支持删除不需要的应用 |
| 文件 | 配置主机与PLC之间的文件传输参数 |
| 日志 | 显示PLC的运行日志文件,用于故障诊断 |
| PLC设置 | 配置与I/O操作相关的应用、停止状态下的I/O状态、总线周期等选项 |
| I/O映射 | 实现I/O设备输入和输出通道的映射配置 |
| 用户和组 | 管理运行中设备的访问用户(与工程用户管理区分) |
| 访问权限 | 设置特殊用户组对运行中对象和文件的访问权限 |
| 状态 | 显示设备的详细运行状态和诊断信息 |
| 信息 | 展示设备的基本信息,包括名称、供应商、版本、序列号等 |
提示:不同硬件设备的编辑器选项卡可能存在细微差异,具体以实际设备型号的配置需求为准。
本文重点讲解了CoDeSys软件模型的分层架构、核心元素及设备相关配置,设备作为顶层硬件对象载体,其正确配置是工程开发的基础。下一篇将聚焦软件模型中的任务配置、程序组织单元(POU)及应用对象,深入解析程序运行的核心控制逻辑与应用对象的协同机制,敬请关注!