PLC 综合开发利器
——CoDeSys 基础编程及应用指南
第 0 章 前言 ................................................................................................................................................. 7
第 1 章 概述 ................................................................................................................................................. 8
目录
1.1
1.3
IEC 61131-3 标准 .................................................................................................................................... 8
IEC 61131 简介 ................................................................................................................................... 8
1.1.1
1.1.2 PLCopen 组织概况 ............................................................................................................................. 9
IEC 61131-3 编程语言 ....................................................................................................................... 9
1.1.3
IEC 61131-3 标准语言的特点.......................................................................................................... 10
1.1.4
1.2 软 PLC-CODESYS ..................................................................................................................................... 11
1.2.1 软 PLC 控制方案 .......................................................................................................................... 12
1.2.2 软 PLC 的发展方向 ...................................................................................................................... 13
CODESYS 概述 ........................................................................................................................................ 14
1.3.1 CoDeSys 自动化解决方案 ............................................................................................................... 14
1.3.2 CoDeSys 实时核 ............................................................................................................................... 16
1.4 软件的安装 .......................................................................................................................................... 17
1.4.1 安装所需的软硬件要求 .............................................................................................................. 18
1.4.2 安装 ............................................................................................................................................. 18
1.4.3 启动编程软件 .............................................................................................................................. 18
1.4.4 帮助 ............................................................................................................................................. 18
1.4.5 CoDeSys 开发系统 ........................................................................................................................... 19
1.5 获取资料、插件和技术论坛 .............................................................................................................. 22
第 2 章 CODESYS 结构 ................................................................................................................................ 23
2.1 软件模型 .............................................................................................................................................. 23
2.1.1 软件模型概述 .............................................................................................................................. 23
2.1.2 软件模型的特点 .......................................................................................................................... 24
2.2 设备 ...................................................................................................................................................... 24
2.2.1 设备 ............................................................................................................................................. 24
2.2.2 设备编辑器 .................................................................................................................................. 27
2.3 应用 ...................................................................................................................................................... 28
2.3.1 任务 ............................................................................................................................................. 28
2.3.2 库文件.......................................................................................................................................... 38
2.3.3 全局变量和局部变量 .................................................................................................................. 48
2.3.4 访问路径 ...................................................................................................................................... 50
2.4 程序组织单元 ...................................................................................................................................... 51
2.4.1 程序组织单元结构 ...................................................................................................................... 51
2.4.2 函数 ............................................................................................................................................. 53
2.4.3 功能块.......................................................................................................................................... 56
2.4.4 程序 ............................................................................................................................................. 60
2.4.5 创建的原则 .................................................................................................................................. 62
2.5 应用对象 .............................................................................................................................................. 62
2.5.1 采样跟踪 ...................................................................................................................................... 62
2.5.2 持续变量 ...................................................................................................................................... 68
2.5.3 数据单元类型 .............................................................................................................................. 69
2.5.4 全局网络变量 .............................................................................................................................. 70
2.5.5 配方管理器 .................................................................................................................................. 71
第 3 章 公共元素及变量 ............................................................................................................................ 73
3.1 公用元素 .............................................................................................................................................. 73
3.1.1 字符集.......................................................................................................................................... 73
3.1.2 分界符.......................................................................................................................................... 73
3.1.3 关键字.......................................................................................................................................... 75
3.1.4 常数 ............................................................................................................................................. 75
3.1.5 句法颜色 ...................................................................................................................................... 78
3.1.6 空格和注释 .................................................................................................................................. 78
3.2 变量的表示和声明 .............................................................................................................................. 82
3.2.1 变量 ............................................................................................................................................. 82
3.2.2 标识符.......................................................................................................................................... 82
3.2.3 变量声明 ...................................................................................................................................... 82
3.3 数据类型 .............................................................................................................................................. 84
3.3.1 标准数据类型 .............................................................................................................................. 84
3.3.2 标准的扩展数据类型 .................................................................................................................. 89
3.3.3 自定义数据类型 .......................................................................................................................... 96
3.4 变量的类型和初始化 ........................................................................................................................ 107
3.4.1 变量的类型 ................................................................................................................................ 107
3.4.2 变量的初始化 ............................................................................................................................ 109
3.5 变量声明及字段指令 ........................................................................................................................ 110
3.5.1 变量匈牙利命名法 .................................................................................................................... 110
3.5.2 字段 Pragma 指令 ..................................................................................................................... 111
第 4 章 编程语言 ..................................................................................................................................... 113
4.1 指令表(IL) ..................................................................................................................................... 114
4.1.1 指令表编程语言简介 ................................................................................................................ 114
4.1.2 连接元素 .................................................................................................................................... 115
4.1.3 操作指令 .................................................................................................................................... 118
4.1.4 函数及功能块 ............................................................................................................................ 123
4.1.5 应用举例 .................................................................................................................................... 124
4.2 梯形图(LD)/功能块(FBD) ........................................................................................................ 126
4.2.1 梯形图/功能块图编程语言简介 .............................................................................................. 126
4.2.2 连接元素 .................................................................................................................................... 128
4.2.3 应用举例 .................................................................................................................................... 137
4.3 结构化文本(ST) ............................................................................................................................ 141
4.3.1 结构化文本编程语言简介 ........................................................................................................ 141
4.3.2 指令语句 .................................................................................................................................... 143
4.3.3 应用举例 .................................................................................................................................... 153
4.4 顺序流程图(SFC) .......................................................................................................................... 157
4.4.1 顺序流程图编程语言简介 ........................................................................................................ 158
4.4.2 SFC 的结构 ..................................................................................................................................... 160
4.4.3 应用举例 .................................................................................................................................... 172
4.5 连续功能图(CFC) .......................................................................................................................... 173
4.5.1 连续功能图编程语言结构 ........................................................................................................ 173
4.5.2 连接元素 .................................................................................................................................... 175
4.5.3 CFC 的组态 ..................................................................................................................................... 182
4.5.4 应用举例 .................................................................................................................................... 183
第 5 章 指令系统 ..................................................................................................................................... 184
5.1 位逻辑指令 ........................................................................................................................................ 184
5.1.1 基本逻辑指令 ............................................................................................................................ 184
5.1.2 置位优先与复位优先触发器指令 ............................................................................................ 189
5.1.3 边沿检测指令 ............................................................................................................................ 192
5.2 定时器指令 ........................................................................................................................................ 194
5.2.1 定时器........................................................................................................................................ 194
5.3 计数器指令 ........................................................................................................................................ 198
5.3.1 计数器简介 ................................................................................................................................ 198
5.3.2 计数器指令 ................................................................................................................................ 198
5.4 数据处理指令 .................................................................................................................................... 202
5.4.1 选择操作指令 ............................................................................................................................ 202
5.4.2 比较指令 .................................................................................................................................... 205
5.4.3 移位指令 .................................................................................................................................... 209
5.5 运算指令 ............................................................................................................................................ 214
5.5.1 赋值指令 .................................................................................................................................... 214
5.5.2 算术运算指令 ............................................................................................................................ 214
5.5.3 数学运算指令 ............................................................................................................................ 217
5.5.4 地址运算指令 ............................................................................................................................ 221
5.6 数据转换指令 .................................................................................................................................... 223
5.6.1 数据类型转换指令 .................................................................................................................... 223
第 6 章 基础编程 ..................................................................................................................................... 231
6.1 基本编程操作 .................................................................................................................................... 231
6.1.1 启动 CoDeSys ............................................................................................................................. 231
6.1.2 PLC 程序文件的建立 ..................................................................................................................... 233
6.2 通讯参数设置 .................................................................................................................................... 236
6.2.1 启动 Gateway Server 和 PLC ..................................................................................................... 236
6.3 程序下载/读取 .................................................................................................................................. 239
6.3.1 编译 ........................................................................................................................................... 239
6.3.2 登入下载 .................................................................................................................................... 239
6.3.3 在线监控 .................................................................................................................................... 243
6.4 程序调试 ............................................................................................................................................ 246
6.4.1 复位功能 .................................................................................................................................... 246
6.4.2 调试工具 .................................................................................................................................... 248
6.5 仿真 .................................................................................................................................................... 251
6.5.1 离线仿真 .................................................................................................................................... 251
PLC 脚本功能 ..................................................................................................................................... 253
6.6
6.7 程序隐含检查功能 ............................................................................................................................ 254
第 7 章 程序结构 ..................................................................................................................................... 258
7.1 系统程序和用户程序 ........................................................................................................................ 258
7.2 用户程序结构 .................................................................................................................................... 258
7.2.1 常用的编程方法 ........................................................................................................................ 258
7.3 锁存电路 ............................................................................................................................................ 262
7.3.1 创建锁存电路 ............................................................................................................................ 262
7.3.2 锁存电路的实际应用 ................................................................................................................ 265
第 8 章 可视化界面建立及应用 ............................................................................................................... 267
CODESYS 可视化界面 .......................................................................................................................... 268
8.1
8.2 基本操作 ............................................................................................................................................ 269
8.2.1 创建可视化界面 ........................................................................................................................ 269
8.2.2 添加工具 .................................................................................................................................... 269
8.2.3 对齐工具 .................................................................................................................................... 270
8.2.4 删除工具 .................................................................................................................................... 270
8.3 工具 .................................................................................................................................................... 270
8.3.1 基本工具 .................................................................................................................................... 270
8.3.2 通用控制工具 ............................................................................................................................ 275
8.3.3 测量控制 .................................................................................................................................... 286
8.3.4 灯/开关/位图............................................................................................................................. 292
8.3.5 特殊控制 .................................................................................................................................... 294
8.3.6 报警管理 .................................................................................................................................... 301
8.4 视图的建立及编辑 ............................................................................................................................ 307
8.4.1 应用举例 .................................................................................................................................... 307
第 9 章 模拟量闭环控制的实现 ............................................................................................................... 319
9.1 模拟量闭环控制 ................................................................................................................................ 319
9.1.1 模拟量闭环控制系统 ................................................................................................................ 319
9.2
9.1.2 闭环控制的主要性能指标 ........................................................................................................ 320
CODESYS 的闭环控制功能 .................................................................................................................. 321
9.2.1 CoDeSys 控制方法 ......................................................................................................................... 321
9.2.2 使用 CoDeSys 实现闭环控制 .................................................................................................... 321
9.2.3 模拟量输入数据整定 ................................................................................................................ 323
9.2.4 模拟量输出数据整定 ................................................................................................................ 325
9.2.5 输入数据滤波 ............................................................................................................................ 326
9.3 数字 PID 控制器 ................................................................................................................................ 333
9.3.1 PID 控制原理 ................................................................................................................................. 333
9.3.2 标准 PID 控制器 ........................................................................................................................ 335
9.3.3 固定采样频率的 PID 控制器 .................................................................................................... 337
9.3.4 PD 控制器 ...................................................................................................................................... 338
9.4 数字 PID 控制的改进算法................................................................................................................. 340
9.4.1 积分分离控制器 ........................................................................................................................ 340
9.4.2 带死区的 PID 控制器 ................................................................................................................ 341
9.5 闭环控制实例 .................................................................................................................................... 342
9.5.1 PID 参数整定 ................................................................................................................................. 342
9.5.2 简易压紧机的控制实例 ............................................................................................................ 343
第 10 章 控制系统工程实例 ...................................................................................................................... 352
10.1.1 电动机点动运行 ........................................................................................................................ 352
10.1.2 控制电动机正、反转运行 ........................................................................................................ 355
10.1.3 电动机 Y-△启动控制................................................................................................................ 361
10.1.4 恒压变频供水控制系统 ............................................................................................................ 366
10.1.5 气动分度盘正、反转控制 ........................................................................................................ 371
10.1.6 液位自动控制 ............................................................................................................................ 377
10.1.7 火警报警系统 ............................................................................................................................ 383
10.1.8 抢答器控制系统 ........................................................................................................................ 385
10.1.9 交通灯信号控制程序 ................................................................................................................ 388
停车场管理 ........................................................................................................................... 393
10.1.10
第 11 章 通信网络基础 .............................................................................................................................. 395
11.1 通信技术基础 .................................................................................................................................... 395
11.1.1 通信系统的结构 ........................................................................................................................ 395
11.1.2 通讯传输模式 ............................................................................................................................ 396
11.1.3 数据传送方式 ............................................................................................................................ 396
11.1.4 数据传送介质 ............................................................................................................................ 400
11.2 串行通信基础及协议标准 ................................................................................................................ 405
11.2.1 基本概述 .................................................................................................................................... 405
11.2.2 串口通讯接口标准 .................................................................................................................... 407
11.3 现场总线系统 .................................................................................................................................... 409
11.3.1 现场总线技术 ............................................................................................................................ 409
11.3.2 现场总线的特点 ........................................................................................................................ 410
IEC 61158 标准 .......................................................................................................................... 413
11.3.3
FCS 与 DCS 的基本要点及区别................................................................................................. 416
11.3.4
11.3.5 现场总线的发展历程及发展现状 ............................................................................................ 417
11.4 工业以太网 ........................................................................................................................................ 419
TCP/IP ......................................................................................................................................... 419
11.4.1
TCP/IP 的工作方式 .................................................................................................................... 420
11.4.2
IEEE 802 通信标准 ..................................................................................................................... 422
11.4.3
11.4.4 工业控制网络的拓扑结构 ........................................................................................................ 424
第 12 章 常用工业现场总线及介绍 ........................................................................................................... 430
12.1
CANOPEN 通讯 ..................................................................................................................................... 430
12.1.1 运行原理 .................................................................................................................................... 430
12.1.2
12.1.3
12.1.4
CANopen 物理层 ....................................................................................................................... 439
PDO 通讯示例 ........................................................................................................................... 441
SDO 通信示例 ............................................................................................................................ 447
12.2 MODBUS 网络基础 .............................................................................................................................. 452
12.2.1 数据链路层 ................................................................................................................................ 453
12.2.2 协议描述 .................................................................................................................................... 455
12.2.3 Modbus 串行的两种传输模式 ................................................................................................. 458
12.2.4 Modbus 功能码 ......................................................................................................................... 462
12.2.5 Modbus 物理层 ......................................................................................................................... 465
12.2.6 Modbus 串口的通讯组态 ......................................................................................................... 470
ETHERCAT 网络基础 ............................................................................................................................ 475
EtherCAT 物理层 ....................................................................................................................... 475
EtherCAT 硬件组成 ................................................................................................................... 480
EtherCAT 运行原理 ................................................................................................................... 480
EtherCAT 通讯模式 ................................................................................................................... 489
EtherCAT 状态机 ....................................................................................................................... 493
EtherCAT 伺服驱动器控制应用协议 ........................................................................................ 495
EtherCAT 主从站通讯配置示例 ................................................................................................ 502
PROFINET 网络基础 ........................................................................................................................... 509
PROFINET 物理层 ...................................................................................................................... 509
12.4.1
PROFINET ................................................................................................................................ 513
12.4.2
PROFINET 协议架构 .................................................................................................................. 516
12.4.3
12.4.4 同步实时通信 ............................................................................................................................ 520
PROFINET 主从站通讯配置....................................................................................................... 523
12.4.5
ETHERNET/IP 网络基础 ........................................................................................................................ 532
EtherNet/IP 物理层 ................................................................................................................... 532
EtherNet/IP 运行原理 ............................................................................................................... 537
EtherNet/IP 网络性能性能指标................................................................................................ 543
EtherNet/IP 通讯配置 ............................................................................................................... 544
12.3.1
12.3.2
12.3.3
12.3.4
12.3.5
12.3.6
12.3.7
12.5
12.5.1
12.5.2
12.5.3
12.5.4
12.3
12.4
第 13 章 附录 ............................................................................................................................................. 550
13.1 附录 A ST 指令快查 .......................................................................................................................... 550
13.2 附录 B 标准库 FUN 及 FB 快查 ........................................................................................................ 551
13.3 附录 C 常用快捷键 ............................................................................................................................ 553
13.3.1 快捷输入 .................................................................................................................................... 554
13.4 附录 D 参考文献 ................................................................................................................................ 556
第0章 前言
CoDeSys 是德国 3S 公司的 PLC 编程软件,本书主要以介绍该软件的 PLC 编程功能。在逐步了
解了软件后,使读者一步一步的掌握和精通 CoDeSys 系统的项目开发、程序编制、网络通讯及可
视化编程界面的制作等。
如今,全球有近 350 家知名的自动化产品和方案供应商是 3S 公司 CoDeSys 的合作伙伴,其中
较著名的有 ABB 的 Control builder、Schneider Electric 的 SoMachine、BECKHOFF 的 TwinCAT、
EATON 的 XSoft、Bosch-Rexroth 的 IndraWorks Engineering,此外还有 TT control、万可、赫思曼、
易福门、派芬、德国控创、法国阿尔斯通、路斯特、 伦茨,科比,科控,SEW,丹佛斯、费斯托、
日立、三菱电机、欧姆龙、和利时、固高、中控集团,步科等业界巨头。
CoDeSys 的相关解决方案已经广泛应用于能源、交通、市政、冶金、化工、制药、食品、纺织、
包装、印刷、橡塑、机床和军工等行业,为用户使用基于 IEC 61131-3 国际标准编程语言进行项目
开发提供了一种技术先进、功能强大的开放式全集成化的编程开发环境。
本书的主要目的是要帮助广大 CoDeSys 产品使用者正确,快速的使用产品,书中比较详细的
介绍的软件的功能,对每个常用参数给予了详细的解释。
本书主要读者是针对产品的技术支持人员、项目开发、调试人员、现场设备维护人员,同时也
是和大专院校本科生、硕士生项目研发时作为参考资料。针对初学者的特点,全面细致的讲解了使
用 CoDeSys 编程软件进行编程和项目开发的各种技术,是零基础学者必备的图书。本书主要以
CoDeSys V3.x 为开发平台为基础进行讲解。
本书主要内容分四大部分进行讲解:
第一部分以 CoDeSys 基础介绍为主。针对 IEC 61131-3 标准的概念及背景、CoDeSys 软件的主
体结构(内部实时核及项目开发软件)及针对编程人员所使用的项目开发软件框架说明这三部分进
行讲解,让读者了解 CoDeSys 的基本概念、整体结构以及在实际工程项目中,CoDeSys 能实现的
具体功能。
第二部分以 CoDeSys 编程语言的语法介绍为主,也是本书的重点。分别对公共元素、数值表
示、数据类型及 6 种不同的编程语言的语句语法这四大部分进行详细说明,结合实际工程样例程序
让读者能更快,更好的掌握此部分的内容。
第三部分以 CoDeSys 人机界面(HMI)的制作介绍为主。分别对控件介绍及使用及变量映射两
部分进行讲解,让读者通过学习能够独立完成简单的画面制作项目。
第四部分以讲解完整的项目程序为主。由程序调试及常用技巧、仿真功能及项目程序讲解四部
分组成。通过这部分的学习,让读者能掌握从项目开发到程序调试及最终的项目完成这整个过程所
应具备的知识点,最终使读者具有较强的项目开发能力。
本文所有样例程序均基于 CoDeSys V3.5 SP7 版本进行编写。
为了便于读者学习和查阅相关技术参数和内容,本书附有 5 个附录,附录 A...
由于编者水平有限,书中难免有错误和不妥之处,尽情广大读者批评指正。
作者 E-Mail:luguojun007@yahoo.com
编者
2016 年 5 月
第1章 概述
本章主要知识点
IEC 61131-3 与 PLCopen 的关系
什么是软 PLC
CoDeSys 概述
软件的安装与卸载
1.1 IEC 61131-3 标准
由于 CoDeSys 是完全基于 IEC 61131 -3 标准所开发,所以在此需要引入 IEC 61131-3 的概念。
IEC 61131-3 编程语言标准是第一个为工业控制系统提供标准化编程语言的国际标准。该标准针对
工业控制系统所阐述的软件设计概念、模型等,适应当今世界软件、工业控制系统的发展方向,是
一种非常先进的设计技术。他极大的推动了工业控制系统软件设计的发展,对现场总线设备的软件
也产生了很大的影响。
1.1.1 IEC 61131简介
1993 年 3 月由国际电工委员会 IEC(International Electro-technical Commission)正式颁布可编
程控制器的国际标准 IEC 1131(1131 前面添加 6 后作为国际标准的编号,即 IEC 61131)。IEC
61131 标准将信息技术领域的先进思想和技术(如软件工程、结构化编程、模块化编程、面向对象
的思想及网络通信技术等)引入工业控制领域,弥补并克服了传统 PLC、DCS 等控制系统的弱点
(如开放性差、兼容性差、应用软件可维护性差以及可再用性差等特点)。目前 IEC 61131 标准已
经在欧美发达国家得到广泛应用,但在我国还尚处于起步阶段,由于近几年我国的工业水平也在飞
速的发展,在此过程中也会引入大量欧美国家的先进技术,相信不久的将来 IEC 61131 标准在国内
也会得到广泛应用。
IEC 61131 标准共有 8 个部分组成,各部分最新内容简介如下,
1) IEC 61131-1 通用信息(2003-V2.0): 定义可编程控制器及外围设备,如编程和调试工具
(PADA)、人机界面(HMI)等相关术语。
2) IEC 61131-2 设备特性(2007-V3.0):规定适用于可编程控制器及相关外围设备的工作环
境及条件,结构特性、安全性及试验的一般要求、试验方法和步骤等。
3) IEC 61131-3 编程语言(2013-V3.0)。规定可编程控制器编程语言的语法和语义,规定了 5
种编程语言,并通过形式定义、语法和(部分地)语义描述以及示例,定义了基本的软件模型。
4) IEC 61131-4 用户导则(2004-V2.0):规定了如系统分析、装置选择、系统维护等系统应
用中其他方面的参考。
5) IEC 61131-5 通信服务规范(2000-V1.0):规定了可编程控制器的通讯范围。包括关于不
同制造商的 PLC 彼此之间以及 PLC 和其他设备之间的通讯。
6) IEC 61131-6 功能安全(2012-V1.0):规定了用于 E/E/PE 安全相关系统的可编程控制器和
相关外围部件的要求。
7) IEC 61131-7 模糊控制编程(2000-V1.0):将编程语言与模糊控制的应用相结合。
8) IEC 61131-8 编程语言应用和实现导则(2003-V2.0):为了实现可编程控制器系统机器程
序支持的环境下编程语言的应用提供导则,为可编程控制器系统应用提供编程、组态、安装和维护
指南。
在我国,从 1995 年也颁布了 GB/T15969.1~GB/T15969.5、GB/T15969.7 和 GB/T15969.8 等 7
个可编程控制器的国家标准(功能安全部分还没有发布),以完成的国家标准等同于 IEC 61131-
1~IEC 61131-8 所对应的标准。