第1篇 初探 2
第1章 TIA博途软件和S7-1200/1500初探 2
1.1 自动化发展概况 2
1.2 西门子集成自动化和产品体系简介 4
1.3 S7-1200/1500介绍 5
1.3.1 S7-1200/1500在SIMATIC S7体系中的位置 5
1.3.2 S7-1200特点介绍 6
1.3.3 S7-1500特点介绍 6
1.4 TIA博途软件介绍 7
1.4.1 TIA博途软件的特点 7
1.4.2 TIA博途软件的结构和版本 9
1.4.3 TIA博途软件的支持软件 10
1.4.4 TIA博途软件的授权 10
第2篇 PLC技术基础 12
第2章 电气控制基础 12
2.1 常用的电气控制元件 12
2.1.1 保护(配电)器件 12
2.1.2 接触器 15
2.1.3 继电器 17
2.1.4 主令电器 17
2.2 电气控制系统简单实例 18
第3章 PLC控制基础 20
3.1 从继电器(接触器)到PLC控制 20
3.2 PLC的硬件结构 21
3.3 PLC程序运行原理 23
3.3.1 程序循环机制 23
3.3.2 编程语言 24
3.3.3 CPU的结构和运行原理 25
3.3.4 存储器的编址与变量 30
3.3.5 变量类型 31
3.3.6 OB块简介 32
3.3.7 DB块简介 32
3.3.8 FC块简介 32
3.3.9 FB块简介 36
3.3.10 UDT简介 39
3.4 现场总线与分布式IO简介 39
3.4.1 PROFIbus现场总线简介 40
3.4.2 PROFInet网络简介 40
第4章 梯形图、基础指令和执行原理 43
4.1 梯形图语言基础 43
4.2 位操作指令 44
4.2.1 常开、常闭和“与”逻辑 44
4.2.2 取反和“或”逻辑 46
4.2.3 置位、复位、置位优先触发器(RS)和复位优先触发器(SR) 47
4.2.4 上升沿检测和下降沿检测 49
4.3 S5定时器指令 51
4.3.1 脉冲定时器(S_PULSE) 51
4.3.2 扩展脉冲定时器(S_PEXT) 53
4.3.3 延迟输出定时器(S_ODT) 55
4.3.4 带记忆的延迟输出定时器(S_ODTS) 56
4.3.5 关断延迟定时器(S_OFFDT) 57
4.4 S5计数器指令 58
4.4.1 向上计数器 58
4.4.2 向下计数器 59
4.4.3 上下计数器 60
第3篇 TIA软件和S7-1200/1500 PLC基础 62
第5章 TIA软件的基本操作 62
5.1 软件的视图 62
5.2 软件的常用操作 63
5.2.1 项目的创建、打开、关闭、移植、压缩和解压缩 63
5.2.2 软件中的帮助系统和撤销功能 66
5.2.3 软件的升级 67
5.3 软件的窗体 68
5.3.1 窗体的划分 68
5.3.2 项目树中的操作 70
5.3.3 窗口的基本操作 72
5.3.4 各部分窗口的配合与软件的使用思路 75
第6章 硬件操作 77
6.1 硬件组态和在线设置概述 77
6.2 在线设置 78
6.2.1 接口(Interface)的设置 78
6.2.2 对硬件模块的在线设置 79
6.3 硬件组态 84
6.3.1 创建设备 84
6.3.2 组态CPU机架 85
6.3.3 组态分布式设备 88
6.3.4 配置PROFInet参数和建立PROFInet连接 89
6.4 硬件组态的编译与下载 91
6.4.1 编译 91
6.4.2 下载 93
6.5 常用模块的硬件配置 96
6.5.1 S7-1500 PLC的PS电源与PM电源模块 96
6.5.2 S7-1500 PLC的CPU模块的属性设置 98
6.5.3 EP200SP的组态和使用 105
6.5.4 模拟量输入与输出模块的配置和使用 106
6.6 与硬件配置有关的其他操作 109
6.6.1 硬件组态和程序的上传 109
6.6.2 CPU机架的探测功能 110
6.6.3 GSD文件的加载 112
6.6.4 硬件库的更新 115
6.6.5 自动附加IP功能的说明 115
第7章 程序操作 117
7.1 程序编辑的基本方法 117
7.1.1 程序块的创建 117
7.1.2 程序块的在线、编译、下载、上传、比较 118
7.1.3 程序块的加密与保护 121
7.1.4 程序编辑界面的基本操作 122
7.1.5 变量的拖曳 124
7.2 OB块 126
7.2.1 程序循环、错误中断、时间中断的触发条件 127
7.2.2 OB100的调用条件和S7-1200/1500的启动 129
7.2.3 OB80的触发条件 130
7.2.4 硬件中断的触发条件 130
7.2.5 诊断中断的触发条件 132
7.2.6 优化的OB块 132
7.3 S7-1200/1500下的数据类型 134
7.3.1 基础数据类型 134
7.3.2 PLC数据类型(UDT) 135
7.3.3 数组(Array) 136
7.3.4 结构体(Struct) 137
7.4 变量(tags) 137
7.4.1 变量(tags)的管理 138
7.4.2 在变量(tags)中新建变量 139
7.4.3 变量表中的几种特殊情况和提示 140
7.4.4 变量断电保持属性的设置 141
7.4.5 变量的HMI访问属性 142
7.4.6 变量(tags)的更名与内置ID机制 144
7.4.7 变量(tags)中的监控功能 144
7.4.8 常量和新建常量 144
7.4.9 系统常量 145
7.5 DB块 146
7.5.1 DB块的类型 146
7.5.2 在DB块中建立变量 147
7.5.3 DB块中数据的属性 147
7.5.4 DB块调试功能之快闪(Snapshot)系列功能 149
7.5.5 优化DB块之存储方式改变 150
7.5.6 优化DB块之下载而不初始化功能 152
7.6 FC块与FB块 156
7.6.1 FC块 156
7.6.2 FB块 156
7.6.3 FC块和FB块的更新 158
7.7 工艺指令 159
7.8 数组的使用和FC/FB块中Variant类型接口参数的讨论和实例 159
第8章 TIA博途软件指令 165
8.1 TIA博途软件指令的新特征 165
8.1.1 更加灵活的梯形图画法 165
8.1.2 更加灵活的指令选择和参数配置 165
8.1.3 “使能输出端”的可选择性 166
8.1.4 隐形转换和指令接口参数的添加 167
8.2 位逻辑指令 167
8.3 定时器指令 170
8.4 计数器指令 175
8.5 比较指令 178
8.6 数学指令 180
8.7 移动指令 181
8.8 转换指令 184
8.9 程序控制指令 186
8.10 字逻辑运算指令 188
8.11 位移指令 190
第9章 调试方法 192
9.1 程序的监控和相关功能 192
9.1.1 一般程序块的监控和相关功能 192
9.1.2 在调用选择下FB块的监控 193
9.2 监控变量和强制IO 194
9.2.1 监控变量 194
9.2.2 强制IO 198
9.3 查看资源分配列表 200
9.4 变量的交叉检索 201
9.5 调用结构与调用层级的查看 204
9.6 离线与在线的比较 204
9.6.1 离线与在线的比较功能实操 204
9.6.2 对不一致程序块的处理 206
9.6.3 对程序细节的离线与在线的比较 206
9.7 变量跟踪 207
9.7.1 变量跟踪的原理 207
9.7.2 变量跟踪的触发模式 208
9.7.3 变量跟踪的组态 208
9.7.4 变量跟踪的实际操作 210
9.7.5 采用数据的保存与导出 212
第10章 错误(故障)的处理、诊断与程序诊断 214
10.1 PLC错误(故障)综述 214
10.2 PLC的在线诊断 215
10.3 PLC的程序诊断 219
10.3.1 基于指令的诊断 220
10.3.2 基于OB块的诊断 226
第11章 HMI相关操作 229
11.1 HMI设备的新建和连接设置 230
11.1.1 新建HMI设备和HMI设计的框架 230
11.1.2 HMI与PLC通信的设置 230
11.2 HMI变量 234
11.3 画面与控件 237
11.3.1 画面的设计与管理 237
11.3.2 控件的使用 238
11.4 报警的管理和配置 243
11.5 HMI中的常用特殊功能 246
11.5.1 HMI与CPU之间的状态汇报 246
11.5.2 HMI与PLC的时间同步 248
11.5.3 将CPU的诊断信息显示在HMI上 249
第12章 SCL语言与Graph语言 254
12.1 SCL语言 254
12.1.1 SCL编辑环境和调试工具 254
12.1.2 SCL语言中的指令 255
12.1.3 SCL语言中的控制结构 257
12.2 Graph语言 260
12.2.1 Graph语言程序介绍 261
12.2.2 Graph语言程序块的建立和运行原理 262
12.2.3 顺控图与顺控图的编辑 266
12.2.4 单步编辑 269
12.2.5 互锁和监控的报警 273
第13章 故障安全和安全型PLC的使用 276
13.1 故障安全简介 276
13.2 TIA博途软件中故障安全的设置 280
13.2.1 安全模块的硬件组态和设置 281
13.2.2 硬件组态的下载和模块端F目标地址的设置 287
13.2.3 安全程序的创建、编写、编译与下载 290
第4篇 编程经验与PLC技术漫谈 296
第14章 设计与编程经验漫谈 296
14.1 组建一个控制系统 296
14.2 输入、状态、输出三层级的编程与分析方法 297
14.2.1 方法概述 297
14.2.2 举升机控制实例之状态变量的创建 297
14.2.3 举升机控制实例之状态变量的定义 299
14.2.4 举升机控制实例之状态变量决定输出 305
14.3 论程序的层次与结构 306
第15章 编程技巧 310
15.1 利用Excel批量编辑简单的语句表指令 310
15.2 源文件操作 315
第16章 展望“工业4.0”与《中国制造2025》下的PLC技术 318