C#ModBus Tcp 报文解析
2019-05-10 21:26
246 查看
上一篇博客已经完成 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功能码报文都解析完毕了 有错误之处 希望大家不吝赐教,感谢(抱拳~)
相关文章推荐
- modbus TCP IP功能码及报文解析
- C#使用TCP/IP与ModBus进行通讯
- modbus TCP 示例报文
- 浅谈C#使用TCP/IP与ModBus进行通讯
- C#使用TCP/IP与ModBus进行通讯
- modbus tcp数据报文结构详解
- TCP-IP协议族(二) HTTP报文头解析
- TCP-IP协议族(二) HTTP报文头解析
- C#使用TCP/IP与ModBus进行通讯
- C#实现 CAT021报文格式解析
- C#使用TCP/IP与ModBus进行通讯
- TCP报文首部、三次握手与四次挥手以及四种定时器解析
- 转载一个很经典的--C# Socket TCP和UDP报文及端口测试工具的开发(提供源码)
- TCP-IP协议族(二) HTTP报文头解析
- 清晰易懂TCP通信原理解析(附demo、简易TCP通信库源码、解决沾包问题等)C#版
- 解析HTTP报文——C#
- ModBus Ethernet TCP C# 通讯例程
- C#中开发之Socket网络编程TCP/IP层次模型、端口及报文等探讨
- TCP报文解析
- C#开发之Socket网络编程TCP/IP层次模型、端口及报文等探讨