《西门子S7-300/400 PLC编程 语句表和结构化控制语 言描述 第3版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(德)伯杰(Berger,H.)著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:7115175373
  • 页数:546 页
图书介绍:西门子的S7 300/400是应用最广的大中型PLC。本书从S7 300/400的介绍、基本功能、数字功能、程序流控制以及程序处理等四个方面详细叙述了S7 300/400的STL和SCL编程语言及其使用方法。在介绍了S7-300/400后,本书提供了STEP 7用于SIMATIC PLC的组态、连网和编程的基本操作,这些都是面向实际的也是十分有价值的。有关二进制控制的“基本功能”描述,如逻辑运算或存储功能,定时器、计数器的使用,对于初学者或那些由接触器控制转到STEP 7的人来说是非常有用的。数字功能解释了数字量是如何处理的,如基本运算、比较或数据类型转换等。对S7-300/400的网络组态进行了详细的描述。本书还详细说明了如何用STL和SCL控制程序执行过程(程序流)和设计结构化程序。除了周期性执行的主程序外,用户也可以用事件驱动程序段来改变控制器在开始时以及出错或有误差时的控制。本书的最后给出了系统功能一览和STL和SCL功能集。本书具体阐述了STEP 7编程软件5.3 SP1版。 本书注重实际,强调应用,可供工程技术人员自学和STEP 7培训教材使用,对S7 300/400的广大

第一部分 导论 2

第1章 SIMATIC S7-300/400可编程序控制器 2

1.1 可编程序控制器的结构 2

1.1.1 部件 2

1.1.2 S7-300工作站 4

1.1.3 S7-400工作站 5

1.1.4 SIMATIC的容错 6

1.1.5 SIMATIC的安全性 6

1.1.6 CPU的存储空间 8

1.2 分布式I/O 12

1.2.1 DP主系统 12

1.2.2 DP主站 13

1.2.3 DP从站 13

1.2.4 更多网络部件 14

1.2.5 与PROFIBUS PA的连接 15

1.2.6 与AS接口的连接 16

1.2.7 与串行接口的连接 17

1.3 通信 17

1.3.1 引言 17

1.3.2 子网络 19

1.3.3 通信服务 21

1.3.4 连接 22

1.4 模块地址 22

1.4.1 信号通路 22

1.4.2 插槽地址 23

1.4.3 模块起始地址 24

1.4.4 诊断地址 24

1.4.5 总线节点地址 25

1.5 地址空间 25

1.5.1 用户数据空间 25

1.5.2 过程映像 26

1.5.3 用户数据的一致性 27

1.5.4 位存储区 28

第2章 STEP 7编程软件 29

2.1 STEP 7基本软件包 29

2.1.1 安装 29

2.1.2 自动化认证管理器 29

2.1.3 SIMATIC管理器 30

2.1.4 项目与库 33

2.1.5 多重项目 34

2.1.6 在线帮助 34

2.2 编辑项目 34

2.2.1 创建项目 35

2.2.2 管理、重组与归档 36

2.2.3 项目版本号 37

2.2.4 创建与编辑多重项目 37

2.3 组态工作站 38

2.3.1 安排模块 40

2.3.2 模块编址 40

2.3.3 设置模块参数 41

2.3.4 带有MPI的连网模块 41

2.3.5 监控与修改模块 42

2.4 网络组态 42

2.4.1 网络浏览组态 44

2.4.2 用网络设置组态DP主系统 44

2.4.3 连接组态 45

2.4.4 网络转换 48

2.4.5 加载连接数据 49

2.4.6 多重项目中的项目匹配 49

2.5 创建S7程序 51

2.5.1 引言 51

2.5.2 符号表 52

2.5.3 STL程序编辑器 53

2.5.4 SCL程序编辑器 58

2.5.5 重新配线 61

2.5.6 地址优先级 62

2.5.7 参考数据 63

2.5.8 多种语言注释和显示文本 65

2.6 在线模式 66

2.6.1 连接PLC 66

2.6.2 保护用户程序 67

2.6.3 CPU信息 68

2.6.4 用户程序加载到CPU 69

2.6.5 块处理 69

2.7 程序测试 72

2.7.1 硬件诊断 72

2.7.2 确定STOP的原因 72

2.7.3 监控和修改变量 73

2.7.4 强制变量 74

2.7.5 外部输出启用 76

2.7.6 STL程序状态 76

2.7.7 监控和修改数据地址 78

2.7.8 调试SCL程序 79

第3章 SIMATIC S7程序 82

3.1 程序处理 82

3.1.1 程序处理方法 82

