前言:

最近在研究Modbus开发,如果只是简单的了解了一些modbus基础知识,但是不够系统和全面。

其实,modbus虽然比较简单,但是如果不注意有很多坑,
特别是寄存器的位数,大小端处理,浮点数,长整数的处理等等。
目前也没有什么合适的书籍系统介绍,帮助理解的。

刚刚搜了一下,只有最近清华出版的《Modbus软件开发实战指南》不错,
应该是Modbus开发方面第一书,很系统很全面。 
内容着重讲述如何快速入门并精通Modbus软件开发技术,
适用于初学Modbus通信协议的读者,可以看看。

清华出版社的链接:http://www.tup.tsinghua.edu.cn/booksCenter/book_07379901.html

京东 / 淘宝搜索:Modbus软件开发实战指南

modbus应该算入门级的bus了,学好了这个,就可以对其他如canbus,profibus,HART,fieldbus等等,进行深入研究。不过,网上的东西不错,但是过于零零碎碎了,不好系统学习。其实,modbus虽然比较简单,但是如果不注意有很多坑, 特别是寄存器的位数,大小端处理,浮点数,长整数的处理等等。 目前也没有什么合适的书籍系统介绍,帮助理解的。

选取部分样章发送,需要的评论里留下邮箱。不过,还是建议购买系统地学习Modbus。

内容简介:

