第1章 PLC概述 1
1.1 PLC的定义 1
1.2 PLC的特点 1
1.3 PLC的应用和发展 2
1.3.1 PLC的应用 2
1.3.2 PLC的发展趋势 3
1.4 PLC的基本组成结构 4
1.4.1 CPU 5
1.4.2 存储器 5
1.4.3 输入/输出部件 5
1.4.4 I/O扩展口 6
1.4.5 外设接口 6
1.5 PLC的工作原理 7
1.6 PLC相关技术指标 8
1.6.1 扫描速度(程序执行时间) 8
1.6.2 用户存储器 8
1.6.3 用户操作资源 8
1.6.4 过程映像区域大小(输入/输出地址) 8
1.6.5 指令功能 9
1.6.6 响应中断请求的能力 9
1.6.7 通信功能 9
第2章 S7硬件结构及特点 10
2.1 概述 10
2.2 S7-300系列PLC的组成部件 10
2.2.1 电源模块 10
2.2.2 中央处理单元(CPU模块) 11
2.2.3 数字量模块 13
2.2.4 模拟量模块 15
2.2.5 EX系列与F系列输入/输出模块 19
2.2.6 S7-300系列PLC的功能模块 19
2.2.7 称重模块SIWAREX 20
2.2.8 通信处理模块 20
第3章 硬件模块的安装 22
3.1 模块选型基本要点 22
3.2 安装导轨 23
3.3 硬件模块安装 23
3.4 PLC整机安装要求 24
3.5 S7-300 PLC硬件机架安装方式 24
3.6 PLCI/O模块地址分配 25
3.6.1 存储单元地址结构 25
3.6.2 通过硬件组态分配地址 25
3.6.3 基于槽号固定地址分配 27
3.6.4 用户自定义分配地址 28
第4章 STEP 7编程软件 29
4.1 STEP 7简介 29
4.2 STEP 7软件的安装 32
4.2.1 系统安装配置要求 32
4.2.2 安装步骤 32
4.3 授权管理器 35
4.3.1 许可证 36
4.3.2 许可证类型 36
4.3.3 授权操作 36
4.4 STEP 7操作功能 37
4.4.1 STEP 7窗口界面 37
4.4.2 项目结构 38
4.4.3 操作对象及操作功能 39
4.4.4 关于多语种文本库 41
4.5 STEP 7的使用设置 42
4.5.1 语言环境的选择 42
4.5.2 常规选项设置 43
4.5.3 PG/PC接口设置 44
4.6 创建一个PLC站 45
4.6.1 创建项目 45
4.6.2 硬件组态 46
4.6.3 硬件模块参数设置 48
4.7 程序运行 55
4.7.1 程序类型 55
4.7.2 用户程序组成 55
4.7.3 程序调用运行 56
第5章 编程语言 57
5.1 概述 57
5.2 数据类型 58
5.2.1 基本数据类型 58
5.2.2 复杂数据类型 61
5.3 参数类型及使用 65
5.3.1 参数化数据类型 65
5.3.2 B、C、T格式 66
5.3.3 POINTER格式 66
5.3.4 STEP 7指针格式 67
5.4 用户自定义数据类型(UDT) 68
5.4.1 创建UDT 69
5.4.2 UDT分配初始值 69
5.4.3 UDT作为参数 69
5.5 STEP 7寻址方式 70
5.5.1 立即寻址 70
5.5.2 直接寻址 70
5.5.3 存储器间接寻址 71
5.5.4 寄存器间接寻址 72
5.6 状态字与逻辑操作过程 72
5.6.1 状态字 72
5.6.2 逻辑操作过程 73
5.6.3 STEP 7可寻址范围 74
5.7 STEP 7编程指令 75
5.7.1 指令类型 75
5.7.2 指令功能 75
第6章 程序块 126
6.1 程序结构及程序块类型 126
6.1.1 可编辑程序块 126
6.1.2 系统块 127
6.1.3 块的调用 128
6.2 功能(FC) 129
6.2.1 FC的结构 129
6.2.2 FC的变量声明表 130
6.2.3 不带形参的FC 131
6.2.4 带有形参的FC 131
6.2.5 更新FC的调用 134
6.2.6 FC的嵌套调用 135
6.3 功能块(FB) 137
6.3.1 FB的变量声明表 137
6.3.2 FB和FB的背景数据块 138
6.3.3 FB的嵌套调用 140
6.4 库功能与功能块 142
第7章 数据块(DB) 143
7.1 数据块类型 143
7.1.1 全局数据块 143
7.1.2 背景数据块 145
7.1.3 基于UDT的数据块 146
7.2 数据块访问方式及合法性 148
7.2.1 数据块访问方式 148
7.2.2 数据块访问合法性 149
第8章 项目编程设计 151
8.1 PLC系统设计的方法 151
8.1.1 控制任务描述分析 151
8.1.2 了解和检测被控制对象 152
8.1.3 制定控制任务 152
8.1.4 对安全的要求 152
8.1.5 创建系统项目 152
8.2 程序设计方法 153
8.2.1 线性化编程 153
8.2.2 模块化编程 153
8.2.3 结构化编程 154
8.3 程序设计实例——工业搅拌控制系统 155
第9章 PLC工程项目调试 172
9.1 调试内容及工具 172
9.1.1 利用LED灯进行调试 172
9.1.2 硬件组态的调试 172
9.1.3 程序状态监控调试 176
9.1.4 利用Variables表工具调试 177
9.1.5 利用模块信息调试 179
9.1.6 交叉参考数据表 185
9.1.7 程序块比较 189
9.2 项目调试过程 190
第10章 PLCSIM仿真工具 193
10.1 PLCSIM简介 193
10.2 PLCSIM的安装使用 193
10.3 S7-PLCSIM的特点 196
10.4 PLCSIM与真实PLC的区别 197
第11章 功能模块的使用 199
11.1 高速计数器 199
11.1.1 高速计数器的工作原理 199
11.1.2 高速计数器的应用场合 199
11.1.3 高速计数器的连接信号 199
11.1.4 脉冲信号的采集方式 200
11.1.5 高速计数器的工作模式 201
11.1.6 高速计数器的计数条件 202
11.2 CPU31XC集成高速计数器 203
11.3 FM350-1计数模块 206
11.4 FM350-2计数模块 225
11.5 定位模块 243
11.5.1 FM354伺服电动机控制模块 244
11.5.2 FM354模块的输入/输出接口 244
11.5.3 FM354模块的工作模式 245
11.5.4 FM354的硬件组态 246
11.5.5 机械参数 247
11.5.6 SM增量表的配置 253
11.5.7 WZK工具补偿参数的配置 253
11.5.8 VP自动程序的编写 253
11.6 FM355 PID模块 256
11.6.1 FM355系统配置及参数设置 256
11.6.2 FM355模块的程序编写 260
第12章 OB和系统块应用实例 263
12.1 OB 263
12.1.1 OB的类型 263
12.1.2 改变优先级 265
12.2 OB的结构 265
12.3 OB事件处理 266
12.3.1 循环程序处理 266
12.3.2 事件驱动的程序处理 267
12.3.3 线性编程与结构化编程 268
12.3.4 程序块之间的调用关系 268
12.4 组织块应用案例 270
12.4.1 启动组织块 270
12.4.2 时间中断组织块 271
12.4.3 延时中断组织块 276
12.4.4 循环中断组织块 279
12.4.5 硬件中断组织块 284
12.4.6 错误组织块 288
12.4.7 诊断中断组织块 290
12.4.8 机架故障组织块OB86 293
12.4.9 通信错误组织块OB87 293
12.4.10 编程故障组织块 294
12.4.11 I/O访问故障组织块 294
12.4.12 系统功能(SFC)和系统功能块(SFB) 294
第13章 西门子工业网络通信 302
13.1 工业网络通信类型 302
13.2 MPI网络特点 303
13.2.1 MPI编程接口 304
13.2.2 PLC之间MPI的通信方式 304
13.2.3 MPI通信应用实例 309
13.3 PROFIBUS通信协议 319
13.3.1 概述 319
13.3.2 PROFIBUS的接口种类 319
13.3.3 PROFIBUS的访问机制 320
13.3.4 PROFIBUS通信速率与通信距离 320
13.4 PROFIBUS-DP网络应用 320
13.4.1 PROFIBUS-DP网络配置 320
13.4.2 PROFIBUS-DP通信方式 326
13.5 PROFIBUS-DP连接变频器从站的应用 328
13.5.1 网络配置要求 328
13.5.2 硬件组态配置 329
13.5.3 通信程序的编写 331
13.6 PROFIBUS-FDL通信 333
13.6.1 两个S7-300站的PROFIBUS-FDL通信 334
13.6.2 FDL通信在不同S7-300项目中的应用 336
13.7 FMS通信方式 337
13.7.1 FMS通信概述 337
13.7.2 S7 PLC之间的FMS通信 338
13.8 工业以太网 347
13.8.1 PLC以太网接口种类 347
13.8.2 工业以太网数据传输介质 348
13.8.3 工业以太网通信协议与服务 348
13.8.4 S7-300/400工业以太网通信 349
13.8.5 应用实例 353
第14章 InTouch组态软件的应用 355
14.1 组态软件概述 355
14.2 组态软件的系统构成 356
14.3 InTouch组态软件简介 357
14.4 InTouch软件安装配置 357
14.5 使用InTouch创建应用程序 358
14.5.1 InTouch应用程序管理器使用 358
14.5.2 范例程序介绍——工业搅拌系统 359
14.5.3 创建范例程序 360
14.6 WindowMaker的使用 360
14.6.1 WindowMaker窗口及窗口对象介绍 360
14.6.2 WindowMaker开发环境配置 362
14.7 使用WindowMaker窗口及窗口对象 363
14.8 WindowViewer的使用 373
14.8.1 配置运行环境 373
14.8.2 使用WindowViewer窗口 377
第15章 InTouch通信驱动建立与通信诊断 379
15.1 InTouch通信方式概述 379
15.2 支持的通信协议 379
15.3 OPC的背景 380
15.4 OPC的基本原理 381
15.5 建立通信驱动 382
15.6 常见的几种通信配置 385
15.6.1 使用I/O Server通信 385
15.6.2 使用DAServer(MPI和TCP/IP)通信 397
15.7 DAServer通信软件的通信诊断功能介绍 410
第16章 创建运行系统标记名 412
16.1 InTouch标记名字典功能简介 412
16.2 InTouch标记名类型 412
16.3 定义标记名和属性设置 414
16.3.1 定义标记名名称 414
16.3.2 定义标记名详细资料 415
16.3.3 定义标记名报警条件 430
16.4 标记名点域介绍 434
16.5 标记浏览器的使用 434
16.6 交叉引用程序 435
16.7 删除标记名字典中的标记名 439
16.8 替换标记名 441
16.9 远程标记名引用 441
16.10 转换占位符标记名 443
16.11 动态地址引用 444
16.12 标记名导入/导出 445
16.13 工业搅拌系统标记名部分 446
第17章 创建运行系统界面 448
17.1 概述 448
17.2 动画链接对象及类型 448
17.3 创建各种动画链接 448
17.3.1 创建触动链接 448
17.3.2 创建显示链接 453
17.4 工业搅拌系统画面部分 463
第18章 InTouch的脚本系统功能 469
18.1 InTouch脚本类型 469
18.2 脚本编辑器的使用 469
18.3 各种脚本程序介绍 472
18.4 脚本语法 476
18.4.1 基本文法 476
18.4.2 变量和常量 477
18.4.3 表达式和运算符 478
18.4.4 程序流程控制 480
18.5 QuickFunction 482
18.6 系统内置脚本函数介绍 484
18.7 脚本编辑器错误消息 492
18.8 导入脚本程序 495
18.9 工业搅拌系统脚本部分 496
第19章 InTouch系统集成功能 500
19.1 报警和事件 500
19.1.1 报警和事件相关概念概述 500
19.1.2 报警摘要与报警历史 502
19.2 分布式报警数据库概述 505
19.3 配置报警系统 514
19.4 报警/事件客户端控件的使用 519
19.4.1 Alarm Viewer ActiveX控件 519
19.4.2 Alarm DB View ActiveX控件 527
19.4.3 Alarm Tree Viewer ActiveX控件 531
19.5 InTouch实用程序使用 541
19.5.1 Alarm Printer实用程序 541
19.5.2 Alarm DB Logger实用程序 546
19.5.3 Alarm DB Purge/Archive实用程序 550
19.5.4 Alarm DB Restore实用程序 553
19.5.5 AlarmSuite History Migration实用程序 555
19.5.6 配方管理器(Recipe Manager)实用程序 556
19.5.7 Alarm Hot Backup Manager(报警热备份)实用程序 573
19.5.8 InTouch Application Publisher 577
19.6 实时趋势和历史趋势 578
19.6.1 实时趋势 579
19.6.2 历史趋势 581
19.7 SQL访问器使用介绍 590
19.7.1 访问器功能概述 590
19.7.2 创建绑定列表 594
19.7.3 创建及配置表格模板 597
19.8 安全性 620
19.8.1 安全性类型 620
19.8.2 安全内部标记名和安全相关函数 620
19.8.3 基于InTouch的安全性 621
19.8.4 基于操作系统的安全性 624
19.8.5 基于ArchestrA的安全性 625
19.9 范例——工业搅拌系统 626
第20章 InTouch网络服务 632
20.1 InTouch网络架构 632
20.1.1 独立式应用程序 632
20.1.2 分布式应用——基于客户端的架构 632
20.1.3 基于服务器的架构 633
20.2 网络应用程序开发 634
20.2.1 配置网络 635
20.2.2 排解网络疑难 635
20.2.3 配置InTouch公共数据源 636
20.3 配置应用程序的NAD步骤 640
20.4 自定义NAD更新功能 643
20.5 配置应用程序的动态分辨率转换(DRC) 644
第21章 InTouch数据采集应用 646
21.1 数据采集概述 646
21.2 利用DDE通信协议对现场数据采集并写入到Excel 647
附录1 硬件模块问题 650
附录2 电气接线常见问题 656
附录3 STEP 7软件问题 661
附录4 程序问题 667
附录5 通信问题 676
附录6 数据/WEB服务器常见问题 692
附录7 InTouch问题 694