3.1.2 优先级 83

3.1.3 程序处理的详细说明 85

3.2 块 87

3.2.1 块类型 87

3.2.2 块结构 88

3.2.3 块属性 89

3.2.4 块接口 92

3.3 变量寻址 94

3.3.1 变量的绝对寻址 94

3.3.2 间接寻址 95

3.3.3 变量的符号寻址 96

3.4 用STL编程代码块 97

3.4.1 STL语句的结构 97

3.4.2 递增式编程代码块 98

3.4.3 视图窗口 99

3.4.4 网络编程 100

3.4.5 STL代码块的基于源文件的编程 101

3.5 编程SCL代码块 105

3.5.1 SCL语句的结构 105

3.5.2 编程SCL代码块 106

3.6 编程数据块 110

3.6.1 递增式编程数据块 110

3.6.2 基于源文件的数据块编程 113

3.7 变量和常量 114

3.7.1 变量的一般声明 114

3.7.2 数据类型概要 115

3.7.3 基本数据类型 116

3.7.4 复杂数据类型 119

3.7.5 参数类型 119

第二部分 基本功能 122

第4章 二进制逻辑运算 122

4.1 处理二进制逻辑运算 122

4.2 基本二进制逻辑运算 125

4.2.1 AND功能 125

4.2.2 OR功能 125

4.2.3 XOR功能 127

4.3 逻辑运算结果取反 128

4.4 组合二进制逻辑运算 129

4.4.1 处理嵌套表达式 129

4.4.2 根据OR组合AND功能 130

4.4.3 根据AND组合OR和XOR 131

4.4.4 根据XOR组合AND功能 131

4.4.5 组合OR功能和XOR功能 132

4.4.6 嵌套表达式取反 132

第5章 存储功能 134

5.1 赋值 134

5.2 置位和复位 134

5.3 RS触发器功能 136

5.3.1 复位优先的存储功能 136

5.3.2 置位优先的存储功能 136

5.3.3 二进制逻辑运算中的存储功能 137

5.4 边沿检测 138

5.4.1 正跳变边沿 138

5.4.2 负跳变边沿 139

5.4.3 测试脉冲存储位 140

5.4.4 二进制逻辑运算中的边沿检测 140

5.4.5 二进制分频器 141

5.5 传送带控制系统举例 141

第6章 传送功能 145

6.1 加载和传送数据概要 145

6.2 加载功能 147

6.2.1 加载功能的一般表示 147

6.2.2 加载存储器单元的内容 148

6.2.3 加载常量 149

6.3 传送功能 149

6.3.1 传送功能的一般表示 149

6.3.2 传送到各个存储器区域 150

6.4 累加器功能 151

6.5 累加器1中的字节交换 152

6.6 用于数据传送的系统功能 152

6.6.1 复制存储器区域 154

6.6.2 变量的不可中断复制 155

6.6.3 存储器区域的初始化 155

6.6.4 复制STRING变量 156

6.6.5 读取加载存储器 156

6.6.6 写入加载存储器 157

第7章 定时器功能 159

7.1 定时器编程 159

7.1.1 启动定时器 159

7.1.2 确定定时时间 159

7.1.3 复位定时器 161

7.1.4 启用定时器 161

7.1.5 检查定时器 161

7.1.6 定时器指令的顺序 162

7.1.7 时钟发生器举例 163

7.2 脉冲定时器 163

7.3 扩展脉冲定时器 166

7.4 通电延时定时器 168

7.5 保持型通电延时定时器 170

7.6 断电延时定时器 172

7.7 IEC定时器功能 174

7.7.1 脉冲发生器SFB 3 TP 175

7.7.2 通电延时SFB 4 TON 176

7.7.3 断电延时SFB 5 TOF 176

第8章 计数器功能 177

8.1 计数器的置位和复位 177

8.2 计数 178

8.3 计数器检测 179

8.4 启用计数器 179

8.5 计数器指令的顺序 181

8.6 IEC计数器功能 182

8.6.1 加计数器SFB 0 CTU 182

8.6.2 减计数器SFB 1 CTD 183

8.6.3 加/减计数器SFB 2 CTUD 183

8.7 零件计数器举例 183

第三部分 数字功能 188

第9章 比较功能 188

9.1 比较功能的一般表示法 188

9.2 比较功能说明 189

9.3 逻辑运算中的比较功能 191

第10章 算术功能 193

10.1 算术功能的一般表达法 193

10.2 整型数计算 194

10.3 双整型数计算 195

10.4 实型数计算 196

10.5 逐次算术功能 197

10.6 累加器1加常量 198

