C#ModBus Tcp 报文解析

 

上一篇博客已经完成 C#ModBus Tcp Master的实现

本篇主要对不同的功能码所发出的报文进行解析(包括请求报文及响应报文)

读操作

功能码 0x01 读一组线圈 读取站号为1 从地址12开始的10个线圈

测试结果

上一篇博客已经总结了读操作报文格式,就按照格式划分

报文解析:

注意:报文中线圈起始地址 00000 对应设备中 10001 地址,其他顺延

功能码0x02 报文格式与功能码0x01一致,只是第八字节的功能码变为02 其他完全一致,不再重复解析

功能码0x03 读一组保持寄存器 读取站号为1 从地址12开始的10个值

报文解析:

功能码0x04 报文格式与功能码0x03一致,只是第八字节的功能码变为04 其他完全一致,也不再重复解析

写操作

操作码:0x05 写单个线圈  将站号为1 地址为21的线圈置为On

注意:在报文中 指定线圈通断标志  FF00 置线圈为ON  0000置线圈为OFF

报文解析:

功能码0x0F 写一组线圈  将站号1 起始地址21  的连续五个线圈置为 通,断,断,通,通

测试结果:

报文解析:

功能码 0x06  写单个保持寄存器  将6666写入从站1 地址为21 的保持寄存器中

测试结果

报文解析:

功能码0x10  写一组保持寄存器   例如 将12 23 34 45 56 67 78 分别写入从站1 起始地址为21的7个连续的保持寄存器中

测试结果

报文解析:

到此为止,我们常用的几个ModBus功能码报文都解析完毕了 有错误之处 希望大家不吝赐教,感谢(抱拳~)

C#ModBus Tcp Master

最新文章

  1. 矩阵快速幂 HDU 4565 So Easy!(简单?才怪!)
  2. WPF textblock加入超链接
  3. sqlalchemy mark-deleted 和 python 多继承下的方法解析顺序 MRO
  4. git命令使用记录
  5. css/js(工作中遇到的问题)-3
  6. SQLServer大数据优化方法若干
  7. 在CentOS上搭建PHP服务器环境
  8. [水煮 ASP.NET Web API2 方法论](3-5)路由约束
  9. jmeter笔记5
  10. DBNull
  11. C# DataTable 转换成JSON数据
  12. 【模板小程序】循环方阵构造(仿《剑指offer》循环矩阵打印)
  13. Qt 如何使用 QImage 设置指定的颜色为透明色?
  14. Python基础__字符串拼接、格式化输出与复制
  15. 提取PPT文件中的Vba ProjectStg Compressed Atom。Extract PPT VBA Compress Stream
  16. Luogu5245 【模板】多项式快速幂(多项式exp)
  17. 用U盘制作并安装WIN10 64位原版系统的详细教程(该方法应该适用于任何一版的原版操作系统)
  18. Spark SQL读写方法
  19. Spring MVC 编程流程步骤
  20. java项目打成jar包使用

热门文章

  1. C# ado.net 使用task和await(四)
  2. BZOJ 2458: [BeiJing2011]最小三角形 (分治)
  3. python--openCV--图像处理
  4. nginx之location模式
  5. Java的消息机制
  6. Git 提交代码和更新代码
  7. HDU 1024 Max Sum Plus Plus ——(M段区间的最大和)
  8. HDU 2176 取(m堆)石子游戏 —— (Nim博弈)
  9. Light Switching(SPOJ LITE)—— 线段树成段更新异或值
  10. HTML5调用本地摄像头画面,拍照,上传服务器