在物联网和互联网+的时代,不懂Modbus如何玩转物联网?Modbus是工业自动化领域使用最广泛的通信协议之一,随着电子、计算机和通信技术的不断发展,特别是物联网以及“互联网+”等概念的兴起,Modbus通信技术也从串行总线发展到了Modbus TCP,方兴未艾。为了让广大在校学生、工业控制和自动化工程师、技术人员了解Modbus协议的内涵,特别是彻底掌握Modbus通信技术的软件开发方法,作者从初学者的角度,由浅入深,循循善诱,以文字和画面相结合的方式撰写了本书。
本书分为11章,依次介绍了Modbus协议,特别是功能码消息帧的定义,然后从软件开发的角度,详细介绍了辅助调试工具、软件开发环境的构筑,重点介绍和解析了libmodbus开发库的源代码,以及使用libmodbus在不同语言环境下的开发技巧。阅读本书,可快速入门并精通Modbus软件开发技术。作为一本软件技术开发指南的书籍,本书不仅仅局限于Modbus通信协议,对其他通信协议的软件开发也有很强的参考价值。
目录:
本书着重讲述如何快速入门并精通Modbus软件开发技术,适用于初学Modbus通信协议的读者。如果你想用C/C++语言开发Modbus通信库,如果你想用其它语言(如Visual Basic、Visual C#)开发Modbus应用程序,如果你想从事物联网或Modbus测试开发,本书干货满满,值得一读。[1] 
第1章初识Modbus1
1.1背景2
1.2模型4
1.3协议版本4
1.4通信设备6
1.5事务处理6
1.6专业术语9
第2章Modbus开发环境11
2.1虚拟串口软件12
2.1.1什么是虚拟串口软件12
2.1.2使用方法13
2.2ModbusPoll的使用16
2.2.1简介16
2.2.2功能17
2.2.3使用方法18
2.3ModbusSlave的使用21
2.3.1简介21
2.3.2功能22
2.3.3使用方法232.4ModbusPollSlave互联互通24
2.5VisualStudio2015的安装28
第3章Modbus协议的相关知识31
3.1协议概要32
3.2Modbus寄存器34
3.2.1寄存器种类说明34
3.2.2寄存器地址分配35
3.3Modbus串行消息帧格式35
3.3.1ASCII消息帧格式36
3.3.2RTU消息帧格式36
3.3.3地址域38
3.3.4功能码域39
3.3.5数据域39
3.4Modbus差错校验39
3.4.1LRC校验40
3.4.2CRC校验42
3.5字节序和大小端49
3.5.1来历49
3.5.2为什么会有大小端50
3.5.3什么是“大端”和“小端”51
3.6ModbusTCP消息帧格式53
3.6.1协议描述53
3.6.2查询与响应报文例56
第4章Modbus功能码详解59
4.1功能码概要60
4.201(0x01)读取线圈/离散量输出状态61
4.2.1功能说明61
4.2.2查询报文61
4.2.3响应报文62
4.2.4借助工具软件观察和理解63
4.302(0x02)读取离散量输入值72
4.3.1功能说明72
4.3.2查询报文72
4.3.3响应报文73
4.403(0x03)读取保持寄存器值74
4.4.1功能说明74
4.4.2查询报文74
4.4.3响应报文75
4.504(0x04)读取输入寄存器值76
4.5.1功能说明76
4.5.2查询报文76
4.5.3响应报文77
4.605(0x05)写单个线圈或单个离散输出78
4.6.1功能说明78
4.6.2查询报文79
4.6.3响应报文79
4.706(0x06)写单个保持寄存器80
4.7.1功能说明80
4.7.2查询报文80
4.7.3响应报文81
4.808(0x08)诊断功能82
4.8.1功能说明82
4.8.2查询报文82
4.8.3响应报文83
4.8.4诊断子功能码84
4.911(0x0B)获取通信事件计数器87
4.9.1功能说明87
4.9.2查询报文87
4.9.3响应报文88
4.1012(0x0C)获取通信事件记录89
4.10.1功能说明89
4.10.2查询报文89
4.10.3响应报文90
4.1115(0x0F)写多个线圈91
4.11.1功能说明91
4.11.2查询报文91
4.11.3响应报文92
4.1216(0x10)写多个保持寄存器93
4.12.1功能说明93
4.12.2查询报文93
4.12.3响应报文95
4.1317(0x11)报告从站ID(仅用于串行链路)96
4.13.1功能说明96
4.13.2查询报文96
4.13.3响应报文97
4.14Modbus异常响应97
第5章libmodbus开发库101
5.1功能概要102
5.2源码获取与编译102
5.3与应用程序的关系109
第6章libmodbus源码解析111
6.1类型与结构定义112
6.1.1精细类型定义112
6.1.2常量定义114
6.1.3核心结构体定义之一115
6.1.4核心结构体定义之二120
6.2常用接口函数122
6.2.1各类辅助接口函数122
6.2.2各类Modbus功能接口函数126
6.2.3数据处理的相关函数或宏定义131
6.3RTU/TCP关联接口函数132
6.3.1RTU模式关联函数133
6.3.2TCP模式关联函数135
6.4部分内部函数详解135
6.4.1函数read_io_status()135
6.4.2函数read_registers()141
6.4.3函数write_single()144
6.4.4函数modbus_mapping_new_start_
address()147
6.5开发应用程序基本流程151
第7章完整RTU模式开发范例153
7.1开发RTUMaster端154
7.1.1新建工程154
7.1.2添加开发库155
7.1.3添加应用源代码158
7.1.4代码调试166
7.2开发RTUSlave端169
7.2.1新建工程并添加开发库169
7.2.2添加应用源代码169
第8章完整TCP模式开发范例173
8.1开发TCPClient端174
8.1.1新建工程174
8.1.2添加开发库176
8.1.3添加应用源代码177
8.1.4代码调试186
8.2开发TCPServer端189
8.2.1新建工程并添加开发库189
8.2.2添加应用源代码189
第9章VisualBasic中使用libmodbus193
9.1函数调用约定与修饰名194
9.1.1函数调用约定194
9.1.2函数修饰名196
9.1.3调用约定的使用198
9.2模块定义文件198
9.3对libmodbus开发库的改造200
9.3.1添加__stdcall调用符200
9.3.2添加DEF模块定义文件201
9.4开发VisualBasic程序204
9.4.1创建新项目204
9.4.2添加函数描述文件205
9.4.3调用libmodbus库函数213
第10章VisualC#中使用libmodbus217
10.1开发VisualC#程序218
10.1.1创建新项目218
10.1.2添加函数描述文件219
10.1.3调用libmodbus库函数226
10.2基于C#的NModbus类库230
10.2.1什么是NModbus类库230
10.2.2NModbus类库用法232
第11章打造自己的Modbus调试工具237
11.1开发自己的ModbusPoll238
11.1.1软件需求分析238
11.1.2命令行解析功能240
11.1.3创建应用程序并调试246
11.2开发自己的ModbusSlave270
11.2.1软件需求分析270
11.2.2创建应用程序并调试272
参考文献284

推荐一本书:清华出版的《Modbus软件开发实战指南》相关推荐

  1. modbus软件开发实战指南_C++核心准则?GSL:指南支持库

    GSL: Guidelines support library GSL:指南支持库 The GSL is a small library of facilities designed to suppo ...

  2. 好书推荐——《Modbus软件开发实战》

    技术类书籍写得好不好,一个评价标准是看作者是不是为读者而写的,有的书直接翻译英文用户手册,或者复制别的书里的内容,可能作者都没琢磨过.有的书自说自话,堆砌内容,读者觉得难以理解的知识点,作者却一带而过 ...

  3. CEF 桌面软件开发实战

    作者介绍 刘晓伦liulun,资深桌面端开发工程师.目前在一家大型国有控股上市公司任职,主要负责桌面端产品的核心技术研发.重难点技术攻关,以及新技术的预研和技术储备工作,拥有十几年的软件开发经验,在 ...

  4. 《嵌入式 – GD32开发实战指南》第18章 CRC

    开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 18.1 CRC的校验原理 循环冗余校验(CRC)计算单元是根据固定的生成多项式得到任一32 ...

  5. 《嵌入式 – GD32开发实战指南》第12章 ADC

    开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 12.1 ADC工作原理 GD32F2系列有 3 个逐次逼近型的ADC,精度为 12 位,有 ...

  6. 《嵌入式 – GD32开发实战指南》第14章 内部温度传感器

    开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 14.1内部温度传感器工作原理 GD32 有一个内部的温度传感器,可以用来测量 CPU 及周 ...

  7. 嵌入式系统Linux内核开发实战指南(ARM平台) 书评

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! < ...

  8. 《嵌入式 – GD32开发实战指南》第20章 GD32的存储结构

    开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 20.1 GD32存储结构的工作原理 20.1.1 Cortex-M内核的存储器映射 存储器 ...

  9. 《嵌入式 – GD32开发实战指南》第17章 看门狗

    开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK GD32 有两个看门狗,一个是独立看门狗,另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看 ...

  10. 《嵌入式 – GD32开发实战指南》第6章 按键

    开发环境: MDK:Keil 5.30 MCU:GD32F207IK 6.1普通方式 6.1.1普通方式工作原理 按键 GPIO 端口有两个方案可以选择,一是采用上拉输入模式,因为按键在没按下的时候, ...

最新文章

  1. Windows内存管理学习笔记(二)—— 物理内存的管理
  2. Linux系统下如何挂载FAT32的U盘
  3. matplotlib新版本下的霍兰德人格分析雷达图
  4. osx php7 imagick,[PHP] MacOS 自带php环境安装imagick扩展踩坑记录 | 码农部落
  5. 利用bootstrap插件设置时间
  6. 如何在DevSecOps道路上快速、安全地抵达终点
  7. 输入python出现商店_Win 10 中使用 Python 碰到的奇怪现象
  8. Linux环境编程:fork系统调用及其陷阱 - 内存复用,文件不复用
  9. Python正则表达式查找最长数字子串(好未来2017笔试题)
  10. 年轻就是程序员的资本?我不敢苟同!
  11. Ros无法自动补全命令的解决
  12. MooTools 1.4 源码分析 - Fx
  13. selenium打开浏览器报错问题
  14. php程序员中文,php中文网“php程序员工具箱” v0.1版本上线
  15. PS2021下载Photoshop2021下载安装详细步骤
  16. matlab 每日学习 fft2 ifft2函数
  17. java课程设计 博客园_201521123098 JAVA课程设计
  18. NepCTF2022 Writeup
  19. [安全攻防进阶篇] 五.逆向分析之Win32 API获取及加解密目录文件、OllyDbg逆向其原理
  20. 《计算机网络(第七版)谢希仁 编著》第一章内容总结及部分解题

热门文章

  1. 用命令更改电脑静态IP或自动获取IP地址
  2. hdu 1269 迷宫城堡(trajan判环)
  3. 【PS图像处理】修改图层中文字图形的颜色
  4. c语言if的作用,c语言if语句的用法
  5. “白帽子”是怎么炼成的——从菜鸟走过来的心路历程
  6. 计算机毕业设计Java校友闲置书籍管理平台(源码+系统+mysql数据库+Lw文档)
  7. msconfig设置windows启动项
  8. jsonp 跨域 java_Java web支持jsonp跨域
  9. php音乐地址外链,音乐外链地址的获取
  10. pcr扩增的原理和步骤