CoDeSys入门实战一起学习(六):CoDeSys软件模型核心架构——从分层结构到核心元素

在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)及应用对象,深入解析程序运行的核心控制逻辑与应用对象的协同机制,敬请关注!

相关推荐
Web极客码2 小时前
如何在 WordPress 中设置会员内容:简单两步实现注册用户专属访问
运维·wordpress·网站管理·网站维护
林鸿风采2 小时前
Alpine Linux 安装指南:轻量、安全、高效的系统部署实践
linux·运维·安全·alpine
heda32 小时前
zip在linux上解压出错Unicode编码-解决
linux·运维·python
济6172 小时前
linux 系统移植(第四期)--Uboot移植(4)--在U-Boot 中添加自己的开发板(3) -网络驱动修改-- Ubuntu20.04
linux·运维·服务器
2301_765715142 小时前
Linux虚拟机NAT模式网络故障解析与修复指南
linux·运维·服务器
夜郎king2 小时前
一文掌握:Java项目目录结构文档自动化生成
java·自动化·java原生目录生成
OpsEye2 小时前
监控 100 问(四):如何实现 IT 监控自动化
运维·网络·it运维·it·监控·监控系统
博图光电2 小时前
博图双目结构光相机——叉车自动化视觉定位解决方案
运维·数码相机·自动化
北京阿法龙科技有限公司2 小时前
告别繁琐巡检:AR智能眼镜打造工业&电力运维闭环体系|阿法龙XR云平台
运维·ar·xr