10.7 自增和自减 199

第11章 数学功能 201

11.1 数学功能的处理过程 201

11.2 三角函数功能 202

11.3 反三角函数功能 202

11.4 其他数学功能 203

第12章 转换功能 205

12.1 转换功能的处理过程 205

12.2 整型数与双整型数转换 206

12.3 BCD码的转换 207

12.4 实型数的转换 207

12.5 其他转换功能 209

第13章 移位功能 210

13.1 移位功能的处理过程 210

13.2 移位 212

13.3 循环 213

第14章 字逻辑 215

14.1 字逻辑的处理过程 215

14.2 字逻辑运算说明 217

第四部分 程序流程控制 220

第15章 状态位 220

15.1 状态位说明 220

15.2 状态位和二进制标志位的设置 223

15.3 状态位检测 226

15.4 使用二进制结果 228

第16章 跳转功能 230

16.1 跳转功能的编程 230

16.2 无条件跳转 231

16.3 使用RLO和BR的跳转功能 231

16.4 使用CC0和CC1的跳转功能 233

16.5 使用OV和OS的跳转功能 234

16.6 跳转分配器 235

16.7 循环跳转 236

第17章 主控继电器 237

17.1 MCR相关性 237

17.2 MCR范围 238

17.3 MCR区域 238

17.4 I/O位的置位与复位 241

第18章 块功能 242

18.1 代码块的块功能 242

18.1.1 块调用概述 242

18.1.2 CALL调用语句 243

18.1.3 UC和CC调用语句 244

18.1.4 块结束功能 245

18.1.5 暂态局部数据 246

18.1.6 静态局部数据 248

18.2 数据块的块功能 250

18.2.1 两个数据块寄存器 251

18.2.2 访问数据地址 252

18.2.3 打开数据块 254

18.2.4 交换数据块寄存器 255

18.2.5 数据块的长度和数量 255

18.2.6 数据寻址中的特殊点 255

18.3 用于数据块的系统功能 257

18.3.1 在工作存储器内生成数据块 258

18.3.2 在加载存储器内生成数据块 259

18.3.3 删除数据块 260

18.3.4 检测数据块 260

18.4 空操作 260

18.4.1 空操作NOP语句 260

18.4.2 程序显示语句 261

第19章 块参数 262

19.1 块参数概述 262

19.1.1 块参数定义 262

19.1.2 块参数处理 263

19.1.3 块参数声明 263

19.1.4 功能值声明 265

19.1.5 块参数初始化 265

19.2 形参 266

19.3 实参 269

19.4 传递块参数 272

19.5 举例 273

19.5.1 传送带举例 273

19.5.2 零件计数器举例 274

19.5.3 给料举例 275

第五部分 程序处理 280

第20章 主程序 280

20.1 程序组织 280

20.1.1 程序结构 280

20.1.2 程序组织 281

20.2 扫描周期控制 282

20.2.1 过程映像更新 282

20.2.2 扫描周期监控时间 284

20.2.3 最小扫描周期和背景扫描 285

20.2.4 响应时间 286

20.2.5 启动信息 287

20.3 程序功能 288

20.3.1 时间 288

20.3.2 读系统时钟 291

20.3.3 运行时间表 291

20.3.4 CPU存储器的压缩 293

20.3.5 等待与停止 293

20.3.6 多处理器模式 293

20.4 通过分布式I/O通信 294

20.4.1 分布式I/O寻址 295

20.4.2 组态分布式I/O 299

20.4.3 用于分布式I/O的特殊功能 305

20.4.4 用于分布式I/O的系统功能 309

20.5 全局数据通信 314

20.5.1 基础知识 314

20.5.2 组态GD通信 317

20.5.3 用于GD通信的系统功能 319

20.6 S7的基本通信 319

20.6.1 工作站内部的S7基本通信 319

20.6.2 用于工作站内部交换数据的系统功能块 320

20.6.3 工作站外的S7基本通信 322

20.6.4 工作站外S7基本通信的系统功能 323

20.7 S7通信 325

20.7.1 基础 325

20.7.2 双向数据交换 327

20.7.3 单向数据交换 329

20.7.4 传送打印数据 330

20.7.5 控制功能 331

20.7.6 监控功能 332

20.8 S7-300C的点对点通信 336

20.8.1 基础 336

20.8.2 ASCII驱动器与3964(R)进程 337

20.8.3 RK512计算机链接 338

20.9 运行中组态 342

20.9.1 变更组态的准备 343

20.9.2 变更组态 343

20.9.3 加载组态 344

20.9.4 CiR同步时间 344

