前言
“ 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 所示。
恢复默认设置
单击按钮 可将本应用的所有设置参数恢复为出厂默认设置参数。
注意: 仅当连接断开时允许操作。
Comments(167)
好东西
好东西
好东西,试一下
@匿名:好东西 下载试一下
好用,謝謝分享
很好!!!!!!!!!!!!!!1
很好!!!!!!!!!!!!!!1
感谢楼主,谢谢分享
想试用一下,谢谢
666
aaaa
测试
牛逼
@匿名:下载试试
@匿名:下载试试aaaa
下载
谢谢分析
666
牛牛牛牛
好用的
好用的
好用
下载试试
不错不错不错不错不错不错
谢谢分享,正在学习MODBUS
好用
好东西,求一个
新手学习急需
。。。。。。。。。。。。。。。。。。啊实打实
。。。。。。。。。。。。。。。。。。
学习
很好,非常好用!!
试试???