Modbus软件开发实战指南(第2版)
图书信息
| 作者 | 杨更更 |
| 出版社 | 清华大学出版社 |
| ISBN | 9787302588931 |
| 出版时间 | 2021-11-01 |
| 字数 | 10.8万 |
| 分类 | 科技,计算机,网络,软件系统 |
读书简介
Modbus是工业自动化领域广泛使用的通信协议之一,随着电子、计算机和通信技术的不断发展,特别是物联网以及“互联网 ”等概念的兴起,Modbus通信技术也从串行总线发展到了Modbus TCP,方兴未艾。为了让广大在校学生、工业控制和自动化工程师及技术人员了解Modbus协议的内涵,掌握Modbus通信技术的软件发方法,作者从初学者的角度,由浅深,循循善诱,以文字和图片相结合的方式撰写了本书。
目录
封面页
书名页
版权页
内容简介
第2版前言
第1章 初识Modbus
1.1 背景
1.2 模型
1.3 协议版本
1.4 通信设备
1.5 事务处理
1.6 专业术语
第2章 Modbus开发环境
2.1 虚拟串口软件
2.1.1 什么是虚拟串口软件
2.1.2 使用方法
2.2 Modbus Poll的使用
2.2.1 简介
2.2.2 功能
2.2.3 使用方法
2.3 Modbus Slave的使用
2.3.1 简介
2.3.2 功能
2.3.3 使用方法
2.4 Modbus Poll-Slave互联互通
2.5 Visual Studio 2015的安装
第3章 Modbus协议的相关知识
3.1 协议概要
3.2 Modbus寄存器
3.2.1 寄存器种类说明
3.2.2 寄存器地址分配
3.3 Modbus串行消息帧格式
3.3.1 ASCII消息帧格式
3.3.2 RTU消息帧格式
3.3.3 地址域
3.3.4 功能码域
3.3.5 数据域
3.4 Modbus差错校验
3.4.1 LRC校验
3.4.2 CRC校验
3.5 字节序和大小端
3.5.1 来历
3.5.2 为什么会有大小端
3.5.3 什么是“大端”和“小端”
3.6 Modbus TCP消息帧格式
3.6.1 协议描述
3.6.2 查询与响应报文示例
第4章 Modbus功能码详解
4.1 功能码概要
4.2 01(0x01)读取线圈/离散量输出状态
4.2.1 功能说明
4.2.2 查询报文
4.2.3 响应报文
4.2.4 借助工具软件观察和理解
4.3 02(0x02)读取离散量输入值
4.3.1 功能说明
4.3.2 查询报文
4.3.3 响应报文
4.4 03(0x03)读取保持寄存器值
4.4.1 功能说明
4.4.2 查询报文
4.4.3 响应报文
4.5 04(0x04)读取输入寄存器值
4.5.1 功能说明
4.5.2 查询报文
4.5.3 响应报文
4.6 05(0x05)写单个线圈或单个离散输出
4.6.1 功能说明
4.6.2 查询报文
4.6.3 响应报文
4.7 06(0x06)写单个保持寄存器
4.7.1 功能说明
4.7.2 查询报文
4.7.3 响应报文
4.8 08(0x08)诊断功能
4.8.1 功能说明
4.8.2 查询报文
4.8.3 响应报文
4.8.4 诊断子功能码
4.9 11(0x0B)获取通信事件计数器
4.9.1 功能说明
4.9.2 查询报文
4.9.3 响应报文
4.10 12(0x0C)获取通信事件记录
4.10.1 功能说明
4.10.2 查询报文
4.10.3 响应报文
4.11 15(0x0F)写多个线圈
4.11.1 功能说明
4.11.2 查询报文
4.11.3 响应报文
4.12 16(0x10)写多个保持寄存器
4.12.1 功能说明
4.12.2 查询报文
4.12.3 响应报文
4.13 17(0x11)报告从站ID(仅用于串行链路)
4.13.1 功能说明
4.13.2 查询报文
4.13.3 响应报文
4.14 Modbus异常响应
第5章 libmodbus开发库
5.1 功能概要
5.2 源码获取与编译
5.3 与应用程序的关系
第6章 libmodbus源代码解析
6.1 类型与结构定义
6.1.1 精细类型定义
6.1.2 常量定义
6.1.3 核心结构体定义之一
6.1.4 核心结构体定义之二
6.2 常用接口函数
6.2.1 各类辅助接口函数
6.2.2 各类Modbus功能接口函数
6.2.3 数据处理的相关函数或宏定义
6.3 RTU/TCP关联接口函数
6.3.1 RTU模式关联函数
6.3.2 TCP模式关联函数
6.4 部分内部函数详解
6.4.1 函数read_io_status()
6.4.2 函数read registers()
6.4.3 函数write_single()
6.4.4 函数modbus_mapping_new_start_address()
6.5 开发应用程序基本流程
第7章 完整RTU模式开发范例
7.1 开发RTU Master端
7.1.1 新建工程
7.1.2 添加开发库
7.1.3 添加应用源代码
7.1.4 代码调试
7.2 开发RTU Slave端
7.2.1 新建工程并添加开发库
7.2.2 添加应用源代码
第8章 完整TCP模式开发范例
8.1 开发TCP Client端
8.1.1 新建工程
8.1.2 添加开发库
8.1.3 添加应用源代码
8.1.4 代码调试
8.2 开发TCP Server端
8.2.1 新建工程并添加开发库
8.2.2 添加应用源代码
第9章 Visual Basic中使用libmodbus
9.1 函数调用约定与修饰名
9.1.1 函数调用约定
9.1.2 函数修饰名
9.1.3 调用约定的使用
9.2 模块定义文件
9.3 对libmodbus开发库的改造
9.3.1 添加__stdcall调用符
9.3.2 添加DEF模块定义文件
9.4 开发Visual Basic程序
9.4.1 创建新项目
9.4.2 添加函数描述文件
9.4.3 调用libmodbus库函数
第10章 Visual C#中使用libmodbus
10.1 开发Visual C#程序
10.1.1 创建新项目
10.1.2 添加函数描述文件
10.1.3 调用libmodbus库函数
10.2 基于C#的NModbus类库
10.2.1 什么是NModbus类库
10.2.2 NModbus类库用法
第11章 打造自己的Modbus调试工具
11.1 开发自己的Modbus Poll
11.1.1 软件需求分析
11.1.2 命令行解析功能
11.1.3 创建应用程序并调试
11.2 开发自己的Modbus Slave
11.2.1 软件需求分析
11.2.2 创建应用程序并调试
第12章 Java语言开发Modbus应用程序
12.1 开发环境的构建
12.1.1 安装Java开发环境
12.1.2 Java图形化开发工具
12.2 开发Modbus RTU程序
12.2.1 准备工作
12.2.2 代码编写和调试
12.3 开发Modbus TCP程序
第13章 Go语言开发Modbus应用程序
13.1 开发环境的构建
13.1.1 安装Go语言开发环境
13.1.2 Go语言图形化开发工具
13.2 开发Modbus应用程序
13.2.1 准备工作
13.2.2 代码编写和调试
参考文献
- 中华学生百科全书——控制论与自动化(读书堂)
- 502(暂无)
- 分开以后我变成了你喜欢的样子(Josie乔)
- 第11集 趋势定位:如何从消费市场往创业市场和资本市场转型(此商品为视频课程)(周导)
- ARM 9嵌入式开发基础与实例进阶(光盘内容另行下载,地址见书封底)(冯新宇)
- 文治帝国:大宋300年的世运与人物【畅销书《一看就停不下来的中国史》作者重磅新书!】(艾公子)
- 戒子的诗(戒子)
- 做事先做人(李元秀 主编)
