前言
“ Modbus 工具集”是萧育青工作室根据多年工程实践,在整合了当前相关软件的长处和不足 的基础上自主研发的工具应用软件, 用于 Modbus 设备的通信仿真及调试。
V 5.0.0 更新
- 用户界面 (UI) 框架提升为最新的 Windows UI 库 (WinUI) 3 ;
- 目标框架提升为 .NET 7.0;
- 支持多语言:中文(简体)、英语、法语和德语;
- 修复了其它缺陷。
近期更新
- 为满足一次访问不同类型和格式的寄存器数据的场合,提升了数据设置功能。可分别定义数据列表中各数据项的类型、格式和编码;
- 全面提升了报文收发及校验机制;
- 以主站/客户端运行时增加了自由协议,用于支持本应用未提供的 Modbus 公共功能码、Modbus 用户自定义功能码和 Modbus 之外的“自由口”通信。
下载链接
为方便不同用户的需求, 提供了“百度网盘”的下载链接;底部进行评论,即 可获得最新版本的下载链接。
1.系统需求
硬件
- 处理器 1 GHz
- 内存 512 MB
- 磁盘空间(最小值)4.5 GB
操作系统
- Windows 11
- Windows 10
◼ 目标版本:Windows 10 版本 2004 (内部版本 19041) 或更高版本;
◼ 最低版本:Windows 10 版本 1809 (内部版本 17763) 。
语言
用户界面支持下列语言:
- 中文(简体)
- 英语
- 法语
- 德语
安装
安装
- 双击已下载的自解压安装包文件“Modbus_Toolkit_V5.x.x.exe”,解压缩到指定安装文件夹;
- 在安装文件夹中双击文件“setup.exe”,开始本应用软件的安装。如图 2-1 所示:
图 2 -1. 安装向导
Windows 防火墙设置
首次作为 TCP/UDP 服务器“打开”时,Windows 会提示 “安全中心警报”。如图 2-2 所示:
图 2 -2. Windows 安全中心警报
请将“专用网络”和“公用网络”均勾选后单击“允许访问”。
功能特性
通信协议
支持所有 Modbus 标准协议:
◼ Modbus RTU
◼ Modbus ASCII
◼ Modbus TCP/IP
- Free / “自由”协议(仅主站/客户端可用):用于支持 Modbus 之外的“自由口”通信和本应用未提供的 Modbus 公共功能码、Modbus 用户自定义功能码。
连接
- 除 Modbus 标准的连接方式(Serial Port 和 TCP/IP)之外,扩展了 UDP/IP 连接;
- 对于 TCP/IP 和 UDP/IP 连接,支持上述所有协议;
- 对于 Serial Port 连接,仅支持 Modbus RTU 、Modbus ASCII 和 Free 协议。
可作为不同的通信角色工作
- 连接为”Serial Port”时可分别作为主站或从站工作;
- 连接为”TCP/IP”或”UDP/IP”时时可分别作为客户端或服务器工作。
用户设置记忆功能
- 自动保存用户所做的设置修改,再次运行时将恢复用户环境;
- 设有“恢复缺省设置”按钮,用以将所有设置参数恢复为出厂值。
开发者实用工具
- Modbus RTU 报文、Modbus ASCII 报文和 Modbus TCP/IP 报文间的相互转换,自动计算校验码 CRC/LRC;
- “报文地址”和“设备地址”间的相互转换;
- 不同数据类型的十进制格式与十六进制格式、二进制格式间的相互转换;
- ASCII 码对照表;
- 本机 IP 地址;
- 本机串口设备。
设置参数验证功能
当修改各设置参数时,根据规范对所输入的参数进行合法性验证。
- 若输入的参数非法,将在该参数上方弹出错误提示;
- 若输入的参数合法但不安全,仅在顶部状态栏予以警告;
- 至少有一个参数非法时将禁止“连接”/“启动”。
参数验证示例如图 3-1 所示:
图 3 -1. 参数验证例
个性化界面设置
允许个性化设置应用的界面,并自动保存设置参数。
- 应用的主题;
- 应用的界面语言;
- 应用的窗口尺寸。
页面和导航
本应用采用了基于页面的导航系统, 界面直观清晰。如图 4-1 所示:
其中:
① 导航栏:含有链接到各页面的导航按钮,用于导航至各页面;
②“汉堡包”(Hamburger)按钮,用于展开/折叠导航栏;
③返回按钮,用于返回前一个页面;
④ 信息栏:显示各类报警消息;
⑤ 状态栏:显示当前连接状态及运行状态
- 连接状态指示: – 已连接, – 未连接;
- 协议指示:Modbus RTU / Modbus ASCII / Modbus TCP/IP;
- 运行角色指示:
➢ 对于 Modbus RTU /Modbus ASCII 协议,角色为主站/从站;
➢ 对于 Modbus TCP/IP 协议,角色为客户端/服务器。
- 通信节点指示:
➢ 对于 Serial Port 连接总是@,通信节点总是本地串口设备;
➢ 对于 TCP/IP 和 UDP/IP 连接,角色为服务器时指示为@,通信节点为本地
网络终结点(IP 地址和端口号);角色为客户端时指示为 ,通信节点为
远程网络终结点(IP 地址和端口号)。
- 通信节点参数:
➢ 对于 Serial Port 连接指示:[通信端口]波特率-数据位-校验位-停止位。
例如:[COM1]19200-8-偶校验-1;
➢ 对于 TCP/IP 和 UDP/IP 连接指示:连接[IP 地址]:端口号。
例如:TCP/IP [192.168.0.104]:502。
- 从站地址/单元标识指示,例如:地址:1;
- 运行状态指示: — 停止; — 启动
⑥ 通信选项栏(仅当运行角色为主站/客户端时可见):用于设置各通信选项,详见通
信页面章节;
⑦ 操作按钮:详见连接页面/通信页面章节。
当将鼠标置于各按钮处,将自动弹出提示信息。
连接页面
连接页面用于设置连接方式、通信协议、运行角色及连接参数。如图 4-2 所示:
其中:
①(主站或客户端)连接/(从站或服务器)打开按钮;
②(Windows 11)/ (Windows 10):(主站或客户端)断开/(从站或服务器)关闭按钮。
注意:除“时间参数”外,其它各设置栏仅当断开/关闭连接时方可更改!
连接
由下拉菜单选择连接方式。
- Serial Port
当运行角色为从站时,同一时刻仅允许一个主站访问!若多个主站同时与同一从站通信可能导致错误!
- TCP/IP
当运行角色为服务器时,可同时处理的客户端数量由“最大客户端数”(详见“服务器设置”一节)设置;
- UDP/IP
当运行角色为服务器时,可同时处理的客户端数量不限(仅受系统资源限制)。
运行角色
- 连接为”Serial Port”时可分别作为主站或从站工作
允许打开多个实例(执行多次本应用程序),分别作为主站或从站同时工作。
- 连接为”TCP/IP”或”UDP/IP”时时可分别作为客户端或服务器工作
◼ 允许打开多个实例(多次执行本应用程序),分别作为客户端或服务器同时工
作;
◼ 打开多个实例时,一个客户端可访问多个(本机或网络)服务器,一个服务器
可服务于多个(本机或网络)客户端。
协议
由下拉菜单选择通信协议。
- 当“连接”为“TCP/IP”或“UDP/IP”时,可选项为:
◼ Modbus RTU;
◼ Modbus ASCII;
◼ Modbus TCP/IP。
- 当“连接”为“Serial Port”时,可选项为:
◼ Modbus RTU;
◼ Modbus ASCII。
- 当“运行角色”为“主站” / “客户端”时,可选项增加“Free”(自由协议)
◼ 自由协议用于支持本应用未提供的 Modbus 公共功能码、Modbus 用户自定义
功能码和 Modbus 之外的“自由口”通信;
◼ 自由协议下,用户须手动输入“请求报文”,且本应用不做任何验证;
◼ 自由协议下,仅显示收/发的报文,不做其它处理。
时间参数
本节中各时间参数的单位均为毫秒(ms)。
- 轮询间隔时间(仅用于客户端/主站)
客户端/主站完成一次查询后距下次发送请求的延时时间。
100 ≤ 轮询时间 ≤ 2147483647。
- 响应超时(仅用于客户端/主站)
客户端/主站发送请求后等待服务器/从站响应的最大时间。若在此时间内未收到响
应则认为通信故障,提示报警信息。
1000 ≤ 响应超时 ≤ 2147483647。
注意
当客户端/主站查询的参数较多或通信速率(波特率/网速)较低时,可能发生“超
时”报警!可适当增大“响应超时”解决,但“响应超时”若过大本应用将无法监测可
能的通信故障。
- 连接超时(仅用于 TCP/IP 连接)
◼ 对于 TCP 客户端:发起连接后等待服务器确认的最大时间。若在此时间内未
收到服务器确认则认为通信故障并提示报警信息。
500 ≤ (客户端)连接超时 ≤ 2147483647。
◼ 对于 TCP 服务器:客户端连接建立后,将周期性接收客户端发送请求。连接超
时为查询客户端发送请求的周期时间,用以判断客户端的“活动”状态。若等待
客户端发送请求的时间超出连接超时则将该客户端标记为“非活动”。通常,连
接超时应大于客户端的轮询间隔时间。
1000 ≤ (服务器)连接超时 ≤ 2147483647。
串口设置
电脑无串口且需要与串行链路通信时,可连接“USB-RS232/485 转换器”以扩展串口。 电脑无串口需要本机模拟测试时,可使用“虚拟串口”软件以扩展虚拟串口。
串口标识:仅列本地可用串口(自动识别)。 数据位 根据 Modbus 规范,对于 Modbus RTU 协议, 数据位必须为 8; 根据 Modbus 规范,对于 Modbus ASCII 协议, 数据位必须为 7; 对于自由协议(Free),数据位可为 7 或 8。 停止位与校验 对于 Modbus RTU / Modbus ASCII 协议: 当校验为“奇/偶”时,停止位必须为 1; 当校验为“无”时, 停止位必须为 2。 对于自由协议(Free)不做限制:
校验可选 None, Odd, Even, Mark, Space;
停止位可选:无 ,1 , 2 , 1.5。
本地串口设备
提供本地串口(包括硬件串口和虚拟串口)的标识,以方便当装有多个串口设备时
选择。
注意, 虚拟串口仅用于本地机进程间通信,不可用于与外部设备间的通信。
服务器设置
服务器连接
仅当“协议”为“Modbus TCP/IP”时可见,用于设置服务器的连接方式。
直接连接: 服务器直接连接到网络; 通过网桥或网关连接:服务器连接到串行链路子网,并通过网桥或网关来寻址。 IP 地址支持 IPv4 和 IPv6 寻址模式; 任何地址(作为服务器运行时)
当选中时, 服务器将响应本地所有 IP 地址收到的客户端请求。“任何地址”显示为: [0.0.0.0](IPv4)或 [::](IPv6)。
最大客户端数(仅用于 TCP/IP 连接且运行角色为服务器时)
TCP 服务器可同时处理的客户端数量上限 。根据设备类型,该参数的值可以从 1 到 16。
当连接数量达到同时连接上限且又收到新的客户端连接请求时:
若存在“非活动”的客户端,则断开最先的“非活动”的客户端并接受新的客户端; 若不存在“ 非活动”的客户端,则拒绝新的客户端连接请求。 远程 IP 地址(作为客户端运行时)
可在下拉菜单“远程 IP 地址”中键入要访问的服务器 IP 地址。新键入的服务器 IP 地址 将被自动记忆, 再次连接该 IP 地址时可直接在下拉菜单“远程 IP 地址”中选择即可, 不必重复键入;
本地 IP 地址(作为服务器运行时) 可在下拉菜单中选择 IP 地址,“本地 IP 地址”为自动识别 。为方便在一台电脑上 同时运行服务器和客户端以测试,列表中附加了本地主机(localhost)的“回送地 址”(IPv4: [127.0.0.1]/ IPv6: [::1])。“回送地址” 为主机 IP堆栈内部的 IP 地址,主 要用于网络软件测试以及本地机进程间通信,不进行任何网络传输。 端口 根据“RFC1122”,允许的端口: 1 ≤ 端口 ≤ 49151; 对于 Modbus TCP/IP 协议, TCP 端口 502 是为 Modbus 通信保留的。在默认状 态下,强制监听此端口。然而,某些市售产品或应用程序可能需要另一个端口专 用于 TCP 上的 MODBUS。鉴于此,本应用也允许指定缺省端口(502)之外的端 口,仅给出警告信息; 对于 Modbus RTU 和 Modbus ASCII 协议,为安全计, 建议 2000 ≤ 端口 ≤ 5000,为了适应某些市售产品或应用的需要,本应用也允许指定此范围之外的端 口,仅给出警告信息。 本地网络适配器
提供本地网络适配器(硬件适配器和虚拟适配器)的标识及 IP 地址(包括“回送地址”)。 注意, 虚拟网络适配器仅用于本地机进程间通信,不可用于与外部设备间的通信。
通信页面
通信页面用于 Modbus 通信参数设置、通信数据的读写及通信报文的显示。
采用了“分割窗口”布局, 通过拖动分割条, 可以改变各分栏的尺寸, 以适应不同的 需求; 可将“数据列表”和“通信”栏弹出到独立窗口,以方便对照观察。
通信页面如图 4-3 和图 4-4 所示:
图 4 -3. 通信页面:服务器/从站
8
6
1
3
2
4
12
11
10
9
7
5
图 4 -4. 通信页面:客户端/主站
其中:
①
:“单次”复选框,选中时点击启动按钮时仅进行一次查询对话;
②
: “响应数据”复选框,选中时在“通信”栏输出由响应报文解析得到的数据;
③
:“预览”复选框,选中时在“请求报文”显示由“MODBUS 设置”生成的请求报文; ④
:启动按钮 , 当(连接页面) 连接/打开无误时有效,用于启动通信对话;
⑤ 0:停止按钮 , 当通信对话已启动时有效,用于终止通信对话; ⑥
:“请求报文”擦除按钮,清除“请求报文”的当前内容;
⑦ C:“请求报文”刷新按钮,点击时根据当前“ MODBUS 设置”刷新请求报文; ⑧
:“通信”弹出按钮,将“通信”栏弹出到独立窗口, 弹出窗口如图 4-5 所示; ⑨
:“通信”擦除按钮,清除“通信”的当前内容, 并将报文计数复位;
⑩ 横向分割条:拖动其可改变横向分栏的尺寸;
⑪
:“数据列表”弹出按钮,将“数据列表”栏弹出到独立窗口, 弹出窗口如图 4-6 所 示;
⑫ 纵向分割条:拖动其可改变纵向分栏的尺寸。
图 4 -5. “通信”弹出窗口
图 4 -6. “数据列表”弹出窗口
Modbus 设置
注意:当运行角色为“主站”/“客户端”时,某些参数仅当通信对话未启动时方可更改!
- 功能
运行角色为“主站”/“客户端”时用于选择“功能”。支持的 Modbus 功能如表 4-1 所示:
功能码 | 描述 |
---|---|
01 (0x01) | 读多个线圈(0*) |
02 (0x02) | 读多个离散量输入(1*) |
03 (0x03) | 读多个保持寄存器(4*) |
04 (0x04) | 读多个输入寄存器(3*) |
05 (0x05) | 写单个线圈(0*) |
06 (0x06) | 写单个保持寄存器(4*) |
15 (0x0F) | 写多个线圈(0*) |
16 (0x10) | 写多个保持寄存器(4*) |
⚫ 数据块
运行角色为“从站”/“服务器”时用于选择数据块。数据块选项如表 4-2 所示:
数据块 | 描述 |
---|---|
线圈(0*) | Coil |
离散输入(1*) | Discrete Input |
保持寄存器(4*) | Holding Register |
输入寄存器(3*) | Input Register |
表 4-1. 支持的 Modbus 功能
运行角色为“从站”/“服务器”时用于选择数据块 。数据块选项如表 4-2 所示:
数据块
线圈(0) 离散输入(1)
保持寄存器(4) 输入寄存器(3)
表 4-2. Modbus 标准数据块
从站地址
当“协议”为“Modbus RTU”或“Modbus ASCII”(通常连接为“Serial Port”) 时,从站地 址用于设置串行链路上从站的标识。
运行角色为“从站”时为本站的唯一标识。从站地址取值范围: 1 ≤(本地)从站地址 ≤ 247; 运行角色为“主站”时用于指定对其发送请求的从站地址: 0 ≤(远程)从站地址 ≤ 247。
其中, 从站地址 0 专用于“广播模式”,即, 主站向所有从站发送请求。从站对 于主站的广播请求没有应答返回,广播请求一般用于写命令。
单元标识
当“协议”为“Modbus TCP/IP”(通常连接为“TCP/IP”)时,单元标识用于在 Modbus+ 或 Modbus 串行线路子网上寻址设备时的路由目的。在这种情况下,单元标识携 带远程设备的 Modbus 从地址 。Modbus TCP/IP 通信结构如图 4-7 所示。
如果 Modbus 服务器连接到 Modbus+或 Modbus 串行链路子网,并通过网桥 或网关来寻址,单元标识对识别连接到网桥或网关后的子网的从站设备是必需 的。单元标识采用有效的 Modbus 从站地址(1 … 247)。目的 IP 地址识别网 桥或网关, 而网桥或网关则使用单元标识将请求转交给相应的从站设备; 对于直接连接到 TCP/IP 或 UDP/IP 网络上的服务器,以“IP 地址”寻址服务器, 因此单元标识是无用的。建议单元标识不要使用有效的 Modbus 从站地址
(1 … 247)。否则, 在自动化系统中重新分配 IP 地址的情况下,使用有效从 站地址可能会由于网关的路由不畅而引起麻烦!应使用无效的从站地址(0 或 248 … 255), 网关将简单地忽略 Modbus PDU,而不引起任何麻烦。建议采用 255(0xFF)或 0(0x00)作为“单元标识”的无效值。
图 4 -7. Modbus TCP/IP 通信结构
起始(报文)地址和起始(设备)地址
数据起始地址支持双格式地址: 报文(协议) 地址和设备地址; 选中“起始报文地址”时,可设置“起始报文地址”,自动同步映射到“起始设备地 址”,“数据列表”按报文地址显示; 选中“起始设备地址”时,可设置“起始设备地址”,自动同步映射到“起始报文地 址”,“数据列表”按设备地址显示; 请求报文中的数据起始地址均为报文(协议) 地址; 报文(协议)地址范围对于所有数据块均为: 0 ~ 65535; 设备地址支持“5 位寻址”(对应报文地址 0~9998)/ “6 位寻址”(对应报文地 址 9999~65535),其范围因数据块不同。 如表 4-3 所示:
当然可以,以下是您提供的数据块及其5位和6位寻址范围所对应的表格:
数据块 | 5 位寻址范围 | 6 位寻址范围 |
---|---|---|
线圈(0*) | 1 ~ 9999 | 10000 ~ 65536 |
离散输入(1*) | 10001 ~ 19999 | 110000 ~ 165536 |
保持寄存器(4*) | 40001 ~ 49999 | 410000 ~ 465536 |
输入寄存器(3*) | 30001 ~ 39999 | 310000 ~ 365536 |
数据设置
1) 线圈或离散输入数据设置
当选择功能/数据块为线圈(0)或离散输入(1)访问时,数据设置如图 4-8 所示:
图 4 -8. 线圈或离散输入访问的数据设置
数量
查询/响应的线圈或离散输入的数量。
字节数
只读。对于主站/客户端,为实际发送的字节数量;对于从站/服务器,为数据块所 实际占用的字节数量。
2) 保持寄存器或输入寄存器数据设置
当选择功能/数据块为保持寄存器(4)或输入寄存器(3)访问时, 数据设置如图 4-9 所 示:
图 4 -9. 保持寄存器或输入寄存器访问的数据设置
数量
查询/响应“数据 ”的数量。
注意
对于寄存器读写功能(数据块:3* / 4*),此处所设置的 “数据数量”不同于实际 Modbus 报文中的“寄存器数量 ”!
一个数据所占用的寄存器数量因数据类型而不同(详见表 4-5)。
对于主站/客户端,查询的最大(报文)数量因功能而不同,如表 4-4 所示:
当然可以,以下是您提供的Modbus功能码、数据块和最大查询报文数量的表格:
功能码 | 数据块 | 最大查询报文数量 |
---|---|---|
01 (0x01) | 线圈(0*) | 2000 线圈 |
02 (0x02) | 离散输入(1*) | 2000 输入 |
03 (0x03) | 保持寄存器(4*) | 125 寄存器 |
04 (0x04) | 输入寄存器(3*) | 125 寄存器 |
05 (0x05) | 线圈(0*) | 1 线圈 |
06 (0x06) | 保持寄存器(4*) | 1 寄存器 |
15 (0x0F) | 线圈(0*) | 1968 线圈 |
16(0x10) | 保持寄存器(4*) | 123 寄存器 |
对于从站/服务器,数量最大值 = 65535。
注意
无论主站/客户端或从站/服务器,均应满足: 起始地址 + 数量 ≤ 地址范围
寄存器
只读。由“数据”的数量和数据类型所决定的实际寄存器数量。
统一的数据类型
所有数据项的数据类型、数据格式和数据编码均相同,由“数据设置”直接统一设置。
独自的数据类型
可分别定义数据列表中各数据项的数据类型、数据格式和数据编码。 单击按钮
可弹出寄存器数据设置窗口用于分别设置,如图 4-10 所示。
注意,当主站/客户端选择“读寄存器”功能(03/04) 时, 寄存器数据设置窗口中的 “数值”为只读!
图 4 -10. 寄存器数据设置窗口
选择通信交换数据的数据类型。支持的数据类型如表 4-5 所示:
数据类型 | 说明 | 长度,字节 | 占用寄存器 |
---|---|---|---|
Int16 | 带符号 16 位整型 | 2 | 1 |
UInt16 | 无符号 16 位整型 | 2 | 1 |
Int32 | 带符号 32 位整型 | 4 | 2 |
UInt32 | 无符号 32 位整型 | 4 | 2 |
Int64 | 带符号 64 位整型 | 8 | 4 |
UInt64 | 无符号 64 位整型 | 8 | 4 |
Single | 32 位浮点型 | 4 | 2 |
Double | 64 位浮点型 | 8 | 4 |
表 4-5. 支持的数据类型
对于“写单个保持寄存器”功能(06),仅允许占用 1 个寄存器(长度为 2 字节) 的数据 类型。
数据格式
选择通信交换数据的显示格式。支持的数据格式如表 4-6 所示:
数据格式 | 说明 | 例子(130, Int16, 大端格式) |
---|---|---|
Decimal | 十进制 | 130 |
Hex | 十六进制 | 00 82 |
Binary | 二进制 | 00000000 10000010 |
数据编码 支持 2 种数据编码
大端格式(Big-endian,首先传送最高有效字节);
小端格式(Little-endian,首先传送最低有效字节)。
根据《基于 Modbus 协议的工业自动化网络规范 GB-T19582.1-2008》,对于 地址和数据,Modbus 使用“大端格式”,即,当传送的数据大于一个字节时, 首先传送最高有效字节; 为了适应某些市售产品或应用的数据编码为“小端格式”的场合, 本应用允许选 择“数据编码”为“小端格式”以正确解析响应数据; 数据编码仅影响寄存器数值的显示, 不影响线圈/离散输入数据、"数量"和"地 址"。
“数据列表”和“响应数据”将按选定的“数据类型” 、“数据格式”和“数据编码”显示。
数据列表
通信交换数据列表, 用于设置输出的数据/显示输入的数据。
项数由“MODBUS 设置”中的“数量”设定; 显示格式: [地址] (如: [40003] )。 其中: [地址]由“MODBUS 设置”中的“起始(报文)地址”/“起始(设备)地址”选项设 定; 的显示由“MODBUS 设置”中的“数据类型”,“数据格式”和“数据编码”设 定。 设置数据: 以鼠标点击 ,即可直接键入。。 作为主站/客户端运行时:
数值
当选择“读”功能(功能码 = 1 ,2,3,4) 时, 数据列表为只读; 当选择“Free”(自由协议) 时,不显示“数据列表”。
通信
用于通信对话(报文、响应数据、通信状态)的显示。
- 连接信息(仅当连接为 TCP/IP 或 UDP/IP 时有效)
◼ 格式:“Remote:[IP 地址:端口号],Local:[IP 地址:端口号]”;
◼ 对于服务器:
◆ 由于一个服务器可服务于多个客户端,每当接收报文的发送方改变时显示;
◆ 当选中“任何地址”时,IP 地址 = “0.0.0.0”(IPv4)/ “::”(IPv6)。
◼ 对于客户端:仅当“启动”时显示。
- 发送的报文格式:“xxxx-Txd: HH HH …”。“xxxx”:对话的计数(序号),“Txd”:发送标识,“HH HH …”:十六进制格式的报文;
- 接收的报文格式:“xxxx-Rxd: HH HH …”。“xxxx”:对话的计数(序号),“Rxd”:接收标识,“HH HH …”:十六进制格式的报文;
- 响应数据/发送寄存器数:“xxxx-Val / Qty: DD,DD, …”,“xxxx”:对话的计数(序号),“Val”:响应数据标识,“Qty”:发送寄存器数标识,“DD,DD, …”:十进制格式的响应数据/发送寄存器数;
- Modbus 异常响应:“xxxx-Err: 异常信息”。异常信息与从站/服务器返回的异常响应报文相关;
- 点击“通信”擦除按钮可随时清除“通信”的当前内容,并将报文计数复位。
请求报文
当选择“Free”(自由协议)或选中“预览”选项时可见。
- 选择“Free”(自由协议)时,用于手动输入请求报文(不做任何验证);
- 选中“预览”选项时,用于“预览”由“Modbus 设置”生成的请求报文;
- 点击“请求报文”擦除按钮可清除“请求报文”的当前内容;
- 点击“请求报文”刷新按钮时根据当前“MODBUS 设置”刷新请求报文。
自由协议界面
自由协议用于支持本应用未提供的 Modbus 公共功能码、 Modbus 用户自定义功能码和 Modbus 之外的“自由口”通信。
用户须手动输入“请求报文”,除输入格式外本应用不做任何验证。
当“运行角色”为“主站”/“客户端”且选择“Free”(自由协议) 时, 不显示“数据列表” 、 “ Modbus设置”和“数据设置”栏。 页面如图 4-11 所示:
图 4 -11. 自由协议界面
其中:
① :向“请求报文”添加 CRC 校验码按钮。点击此按钮时,将根据当前“请 求报文”自动生成 CRC 校验码并附在“请求报文”末尾。
工具页面
提供了各种开发者实用工具。
报文和地址转换
如图 4-12 所示:
其中:
①弹出按钮, 可弹出到独立窗口。
- Modbus RTU 报文、Modbus ASCII 报文和 Modbus TCP/IP 报文间的相互转换
每种协议均提供了 2 种格式的报文:
◼ 完整报文(ADU/应用数据单元);
◼ 部分报文:只含地址(单元标识)和协议数据单元(PDU)。自动计算 CRC/LRC 等,
并自动填充首尾字段。
当报文输入完成后必须按 Enter 键以提交。
◼ 若输入的报文合法,所有其它报文将同步更新;
◼ 若输入的报文非法,将在其上方弹出错误提示。
- 报文地址和设备地址间的相互转换
下拉菜单“数据块”用于选择数据寻址空间。
◼ 在“报文地址”中输入地址,若输入的地址合法,“设备地址”将同步更新;
◼ 在“设备地址”中输入地址,若输入的地址合法,“报文地址”将同步更新;
◼ 若输入的地址非法,将在其上方弹出错误提示。
数制转换
不同数据类型数值的十进制格式与十六进制格式、二进制格式间的相互转换 。如图 4-13 所 示:
图 4 -13. 数制转换
其中:
① 弹出按钮, 可弹出到独立窗口。
数据类型 | 说明 | 长度,字节 |
---|---|---|
SByte | 带符号 8 位整型 | 1 |
Byte | 无符号 8 位整型 | 1 |
Int16 | 带符号 16 位整型 | 2 |
UInt16 | 无符号 16 位整型 | 2 |
Int32 | 带符号 32 位整型 | 4 |
UInt32 | 无符号 32 位整型 | 4 |
Int64 | 带符号 64 位整型 | 8 |
UInt64 | 无符号 64 位整型 | 8 |
Single | 32 位浮点型 | 4 |
Double | 64 位浮点型 | 8 |
- “十进制”、“十六进制”和“二进制”字段用于输入数值
◼ 若输入的数值合法,所有其它字段将同步更新;
◼ 若输入的数值非法,将在其上方弹出错误提示。
- 切换“数据编码”时,所有字段将自动改变。
ASCII 代码表
提供标准 ASCII 码表 。如图 4-14 所示:
其中,
① 弹出按钮, 可弹出到独立窗口。
本地网络适配器
提供本地所有网络适配器的标识及 IP 地址。如图 4-15 所示:
其中,
① 弹出按钮, 可弹出到独立窗口。
本地串口设备
本地串口(包括虚拟串口)的标识。 如图 4-16 所示:
其中,
① 弹出按钮, 可弹出到独立窗口.
设置页面
设置页面用于个性化设置本应用的主题、语言及恢复出厂默认设置参数。如图 4-17 所示:
个性化
- “主题”:设置本应用的主题。选中“默认”时,本应用的主题将与操作系统的“Windows设置”/“个性化”/“主题”一致;
- “语言”:设置本应用的语言。支持的语言:中文(简体)、英语、法语和德语。
个性化示例如图 4-18 所示。
恢复默认设置
单击按钮 可将本应用的所有设置参数恢复为出厂默认设置参数。
注意: 仅当连接断开时允许操作。
评论列表(110条)
测试
牛逼
下载
谢谢分析
666
牛牛牛牛
好用的
好用的
好用
下载试试
不错不错不错不错不错不错
谢谢分享,正在学习MODBUS
好用
好东西,求一个
新手学习急需
。。。。。。。。。。。。。。。。。。啊实打实
。。。。。。。。。。。。。。。。。。
学习
很好,非常好用!!
试试???
好用
下载试试看
很好用
试试看
等你好久了
试试看
这样方便
ceshiyixia
分享+1
下载测试下
下载试试
试试看
下载试试
请问支持多大的波特率
看起来很强大,谢谢
试试看
试试看 是否可以
????
试试看
试试看
试一下看
测试一下
afdsfghj,kljvcmgnfgbdfdv
dwafethtrgefgg
达瓦达瓦达瓦AWD
专注做modbus吗?
试用一下
试试
我试试
试用一下看看
6666
多谢分享,谢谢
感谢
666刚好需要这个工具666刚好需要这个工具
工具工具
谢谢分享。
学习学习
试一下
ok
OK
试一下
试试
试试
试一下
试试看
感谢分享
是什么样的工具
1111
学习
6
谢谢
ST 2023年11月16日 上午10:09
???
谢谢
好
谢谢
谢谢
感觉非常方便
过来学习
谢谢
谢谢
好
感谢分享
学习!
学习下
????
neverstop
试试看工业用方不方便
测试
学习学习,非常需要
试一下看看怎么样?
66666
航空科技急急急
试一下
不就是个工具软件吗 弄得这么复杂 太拿自己当回事儿了
阿斯顿法师打发是的法师打发三大发啥打法
❤️❤️
看看
!!!
给个下载地址我试试,谢谢!
试一下看好不好用
不错不错
111
123
不知道好不好用,好用会回来好评的
分享+1
谢谢分析
好用,謝謝分享
很好!!!!!!!!!!!!!!1
,..
???