20.9.5 对程序执行的影响 345

20.9.6 控制CiR进程 345

第21章 中断处理 346

21.1 概要 346

21.2 日历中断 347

21.2.1 处理日历中断 348

21.2.2 用STEP 7组态日历中断 349

21.2.3 用于日历中断的系统功能 350

21.3 延时中断 351

21.3.1 延时中断处理 352

21.3.2 用STEP 7组态延时中断 352

21.3.3 延时中断的系统功能 353

21.4 看门狗中断 354

21.4.1 处理看门狗中断 355

21.4.2 用STEP 7组态看门狗中断 356

21.5 硬件中断 356

21.5.1 产生硬件中断 357

21.5.2 硬件中断服务 358

21.5.3 用STEP 7组态硬件中断 358

21.6 DPV1中断 358

21.7 多处理器中断 360

21.8 同步周期中断 361

21.8.1 处理同步周期中断 362

21.8.2 过程映像等时更新 363

21.8.3 用STEP 7组态同步周期中断 363

21.9 处理中断事件 363

21.9.1 禁止与启用中断 364

21.9.2 延时与允许延时的中断 365

21.9.3 读取附加中断信息 365

第22章 重启特性 368

22.1 概要 368

22.1.1 操作模式 368

22.1.2 HOLD模式 369

22.1.3 禁止输出模块 369

22.1.4 组织块重启动 370

22.2 上电 370

22.2.1 STOP模式 370

22.2.2 存储器复位 371

22.2.3 保持性 371

22.2.4 重启参数 372

22.3 重启类型 372

22.3.1 启动模式 372

22.3.2 冷重启 373

22.3.3 温重启 375

22.3.4 热重启 375

22.4 确定模块地址 376

22.5 模块参数化 378

22.5.1 模块参数化概述 378

22.5.2 设置模块参数的系统块 379

22.5.3 传送数据记录的块 381

第23章 出错处理 384

23.1 同步错误 384

23.2 同步错误处理 386

23.2.1 错误过滤器 387

23.2.2 屏蔽同步错误 387

23.2.3 取消屏蔽同步错误 388

23.2.4 读取错误寄存器 388

23.2.5 输入替换值 389

23.3 异步错误 389

23.4 系统诊断 392

23.4.1 诊断事件与诊断缓冲器 392

23.4.2 写诊断缓冲器的用户入口 392

23.4.3 识别诊断中断 393

23.4.4 读系统状态表 395

第六部分 变量处理 398

第24章 数据类型 398

24.1 基本数据类型 398

24.1.1 基本数据类型的声明 398

24.1.2 BOOL、BYTE、WORD、DWORD、CHAR 399

24.1.3 数字表示法 400

24.1.4 时间表示法 402

24.2 复杂数据类型 403

24.2.1 日历DATE_AND_TIME 404

24.2.2 字符串STRING 405

24.2.3 数组ARRAY 406

24.2.4 STRUCT 408

24.3 用户自定义数据类型 409

24.3.1 用户自定义数据类型的递增式编程 410

24.3.2 面向源文件的用户自定义数据类型的编程 410

第25章 间接寻址 412

25.1 指针 412

25.1.1 区指针 412

25.1.2 DB指针 414

25.1.3 ANY指针 414

25.2 STL中间接寻址的类型 415

25.2.1 概述 415

25.2.2 间接寻址 416

25.2.3 存储器间接寻址 416

25.2.4 区内寄存器间接寻址 417

25.2.5 跨区寄存器间接寻址 419

25.2.6 总结 419

25.3 使用地址寄存器 420

25.3.1 加载地址寄存器 420

25.3.2 从地址寄存器传送 420

25.3.3 交换地址寄存器 420

25.3.4 添加到地址寄存器 422

25.4 间接寻址的特殊特征 423

25.4.1 使用地址寄存器AR1 423

25.4.2 使用地址寄存器AR2 425

25.4.3 对于静态局部数据的限制 425

第26章 直接变量存取 427

26.1 加载变量地址 427

26.2 变量的数据存储 429

26.2.1 在全局数据块中存储 429

26.2.2 在实例数据块中存储 429

26.2.3 在暂态局部数据中存储 432

26.3 参数传递时的数据存储 432

26.3.1 功能中的参数存储 432

26.3.2 功能块中的参数存储 434

26.3.3 ANY指针“变量” 435

26.4 消息帧举例的简要描述 437

第七部分 结构化控制语言 446

第27章 SCL编程语言简介 446

27.1 在SIMATIC中集成 446

27.1.1 安装 446

27.1.2 创建项目 446

27.1.3 编辑SCL源文件 446

