主要功能
- 设置基本通信参数:设置事务标识符、单元标识符、事务 ID 的生成方式、默认数据类型、字节序、数据起始字节、输出格式。
- 生成 Modbus TCP 报文:从请求命令、正常响应、异常响应中选择生成类型,并根据功能码输入相应的地址、数量或数据。
- 解析单个报文:分解十六进制报文中的 MBAP 头部、功能码、数据区,并在表格中显示字段和值。
- 自定义数据解析规则:可以添加多条规则,在每条规则中指定起始字节、数据类型、字节序、数量,以转换寄存器、整数、浮点数据。
- 批量生成命令:设置读取功能码、起始地址、结束地址、每条命令的读取数量,批量生成多条读取命令。
- 批量解析报文:支持粘贴多行报文,也可以选择页面中列出的文本文件,结果区域显示来源、事务 ID、单元 ID、功能码、解析后的数据。
操作前的准备
- 生成报文前,请先确认事务标识符、单元标识符、功能码、起始地址、读取或写入数量。
- 解析单个报文时,可以准备以空格分隔、连续 HEX、以逗号分隔或带有 0x 前缀的十六进制内容。
- 需要解析寄存器值时,请提前确认数据类型、字节序、数据起始字节、数量。
- 批量处理文本时,可以粘贴多行报文,页面中列出的文件类型包括 TXT、CSV、LOG。
- Modbus TCP 使用 MBAP 头部,页面明确说明无需 CRC 校验,协议标识符固定为 0000,长度字段由工具自动计算。
使用步骤
-
设置基本通信参数
进入“使用工具”区域后,请先停留在“基本设置”页面。在“MBAP 头部”中输入事务标识符和单元标识符,并选择事务 ID 在生成后自动递增还是保持不变。事务标识符用于匹配请求和响应,页面显示的范围为 0–65535,单元标识符常用于网关场景中的从站地址映射。
接着请在“数据解释”中选择默认数据类型、默认字节序、数据起始字节,并在“格式与校验”中确认输出格式和地址显示方式。完成设置后,请点击“下一步:生成报文”。常用设置也可以使用页面上的“保存设置”进行保留。
图 1:设置 MBAP 头部、数据解释、输出格式 -
选择生成类型并输入 PDU 参数
进入“生成报文”页面后,请先从“请求命令、正常响应、异常响应”中选择此次需要的类型。在请求命令模式下,请选择功能码,并输入起始地址和数量。切换为其他类型时,请按照页面显示的相应字段输入响应数据或异常信息。
确认参数后,请点击“生成报文”。页面右侧的“生成结果”区域用于显示 HEX 结果以及事务 ID、长度、单元 ID、功能等字段,如果需要继续使用文本结果,可以通过页面提供的复制选项进行操作。
图 2:选择报文类型并设置功能码、地址、数量 -
输入十六进制报文并设置解析规则
请点击“解析报文”选项卡,将要解析的内容粘贴到“十六进制报文”文本框中。页面支持空格分隔、连续 HEX、逗号、0x 前缀,确认内容后点击“解析报文”,工具会在右侧的结构可视化区域显示 MBAP、PDU、数据字段。
需要将数据区转换为寄存器、整数、浮点数时,可以在“数据解析规则”中设置起始字节、数据类型、字节序、数量。点击“添加规则”,可以添加多条规则以解析不同位置的数据。
图 3:粘贴报文并设置起始字节、数据类型、字节序 -
设置批量生成命令或批量解析报文
进入“批量导出”页面后,左侧用于批量生成读取命令。请先选择读取功能码,输入每条命令的读取数量、起始地址、结束地址,然后使用页面上的按钮生成多条命令。生成的内容显示在下方的结果框中,也可以使用复制选项。
右侧用于批量解析。内容较少时,请选择“文本输入”并粘贴多行报文。如果已有页面支持的文本文件,可以切换到“选择文件”。确认内容后,点击“批量解析”,页面会在结果表中显示前 20 条记录。
图 4:设置批量处理的地址范围,或输入要批量解析的多行报文
主要参数说明
| 参数 | 功能 | 建议 |
|---|---|---|
| 事务标识符 | 匹配请求和响应,页面上的范围为 0–65535 | 请在同一请求和响应中保持一致。连续生成时可以选择自动递增 |
| 单元标识符 | 在常见的网关场景中映射从站地址 | 请按照目标设备或网关的设置输入 |
| 默认数据类型 | 从 UINT16、INT16、UINT32、INT32、FLOAT32 中选择 | 请按照设备寄存器的数据定义选择 |
| 默认字节序 | 提供 ABCD、DCBA、BADC、CDAB 四种排列 | 请先遵循设备文档。如果结果不一致,请先检查字节序 |
| 数据起始字节 | 指定数据区内开始解析的位置 | 标准读取响应通常从索引 9 开始。其他报文请按照实际结构调整 |
| 输出格式 | 从空格分隔的 HEX、连续 HEX、0x 前缀中选择 | 手动检查时可以使用空格分隔。粘贴到其他系统时,请按照其格式要求选择 |
| 地址显示 | 切换协议的 0 起始地址和 40001/30001 参考地址 | 请按照设备文档中使用的地址表示方式选择 |
| 功能码 | 请求生成支持 01、02、03、04、05、06、15、16 | 读取线圈或寄存器时,或执行写入时,请选择相应的功能码 |
| 解析规则 | 按照起始字节、数据类型、字节序、数量转换数据区 | 报文包含不同类型的数据时,请添加多条规则 |
显示和保存结果
生成单个报文后,页面会在结果区域显示 HEX 内容,并区分事务 ID、长度、单元 ID、功能字段。解析单个报文后,结构可视化区域会显示 MBAP 头部和字段表,规则解析结果表用于显示按照数据类型和字节序转换后的值。
批量生成的文本可以在结果框中查看和复制,批量解析结果表显示前 20 条记录。如果需要保留常用的基本参数,使用页面顶部或基本设置页面的“保存设置”后,下次打开页面时,页面会自动恢复这些参数。
常见问题和使用建议
MBAP 头部在 Modbus TCP 报文中包含哪些字段?
页面的结构可视化区域列出事务 ID、协议 ID、长度、单元 ID,后续字段表中继续显示功能码和数据区。
应该如何设置事务标识符?
页面允许输入 0–65535,用于匹配请求和响应。连续生成报文时可以选择自动递增,需要固定编号时请选择保持不变。
应该如何选择 ABCD、DCBA、BADC、CDAB?
四个选项表示不同的字节或字排列。请按照设备文档选择。如果解析后的值与设备显示不一致,请先检查字节序和数据类型。
FLOAT32 的解析值与设备显示不一致时应该怎么办?
请先检查数据起始字节,然后检查数据类型是否为 FLOAT32,并依次检查设备使用的 ABCD、DCBA、BADC、CDAB 字节序。
数据起始字节应该输入什么?
页面默认值为 9,并注明标准读取响应通常从索引 9 开始。如果报文类型或数据排列不同,请按照数据区的实际位置调整。
批量解析文件的格式要求是什么?
页面注明支持 TXT、CSV、LOG 文本文件,也可以直接粘贴多行报文。结果表仅预览前 20 条记录。
Modbus TCP 报文需要 CRC 校验吗?
页面明确说明 Modbus TCP 使用 MBAP 头部,无需 CRC 校验,协议标识符固定为 0000,长度字段由工具自动计算。