3、Codesys开发环境:界面布局、工程创建、设备配置、在线连接与仿真
Codesys 作为基于 IEC 61131-3 标准的工业自动化开发平台,其开发环境(IDE)的熟练程度直接决定了项目开发的效率与质量。本章将带领你从零开始,系统性地拆解 Codesys 开发环境的四大核心模块:界面布局的认知、工程创建的标准化流程、设备配置的底层逻辑,以及在线连接与仿真的实战操作。我们将以“创建一个标准 PLC 项目并完成仿真运行”为最终目标,通过理论讲解与步骤拆解相结合的方式,帮助你建立起对 Codesys 开发环境的整体掌控力。
3.1 界面布局:五大核心面板的协同逻辑
核心原理
Codesys 的 IDE 界面设计遵循“工程树驱动”的核心理念。所有操作均围绕左侧的设备树(Devices)展开,它不仅是工程结构的目录,更是配置与编程的入口。与传统的 PLC 编程软件(如西门子 Step7 或三菱 GX Works)不同,Codesys 将“设备配置”与“程序组织”完全分离,这种设计使得同一个逻辑程序可以无缝移植到不同品牌的硬件平台上,前提是硬件厂商提供了对应的设备描述文件。
界面主要分为五个区域:设备树(工程结构)、POU 编辑器(代码编写)、消息输出窗口(编译/调试信息)、变量监视窗口(在线监控)以及工具箱/库管理器(指令集与功能块)。理解这五个区域的交互关系,是高效使用 Codesys 的第一步。
操作流程:自定义界面布局
- 重置窗口布局:若界面混乱,可通过菜单
窗口 → 重置视图恢复默认布局。 - 停靠与浮动:拖动面板标题栏,可将其停靠在任意边缘或浮动于主窗口之上。建议将“设备树”固定在左侧,“消息窗口”固定在底部。
- 快速切换:使用快捷键
Ctrl+Shift+E可在设备树与 POU 之间快速跳转。 - 自定义工具栏:右键点击工具栏空白处,选择“自定义”,可将“登录”、“仿真”、“编译”等高频操作按钮添加至快捷栏。
| 面板名称 | 核心功能 | 使用频率 | 关键操作 |
|---|---|---|---|
| 设备树 | 管理 PLC、总线从站、任务配置 | 极高 | 右键添加设备/从站 |
| POU 编辑器 | 编写 ST/LD/FBD 等语言代码 | 极高 | F2 键快速插入变量 |
| 消息窗口 | 显示编译错误、警告、下载日志 | 高 | 双击错误跳转定位 |
| 变量监视 | 在线查看/强制变量值 | 中 | 拖拽变量至监视列表 |
| 工具箱 | 提供标准函数、功能块 | 中 | 拖拽至 POU 编辑器 |
3.2 工程创建:从零搭建标准项目框架
核心原理
Codesys 提供两种工程模板:标准工程(Standard Project)和库工程(Library Project)。对于完整的 PLC 控制项目,我们选择标准工程。创建工程时,系统会要求选择目标设备(PLC 型号)和编程语言。这里的关键在于,设备选择决定了后续可用的指令集和总线配置能力。例如,选择“CODESYS Control Win V3”作为仿真目标,与选择真实硬件(如倍福 CX5020)在设备树中可添加的从站类型会有差异。
操作流程:创建与保存规范
- 新建工程:点击
文件 → 新建工程,选择“标准工程”,输入工程名称与保存路径。 - 选择设备与语言:在弹出的对话框中,选择目标 PLC 型号(若未安装对应厂商包,可先选择“CODESYS Control Win V3”用于仿真),默认编程语言建议选择结构化文本(ST)或梯形图(LD)。
- 工程命名规范:建议采用“项目代号_版本号_日期”格式,例如
Conveyor_Control_V1.0_20250115。 - 自动生成结构:创建完成后,设备树会自动生成
Application、PLC_PRG(主程序)、任务配置等节点。
案例拆解:创建带任务配置的工程
假设我们需要为一个物料分拣系统创建工程,要求主程序每 10ms 执行一次,同时有一个慢速任务每 100ms 执行一次用于数据采集。
- 初始现象:默认工程只有一个
MainTask,周期为 10ms。 - 操作步骤:右键点击
任务配置 → 添加任务,命名为FastTask,类型选择“循环”,优先级设为 0(最高),间隔设为 10ms。再添加SlowTask,优先级设为 10,间隔 100ms。 - 关联 POU:双击任务节点,在“POU”属性中关联对应的程序组织单元(如
PLC_PRG分配给 FastTask,DataCollection分配给 SlowTask)。 - 结果对比:通过任务配置,系统资源得到合理分配,高速逻辑与低速采集互不干扰。
3.3 设备配置:从站添加与总线拓扑
核心原理
设备配置的本质是建立硬件拓扑的软件映射。在设备树中,PLC 节点代表主站,通过右键添加“EtherCAT”、“PROFINET”或“CANopen”等总线从站,模拟真实的物理接线。每个从站节点下又包含其子模块(如数字量输入模块、模拟量输出模块),这些模块的地址映射是后续变量绑定的基础。
操作流程:添加 EtherCAT 从站
- 添加从站:右键点击设备树中的
EtherCAT_Master,选择添加设备,在弹出的设备库中搜索目标从站型号(如 Beckhoff EL1008 数字量输入模块)。 - 配置模块参数:选中已添加的从站,在下方“通用”选项卡中设置站地址(Station Address),在“过程映像”中查看输入/输出字节偏移。
- 映射变量:双击从站下的
Channel 1,在“变量”配置中映射到 PLC 全局变量,例如Input_Byte_0。 - 编译检查:配置完成后执行
编译 → 生成代码,系统会检查地址冲突与总线配置错误。
| 总线类型 | 典型从站 | 通信速率 | 适用场景 |
|---|---|---|---|
| EtherCAT | Beckhoff EL系列 | 100Mbps | 高速运动控制 |
| PROFINET | 西门子 ET200SP | 100Mbps | 工厂级混合网络 |
| CANopen | 各种驱动器/阀岛 | 1Mbps | 分布式IO与驱动 |
| Modbus TCP | 第三方仪表 | 10/100Mbps | 数据采集与监控 |
3.4 在线连接与仿真:调试环境的搭建
核心原理
在线连接涉及三个层次:网关(Gateway)、通信驱动与目标设备。网关是运行在 PC 上的后台服务,负责将 IDE 的请求转发给 PLC 或仿真器。仿真模式(Simulation)则是通过“CODESYS Control Win V3”在 PC 上虚拟出一个 PLC 运行时环境,无需真实硬件即可验证逻辑正确性。
操作流程:启动仿真并下载程序
- 启动仿真:点击菜单
在线 → 仿真,系统会提示“是否启动仿真模式?”,点击“是”。此时设备树中的 PLC 节点图标会变为绿色,表示仿真运行已激活。 - 登录与下载:点击
在线 → 登录,IDE 会尝试连接仿真器。连接成功后,点击在线 → 下载,将编译后的代码传输至仿真 PLC。 - 运行与停止:点击工具栏中的“运行”按钮(绿色三角),PLC 程序开始执行。此时可通过“变量监视”窗口查看实时值。
- 断开连接:调试完成后,点击
在线 → 注销,再退出仿真模式。
案例拆解:仿真调试中的强制变量操作
假设我们编写了一个电机启停控制程序,输入变量为 Start_Button 和 Stop_Button,输出为 Motor_Run。在仿真中,我们需要模拟按钮按下。
- 初始状态:所有变量均为 FALSE,Motor_Run 为 FALSE。
- 操作步骤:在变量监视窗口中,右键点击
Start_Button,选择“强制值”,将其强制为 TRUE。观察Motor_Run是否变为 TRUE。 - 分析判断:若 Motor_Run 未变化,检查程序逻辑中是否有互锁条件(如急停信号)。
- 结果对比:强制 Stop_Button 为 TRUE,Motor_Run 应立即变为 FALSE。若未变化,则说明程序中存在逻辑错误。
- 复盘经验:强制变量是仿真调试中最常用的手段,但需注意强制值在退出仿真或重新下载后会被清除。
3.5 总结复盘:开发环境高效使用要点
本章节的核心在于建立“工程树驱动一切”的思维模式。通过界面布局的定制,我们可以将高频操作集中在视线范围内;通过标准化的工程创建流程,我们确保了项目结构的可维护性;通过严谨的设备配置,我们避免了硬件地址映射的隐患;而在线连接与仿真则是验证逻辑正确性的加速器。
在实际项目开发中,建议遵循以下复盘清单:
- 界面效率:是否将“编译”、“登录”、“仿真”按钮置于快捷栏?
- 工程规范:任务周期与优先级是否经过计算?是否预留了扩展任务?
- 设备配置:从站地址是否与物理拨码一致?过程映像大小是否满足数据需求?
- 仿真验证:是否在仿真中完整测试了所有输入组合?是否记录了强制变量的测试用例?
掌握以上内容,你已经具备了使用 Codesys 搭建一个可运行、可调试的 PLC 项目的基础能力。下一阶段,我们将深入 POU 编程语言的具体实现,将本章搭建的工程框架填充以实际的业务逻辑。