第1章 西门子S7-200 PLC介绍 1
1.1 S7-200的构成 1
1.1.1 CPU模块 2
1.1.2扩展模块 3
1.1.3人机界面 7
1.2 S7-200 PLC的安装 7
1.2.1 S7-200设备安装指南 7
1.2.2 S7-200模块的安装与拆卸 8
1.2.3接地及接线指南 10
1.3 S7-200 PLC的工作方式 11
1.3.1 S7-200 PLC的工作模式 11
1.3.2 S7-200 PLC的工作过程 11
第2章 编程及仿真软件的使用 14
2.1 STEP7-Micro/WIN安装与升级 14
2.1.1系统要求 14
2.1.2软件安装 15
2.1.3软件升级 15
2.2 STEP7-Micro/WIN的使用 15
2.2.1软件界面 16
2.2.2项目文件 17
2.2.3系统组态(系统块) 18
2.2.4创建项目 26
2.2.5编辑程序 29
2.2.6程序编译及下载 37
2.3 S7-200仿真软件 39
2.3.1仿真软件简介 39
2.3.2仿真软件使用 39
第3章 功能指令预备知识 43
3.1编程语言简介 43
3.1.1梯形图(LAD)编程语言 43
3.1.2语句表(STL)编程语言 44
3.1.3功能图(FBD)编程语言 44
3.2 S7-200的存储性能 44
3.2.1 S7-200的存储区类型 45
3.2.2 S7-200的数据格式 48
3.2.3 S7-200的系统状态字 49
3.3 S7-200的寻址方式 50
3.3.1直接寻址 51
3.3.2间接寻址 52
3.3.3 I/O寻址 53
第4章 基本指令系统 54
4.1位逻辑指令 54
4.1.1触点指令 54
4.1.2线圈指令 56
4.1.3逻辑堆栈指令 58
4.1.4程序案例 60
4.2定时器指令 61
4.2.1接通延时定时器(TON) 63
4.2.2有记忆接通延时定时器(TONR) 64
4.2.3断开延时定时器(TOF) 65
4.2.4时间间隔定时器 65
4.2.5程序案例 66
4.3计数器指令 69
4.3.1增计数器(CTU) 71
4.3.2减计数器(CTD) 71
4.3.3增/减计数器(CTUD) 72
4.3.4程序案例 73
第5章 传送与比较指令 77
5.1传送指令 77
5.1.1普通传送指令 77
5.1.2字节立即传送指令 79
5.1.3块传送指令 80
5.1.4字节交换指令 82
5.2比较指令 83
5.2.1字节比较指令 83
5.2.2整数比较指令 85
5.2.3双字比较指令 86
5.2.4实数比较指令 87
5.2.5字符串比较指令 89
5.3程序实例 90
第6章 程序控制指令 93
6.1程序结构和流程 93
6.1.1程序组件 93
6.1.2程序设计方法 94
6.2系统指令 95
6.2.1条件结束指令 96
6.2.2停止指令 96
6.2.3监视程序复位指令 97
6.2.4诊断LED指令 98
6.3循环控制 99
6.3.1循环指令FOR—NEXT 99
6.3.2循环程序编制 101
6.4跳转 105
6.4.1跳转指令 105
6.4.2跳转程序编制 106
6.5顺序控制 108
6.5.1分支控制 110
6.5.2合并控制 112
6.6子程序调用 113
6.6.1子程序指令 113
6.6.2子程序编制 116
6.7中断服务 120
6.7.1 S7-200支持的中断类型 120
6.7.2中断指令 121
6.7.3理解中断连接和中断分离指令 122
6.7.4中断优先级和中断队列 124
6.7.5中断程序编制 125
6.8程序实例 127
第7章 数值运算指令 130
7.1 S7-200的数据格式 130
7.2整数运算指令 132
7.2.1整数四则运算指令 132
7.2.2双整数四则运算指令 134
7.2.3增指令 135
7.2.4减指令 136
7.3实数运算指令 138
7.3.1实数四则运算指令 138
7.3.2三角函数指令 139
7.3.3数学功能指令 140
7.4逻辑运算指令 141
7.4.1逻辑与指令 142
7.4.2逻辑或指令 143
7.4.3逻辑异或指令 145
7.4.4取反指令 147
7.5程序实例 148
第8章 数据处理指令 150
8.1数制与码制 150
8.1.1数制 150
8.1.2码制 151
8.1.3码制转换指令 151
8.2编码与译码指令 152
8.3标准转换指令 154
8.3.1数字转换指令 154
8.3.2四舍五入指令和取整指令 155
8.3.3段码指令 157
8.4 ASCII码转换指令 158
8.4.1数值至ASCII码转换指令 158
8.4.2 ASCII码与十六进制转换指令 162
8.5字符串转换指令 164
8.5.1数值至字符串转换指令 164
8.5.2字符串至数值转换指令 168
8.6字符串处理指令 170
8.6.1字符串长度指令 170
8.6.2字符串复制指令 171
8.6.3字符串连接指令 172
8.6.4从字符串中复制字符串指令 173
8.6.5字符串搜索指令 174
8.6.6字符搜索指令 175
8.7表处理指令 176
8.7.1填表指令 176
8.7.2先进先出指令 177
8.7.3后进先出指令 178
8.7.4存储器填充指令 179
8.7.5查表指令 180
8.8程序实例 182
第9章 移位指令 185
9.1左/右移位指令 185
9.1.1左移位指令 185
9.1.2右移位指令 186
9.2循环移位指令 189
9.2.1循环左移位指令 189
9.2.2循环右移位指令 190
9.3移位寄存器指令 192
9.4程序实例 194
第10章 高速计数指令 196
10.1 S7-200内部高速计数器 196
10.1.1高速计数器介绍 196
10.1.2高速计数器的控制 197
10.1.3高速计数器的工作模式 199
10.1.4高速计数器的工作原理 202
10.2高速计数器编程 205
10.2.1高速计数器指令 205
10.2.2高速计数器的初始化 205
10.2.3高速计数器的程序编写 208
10.2.4高速计数器的指令向导 210
10.3程序实例 213
第11章 运动控制指令 218
11.1 PLC运动控制技术 218
11.1.1运动控制的概念 218
11.1.2运动控制技术的基本要素 218
11.1.3 S7-200的运动控制功能 219
11.2高速脉冲输出指令 220
11.2.1 PLS脉冲输出指令 220
11.2.2脉冲串输出 222
11.2.3脉宽调制 223
11.2.4包络表计算 224
11.3运动控制术语 225
11.3.1最大速度和启动/停止速度 225
11.3.2加速和减速时间 226
11.3.3组态移动包络 227
11.4位置控制向导 228
11.4.1 PTO位置控制向导 228
11.4.2 PWM位置控制向导 238
11.5位置控制模块EM253 240
11.5.1位控模块的特性 240
11.5.2位控模块的编程 242
11.5.3位控模块的组态 242
11.5.4位控指令应用指导 254
11.5.5位控模块程序实例 263
11.5.6位控指令及位控模块错误代码 268
11.6程序实例 270
第12章 通信指令及协议库 273
12.1 S7-200 CPU的通信方式 273
12.1.1 PPI通信方式 273
12.1.2 MPI通信方式 273
12.1.3 Profibus通信方式 274
12.1.4 ProfiNet通信方式 274
12.1.5自由口通信方式 275
12.2 PPI网络通信指令 275
12.2.1网络读/写指令 275
12.2.2网络读/写指令向导 280
12.3自由口通信指令 283
12.3.1发送和接收指令 283
12.3.2端口地址指令 291
12.4 USS通信协议库 292
12.4.1 USS协议简介 292
12.4.2 USS指令库 292
12.4.3连接和设置4系列MicroMaster驱动 298
12.5 Modbus通信协议库 299
12.5.1 Modbus协议简介 299
12.5.2 Modbus协议使用 300
12.5.3 S7-200 Modbus RTU主站指令库 302
12.5.4 S7-200 Modbus RTU从站指令库 305
12.5.5 Modbus主站协议高级应用 307
12.6程序实例 308
第13章 时钟及PID指令 313
13.1时钟指令 313
13.1.1读/写时钟指令 313
13.1.2扩展读/写时钟指令 314
13.2 PID指令 316
13.2.1 S7-200 PID功能 316
13.2.2 S7-200 PID算法 317
13.2.3 PID指令 319
13.2 4 PID指令向导 324
13.25 PID自整定 328
13.3程序实例 331
第14章 配方及数据记录 334
14.1配方 334
14.1.1概述 334
14.1.2配方向导 334
14.2数据记录(归档) 340
14.2.1概述 340
14.2.2数据记录向导 341
14.3程序实例 345
附录A CPU错误代码 349
附录B 特殊存储器(SM)标志位 353
附录C 电源计算 368
参考文献 371