前言

“ 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 所示:
萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图1

图 2 -1. 安装向导

Windows 防火墙设置

首次作为 TCP/UDP 服务器“打开”时,Windows 会提示 “安全中心警报”。如图 2-2 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图3

图 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 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图5

图 3 -1. 参数验证例

个性化界面设置

允许个性化设置应用的界面,并自动保存设置参数。

  • 应用的主题;
  • 应用的界面语言;
  • 应用的窗口尺寸。

页面和导航

本应用采用了基于页面的导航系统, 界面直观清晰。如图 4-1 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图7

其中:

① 导航栏:含有链接到各页面的导航按钮,用于导航至各页面;

②“汉堡包”(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 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图9

其中:

①(主站或客户端)连接/(从站或服务器)打开按钮;

②(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-1. 支持的 Modbus 功能

数据块

运行角色为“从站”/“服务器”时用于选择数据块。数据块选项如表 4-2 所示:

数据块描述
线圈(0*)Coil
离散输入(1*)Discrete Input
保持寄存器(4*)Holding Register
输入寄存器(3*)Input Register
表 4-2. Modbus 标准数据块


表 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 ~ 999910000 ~ 65536
离散输入(1*)10001 ~ 19999110000 ~ 165536
保持寄存器(4*)40001 ~ 49999410000 ~ 465536
输入寄存器(3*)30001 ~ 39999310000 ~ 365536
表 4-3. 设备地址范围

数据设置

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 寄存器
表 4-4. 不同功能的最大查询报文数量
对于从站/服务器,数量最大值  = 65535。

注意
无论主站/客户端或从站/服务器,均应满足: 起始地址 + 数量 ≤ 地址范围

寄存器

只读。由“数据”的数量和数据类型所决定的实际寄存器数量。

统一的数据类型

所有数据项的数据类型、数据格式和数据编码均相同,由“数据设置”直接统一设置。

独自的数据类型
可分别定义数据列表中各数据项的数据类型、数据格式和数据编码。 单击按钮

可弹出寄存器数据设置窗口用于分别设置,如图 4-10 所示。
注意,当主站/客户端选择“读寄存器”功能(03/04) 时, 寄存器数据设置窗口中的 “数值”为只读!

图 4 -10. 寄存器数据设置窗口

选择通信交换数据的数据类型。支持的数据类型如表 4-5 所示:

数据类型说明长度,字节占用寄存器
Int16带符号 16 位整型21
UInt16无符号 16 位整型21
Int32带符号 32 位整型42
UInt32无符号 32 位整型42
Int64带符号 64 位整型84
UInt64无符号 64 位整型84
Single32 位浮点型42
Double64 位浮点型84
表 4-5. 支持的数据类型


表 4-5. 支持的数据类型
对于“写单个保持寄存器”功能(06),仅允许占用 1 个寄存器(长度为 2 字节) 的数据 类型。

数据格式

选择通信交换数据的显示格式。支持的数据格式如表 4-6 所示:

数据格式说明例子(130, Int16, 大端格式)
Decimal十进制130
Hex十六进制00 82
Binary二进制00000000 10000010
表 4-6. 支持的数据格式


数据编码

支持 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 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图11

图 4 -11. 自由协议界面
其中:
① :向“请求报文”添加 CRC 校验码按钮。点击此按钮时,将根据当前“请 求报文”自动生成 CRC 校验码并附在“请求报文”末尾。

工具页面

提供了各种开发者实用工具。

报文和地址转换

如图 4-12 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图13

其中:
①弹出按钮, 可弹出到独立窗口。

  • Modbus RTU 报文、Modbus ASCII 报文和 Modbus TCP/IP 报文间的相互转换

每种协议均提供了 2 种格式的报文:

◼ 完整报文(ADU/应用数据单元);

◼ 部分报文:只含地址(单元标识)和协议数据单元(PDU)。自动计算 CRC/LRC 等,

并自动填充首尾字段。

当报文输入完成后必须按 Enter 键以提交。

◼ 若输入的报文合法,所有其它报文将同步更新;

◼ 若输入的报文非法,将在其上方弹出错误提示。

  • 报文地址和设备地址间的相互转换

下拉菜单“数据块”用于选择数据寻址空间。

◼ 在“报文地址”中输入地址,若输入的地址合法,“设备地址”将同步更新;

◼ 在“设备地址”中输入地址,若输入的地址合法,“报文地址”将同步更新;

◼ 若输入的地址非法,将在其上方弹出错误提示。

数制转换

不同数据类型数值的十进制格式与十六进制格式、二进制格式间的相互转换 。如图 4-13 所 示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图15

图 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
Single32 位浮点型4
Double64 位浮点型8
表 4-7.支持的数据类型
  • “十进制”、“十六进制”和“二进制”字段用于输入数值

◼ 若输入的数值合法,所有其它字段将同步更新;

◼ 若输入的数值非法,将在其上方弹出错误提示。

  • 切换“数据编码”时,所有字段将自动改变。

ASCII 代码表

提供标准 ASCII 码表 。如图 4-14 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图17

其中,
① 弹出按钮, 可弹出到独立窗口。

本地网络适配器

提供本地所有网络适配器的标识及 IP 地址。如图 4-15 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图19

其中,
① 弹出按钮, 可弹出到独立窗口。

本地串口设备

本地串口(包括虚拟串口)的标识。 如图 4-16 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图21

其中,
① 弹出按钮, 可弹出到独立窗口.

设置页面

设置页面用于个性化设置本应用的主题、语言及恢复出厂默认设置参数。如图 4-17 所示:

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图23

个性化

  • “主题”:设置本应用的主题。选中“默认”时,本应用的主题将与操作系统的“Windows设置”/“个性化”/“主题”一致;
  • “语言”:设置本应用的语言。支持的语言:中文(简体)、英语、法语和德语。

个性化示例如图 4-18 所示。

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图25

恢复默认设置

单击按钮 可将本应用的所有设置参数恢复为出厂默认设置参数。
注意: 仅当连接断开时允许操作。

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试插图27

萧育青工作室“ Modbus 工具集”,用于 Modbus 设备的通信仿真及调试

发布时间 2023年11月15日 更新时间 2024年4月22日
已经回复?刷新

相关新闻

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Comments(167)

邮箱

cloud@modbus.cn

QQ
QQ
微信
微信
SHARE
TOP