Modbus TCP 示例报文
调试modbus tcp 整理百度文库文档如下
《modbus-tcp-报文举例分析》
《MODBUSTCP通讯报文》
Client request:
19 B2 00 00 00 06 06 03 00 27 00 02
上面是modbus客户端发出的报文内容,为modbus tcp/ip协议格式,其前面的六个字节为头字节( header handle);
19 B2 00 00 00 06
19 B2 两个字节是Client发出的检验信息,Sever端只是需要将这两个字节的内容copy以后再放到response的报文的相应位子就可以了
00 00 两个字节是表示tcp/ip 的协议的modbus的协议;
00 06 两个字节表示的是header handle后面还有多长的字节,即表示的是该字节以后的字节长度(lengch),可以看到在00 06后面还有 “06 03 00 27 00 02”六个字节,所以这两个字节表示的就是6;
PDU:
“06 03 00 27 00 02”
06 一个字节表示slave address;
03 为Fuction code ;
00 27 表示Client request的寄存器地址;
00 02 表示request 寄存器的长度;(寄存器个数)
Server response:
19 B2 00 00 00 07 06 03 04 00 00 00 00
Header handle : “ 19 B2 00 00 00 07”
19 B2 为Server返回的检验码,copy from Client request;
其它的表示与客户端的表示相同
PDU:
“ 06 03 04 00 00 00 00”
06 是Slave address,从地址数;
03是Function code ;
04表示了回复给Client request的需要读的寄存器的值的个数,这里因为主地址向从地址读了2个寄存器即2个16位的寄存器(2个字)所以这里为4个字节,因为2个字为4个字节,而04这个字节表示的就是从地址要回复给主地址的寄存器字节长度,
00 00 00 00 表示了4个字节的值
ModBusTcp与串行链路Modbus的数据域是一致的,具体数据域可以参考串行modbus。这里给出几个ModbusTcp的链路解析说明,辅助新人分析报文。
1、数据请求
|
97 76 00 00 00 06 04 04 00 7D 00 7D |
||||
|
示例 |
长度 |
说明 |
备注 |
|
|
Map报文头 |
0x97 |
1 |
事务处理标识符Hi |
客户机发起,服务器复制,用于事务处理配对 |
|
0x96 |
1 |
事务处理标识符Lo |
||
|
0x0000 |
2 |
协议标识符号 |
客户机发起,服务器复制 Modbus协议 = 0. |
|
|
0x0006 |
2 |
长度 |
从本字节下一个到最后 |
|
|
0x04 |
1 |
单元标识符 |
客户机发起,服务器复制 串口链路或其他总线上远程终端标识 |
|
|
功能码 |
0x04 |
1 |
功能码,读寄存器 |
参考标准modbus协议 |
|
数据 |
0x007D |
2 |
起始地址 |
|
|
0x 007D |
2 |
寄存器数量 |
||
|
校验 |
||||
2、数据请求回复
|
97 76 00 00 00 FD 04 04 FA AB 9E 41 18 7A E1 3F 94 7A E1 3F 94 0A 3D 3F 97 51 EC 3F 98 CC CD C0 6C 33 33 C0 E3 CC CD C0 EC EB 85 41 F1 D7 0A 41 E9 47 AE 41 ED EB 85 41 F1 19 9A 43 D0 E6 66 43 C9 4C CD 43 CF EB 85 41 F3 66 66 42 0F CC CD 41 C2 E6 66 44 0A 1E B8 41 FB A3 D7 42 0C CC CD 41 BC C0 00 44 0A B8 52 41 F6 5C 29 42 0F 47 AE 41 D1 C6 66 44 0A 00 00 00 00 C9 9E FF 7F C9 9E FF 7F C9 9E FF 7F C9 9E FF 7F C9 9E FF 7F C9 9E FF 7F C9 9E FF 7F C9 9E FF 7F C9 9E FF 7F 05 16 00 00 04 11 00 00 05 16 00 00 04 11 00 00 05 16 00 00 04 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 0A 00 0A 00 0A 00 04 00 04 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F |
||||
|
示例 |
长度 |
说明 |
备注 |
|
|
Map报文头 |
0x97 |
1 |
事务处理标识符Hi |
客户机发起,服务器复制,用于事务处理配对 |
|
0x96 |
1 |
事务处理标识符Lo |
||
|
0x0000 |
2 |
协议标识符号 |
客户机发起,服务器复制 Modbus协议 = 0. |
|
|
0x00FD |
2 |
长度 |
从本字节下一个到最后 |
|
|
0x04 |
1 |
单元标识符 |
客户机发起,服务器复制 串口链路或其他总线上远程终端标识 |
|
|
功能码 |
0x04 |
1 |
功能码,读寄存器 |
参考标准modbus协议 |
|
数据 |
0x FA |
1 |
字节个数 |
|
|
0x---- |
数据 |
|||
|
校验 |
||||
3、写多个寄存器
|
97 79 00 00 00 09 04 10 00 00 00 01 02 00 01 |
||||
|
示例 |
长度 |
说明 |
备注 |
|
|
Map报文头 |
0x97 |
1 |
事务处理标识符Hi |
客户机发起,服务器复制,用于事务处理配对 |
|
0x79 |
1 |
事务处理标识符Lo |
||
|
0x0000 |
2 |
协议标识符号 |
客户机发起,服务器复制 Modbus协议 = 0. |
|
|
0x0009 |
2 |
长度 |
从本字节下一个到最后 |
|
|
0x04 |
1 |
单元标识符 |
客户机发起,服务器复制 串口链路或其他总线上远程终端标识 |
|
|
功能码 |
0x10 |
1 |
功能码,读寄存器 |
参考标准modbus协议 |
|
数据 |
0x0000 |
2 |
起始地址 |
|
|
0x 0001 |
2 |
写寄存器数量 |
||
|
0x 02 |
1 |
写字节的个数 |
||
|
00 01 |
2 |
目标值 |
||
|
校验 |
||||
4、写多个寄存器响应
|
97 79 00 00 00 06 04 10 00 00 00 01 |
||||
|
示例 |
长度 |
说明 |
备注 |
|
|
Map报文头 |
0x97 |
1 |
事务处理标识符Hi |
客户机发起,服务器复制,用于事务处理配对 |
|
0x79 |
1 |
事务处理标识符Lo |
||
|
0x0000 |
2 |
协议标识符号 |
客户机发起,服务器复制 Modbus协议 = 0. |
|
|
0x0006 |
2 |
长度 |
从本字节下一个到最后 |
|
|
0x04 |
1 |
单元标识符 |
客户机发起,服务器复制 串口链路或其他总线上远程终端标识 |
|
|
功能码 |
0x10 |
1 |
功能码,读寄存器 |
参考标准modbus协议 |
|
数据 |
0x0000 |
2 |
起始地址 |
|
|
0x 0001 |
2 |
寄存器个数 |
||
|
校验 |
||||
Modbus TCP 示例报文的更多相关文章
- modbus tcp数据报文结构
modbus tcp数据报文结构 请求:00 00 00 00 00 06 09 03 00 00 00 01 响应:00 00 00 00 00 05 09 03 02 12 34 一次modbus ...
- DotNetty 实现 Modbus TCP 系列 (一) 报文类
本文已收录至:开源 DotNetty 实现的 Modbus TCP/IP 协议 Modbus TCP/IP 报文 报文最大长度为 260 byte (ADU = 7 byte MBAP Header ...
- 初识Modbus TCP/IP-------------C#编写Modbus TCP客户端程序(一)
转自:http://blog.csdn.net/thebestleo/article/details/52269999 首先我要说明一下,本人新手一枚,本文仅为同样热爱学习的同学提供参考,有不 对的地 ...
- C#ModBus Tcp 报文解析
上一篇博客已经完成 C#ModBus Tcp Master的实现 本篇主要对不同的功能码所发出的报文进行解析(包括请求报文及响应报文) 读操作 功能码 0x01 读一组线圈 读取站号为1 从地址12开 ...
- 开放型Modbus/TCP 规范
修订版 1.0,1999 年3 月29 日Andy SwalesSchneider 电气公司aswales@modicon.com目录目录............................... ...
- freemodbus modbus TCP 学习笔记
1.前言 使用modbus有些时间了,期间使用过modbus RTU也使用过modbus TCP,通过博文和大家分享一些MODBUS TCP的东西.在嵌入式中实现TCP就需要借助一个以太网协议 ...
- MODBUS TCP/IP协议规范详细介绍
1.该规范的发展概况 原始版本1997年9月3日作为公共评论的草案. 再版1999年3月29日,即修订版1.0. ...
- DotNetty 实现 Modbus TCP 系列 (四) Client & Server
本文已收录至:开源 DotNetty 实现的 Modbus TCP/IP 协议 Client public class ModbusClient { public string Ip { get; } ...
- DotNetty 实现 Modbus TCP 系列 (二) ModbusFunction 类图及继承举例
本文已收录至:开源 DotNetty 实现的 Modbus TCP/IP 协议 ModbusFunction 类图如下: 如前文所述,所有请求/相应的 PDU 均继承自 ModbusFunction, ...
随机推荐
- linux终端下一些“风骚”的按键操作及Linux终端命令
linux终端下一些"风骚"的按键操作 <backspace> 删除 <ctrl-l> 清空屏幕, 相当于clear tab ...
- Snail—Hibernate各种异常
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExNzkxNDIyMDE4/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- swift项目第一天:环境部署
一:项目部署 项目部署 一.开源中国(OSChina) 网站地址:https://git.oschina.net/ 开源中国社区成立于2008年8月,其目的是为中国的IT技术人员提供一个全面的.快捷更 ...
- aspcms产品详情页调取相关产品
产品详情页调用相关产品最常见的应用就是装饰公司网站,设计师页面要求调取设计师做过的案例.aspcms本身有这个功能,但不能完全符合要求,看代码 {aspcms:content sort={aspcms ...
- "网络适配器本地连接没有有效ip地址配置"错误的解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101 win server2008通过一台win xp的共享网络来上网,采用ipv4,网址设置如下: win xp是可以上网 ...
- 钢琴 - steinway
http://www.wangyanpiano.com/bbs/thread-104723-1-1.html Poston 波士顿钢琴 三角钢琴 GP-156 黑色抛光 178 ...
- jboss-as-7.1.1.Final与jdk1.8不兼容解决方案
今天在安装1.8电脑上装了jboss7.1.1,配置好了运行的时候就是无法启动,最后得出答案是:jboss-as-7.1.1.Final与jdk1.8不兼容 1.如果你的电脑安装了jdk1.8,那么在 ...
- [D3] Create Labels from Non-numeric Data with Ordinal Scales in D3 v4
When your data contains discrete, non-numeric property values that you need to format or convert bef ...
- Android Studio Gradle:Resolvedependencies':app:_debugCompile' 问题解决纪录
问题描述: 第一次使用AndroidStudio打开已经存在的AndroidStudio项目,卡在Gradle:Resolvedependencies':app_debugCompile'步骤,即使进 ...
- new File(String Path)加载资源问题
2017-12-17 15:07:38 [原创-wx] 一.我们在用IO流加载资源的时候,创建文件资源 1 File file = New File("String Path" ...