27.1.4 完成符号表 448

27.1.5 编译SCL程序 448

27.1.6 加载SCL块 448

27.1.7 测试SCL块 449

27.1.8 地址和数据类型 449

27.1.9 数据类型形式 450

27.2 寻址 452

27.2.1 绝对寻址 452

27.2.2 符号寻址 453

27.2.3 SCL中的间接寻址 453

27.3 运算符 454

27.4 表达式 455

27.4.1 算术表达式 455

27.4.2 比较表达式 456

27.4.3 逻辑表达式 457

27.5 赋值 458

27.5.1 基本数据类型的赋值 458

27.5.2 DT和STRING变量的赋值 458

27.5.3 结构的赋值 458

27.5.4 赋值数组 458

第28章 控制语句 460

28.1 IF语句 460

28.2 CASE语句 461

28.3 FOR语句 462

28.4 WHILE语句 463

28.5 REPEAT语句 463

28.6 CONTINUE语句 464

28.7 EXIT语句 464

28.8 RETURN语句 465

28.9 GOTO语句 465

第29章 SCL块 467

29.1 SCL块概述 467

29.2 编程SCL块 467

29.2.1 没有功能值的功能FC 468

29.2.2 具有功能值的功能FC 468

29.2.3 功能块FB 469

29.2.4 暂态局部数据 470

29.2.5 静态局部数据 471

29.2.6 块参数 471

29.2.7 形参 472

29.3 调用SCL块 473

29.3.1 没有功能值的功能FC 474

29.3.2 有功能值的功能FC 474

29.3.3 具有自己数据块的功能块 474

29.3.4 作为局部实例的功能块 475

29.3.5 实参 476

29.4 EN/ENO机理 476

29.4.1 OK变量 477

29.4.2 ENO输出 477

29.4.3 EN输入 478

第30章 SCL功能 479

30.1 定时器功能 479

30.2 计数器功能 480

30.3 数学功能 481

30.4 移位和循环 482

30.5 转换功能 483

30.5.1 隐式转换功能 483

30.5.2 显式转换功能 484

30.6 用SCL编程用户自己的功能 485

30.7 使用STL编程用户自己的功能 488

30.8 SCL举例的简介 489

30.8.1 传送带举例 489

30.8.2 消息帧举例 490

30.8.3 普通举例 490

第31章 IEC功能 492

31.1 转换功能 492

31.2 比较功能 494

31.3 STRING功能 496

31.4 日期/日历功能 497

31.5 数值功能 499

第八部分 附录 502

第32章 S5/S7转换器 502

32.1 概述 502

32.2 准备 503

32.2.1 在目标系统(PLC)上检验可执行度 503

32.2.2 检验程序执行属性 503

32.2.3 检验模块 505

32.2.4 检验地址 506

32.3 转换 507

32.3.1 创建宏 507

32.3.2 准备转换 508

32.3.3 开始转换 509

32.3.4 可转换的功能 509

32.4 后置编辑 511

32.4.1 创建STEP 7项目 511

32.4.2 不可转换的功能 511

34.4.3 地址变化 512

32.4.4 间接寻址 512

32.4.5 访问“太长的”数据块 515

32.4.6 用绝对地址工作 515

32.4.7 参数初始化 515

32.4.8 特殊功能组织块 515

32.4.9 出错处理 517

第33章 程序块库 518

33.1 组织块 518

33.2 系统功能块 520

33.3 IEC功能块 525

33.4 S5-S7转换块 526

33.5 TI-S7转换块 528

33.6 PID控制块 529

33.7 通信模块 530

33.8 其他各种块 530

第34章 STL运算概述 531

34.1 基本功能 531

34.1.1 二进制逻辑运算 531

34.1.2 存储器功能 532

34.1.3 传送功能 532

34.1.4 定时器功能 534

34.1.5 计数器功能 534

34.2 数值功能 534

34.2.1 比较功能 534

34.2.2 数学功能 535

34.2.3 算术功能 535

34.2.4 转换功能 535

34.2.5 移位功能 536

34.2.6 字逻辑运算 536

34.3 程序流控制 537

34.3.1 跳转功能 537

34.3.2 主控继电器 537

34.3.3 块功能 537

34.4 间接寻址 538

第35章 SCL语句和功能概述 540

35.1 运算 540

35.2 控制语句 540

35.3 块调用 540

35.4 SCL标准功能 541

35.4.1 定时器功能 541

35.4.2 计数器功能 541

35.4.3 转换功能 542

35.4.4 数学功能 543

35.4.5 移位和循环 544

缩写词 545