MThings Modbus 调试工具使用教程
一、软件概述与特点
1.1 软件介绍
市面上有不少的 Modbus 协议调试工具,今天介绍一款由长念 (上海) 技术开发有限公司开发的高度集成的 Modbus 协议调试工具 ------MThings。该工具可以仿真从机也可以仿真主机,与市面上常见的主机和从机分离软件不同,支持免安装运行,同时也支持安装运行。
MThings 支持多种 Modbus 协议(Modbus RTU、Modbus ASCII、Modbus TCP 等),支持配置文件导入导出,内置多种数据转换功能,支持丢包率、收发延迟等数据统计,支持多台仿真设备同时配置运行。
官网下载地址: http://www.gulink.cn/
1.2 主要功能特点
根据官网信息,MThings 具有以下核心功能:
功能类别
具体功能
模拟主机
4 类数据地址全范围读写、持久化指令、循环和批量读写操作、曲线录波
模拟从机
4 类数据地址全范围自动读写、5 种不同数据动态仿真策略、曲线录波
多设备管理
主从机同时管理、无设备个数上限、实时更新设备通信状态
多协议支持
MODBUS-ASCII、MODBUS-RTU、MODBUS-TCP (同步或异步)
多通道并发
串口 / RS485、局域网和广域网络(TCP/UDP)
二、软件界面与基本操作
2.1 界面功能分区
MThings 界面按功能划分为 6 大区域:
主菜单:用于切换各类 "主功能页面"
设备列表:辅助主菜单,单击设备名称可切换当前激活设备
配置文件:实现配置文件的新建、导入、另存为、保存操作
视图切换:控制 "设备列表" 和 "报文监控" 窗口的显示 / 隐藏
报文监控:查阅、管理各通信链路的报文数据
主功能页面:对应主菜单,提供各类核心功能的操作界面
2.2 配置文件管理
配置文件包含完整的 MThings 使用过程配置信息,主要包括:链接列表、链接参数、设备列表、设备高级参数、数据配置。
常用操作:
新建:用于创建一个新的工程配置文件
导入:通过导入功能切换工程配置文件
另存为:通过另存为操作导出复制当前工程配置
保存:及时存盘工程配置文件
三、设备配置与连接
3.1 通道管理
MThings 软件支持以串口、TCP 链接、UDP 单播的方式与目标机建立通信,这三种通信方式统称为通道。通道是设备的关键属性,通道确定设备通信方式,是创建设备的前提。
3.1.1 串口通道配置
串口通道操作界面如图所示:
串口参数配置:
传输模式:用于指定当前串口上运行的传输协议类型,可选择 MODBUS-ASCII 或 MODBUS-RTU
字符类型:当传输模式选择 "MODBUS-ASCII" 时,通过该参数指定协议字符使用大写或小写
波特率:支持 1200、2400、4800、9600、19200、38400、57600、115200bps
校验方式:指定串口字节中数据校验方式
数据位:指定串口字节数据中数据位个数
停止位:指定串口字节中停止位长度
3.1.2 网络通道配置
网络通道操作界面如图所示:
网络参数配置:
IP 地址:目标设备的 IP 地址
端口号:通信端口(默认为 502)
连接类型:TCP 客户端、TCP 服务器、UDP 单播
3.2 设备添加与管理
设备是通信调试目标设备的本地镜像或服务对象,设备是进行一切 MThings 调试工作的基础。
3.2.1 添加设备
添加设备的步骤如下:
选择添加设备所在的通道
选择添加设备的设备类型(模拟主机或模拟从机)
选择添加设备的地址(范围 0~255)
点击 "添加" 按钮
注意:
设备(节点)地址范围为 0~255,起始地址应小于等于结束地址
通过设置起始地址和结束地址,支持一次添加多个设备
如待添加的设备地址分散在多个区间,可以多次点击添加
如新增设备地址在设备列表中已存在,不会重复创建
如链接中已存在模拟主机,不允许再添加模拟从机,反之亦然
3.2.2 设备状态说明
设备名称状态含义如下:
状态显示
含义
蓝色背景 [M] COM1-001
当前设备被激活
字体红色 [M] COM1-001
设备停止运行,所属链接断开或设备被禁用
四、数据配置详解
4.1 数据配置基础概念
设备数据配置就是将 MODBUS 数据协议定义转换为 MThings 配置。完成设备数据配置后,无需手动组包和数据换算,通过简单的按钮操作即可以快速发起轮询、批量读写、单个读写。
4.2 数据配置步骤
以电能表配置为例,详细说明数据配置过程:
进入数据配置界面:点击主菜单 "数据",切换至设备数据操作界面
选择目标设备:选中需要配置的目标设备
进入配置态:点击 "配置数据",使设备进入数据配置态
新增数据:点击 "新增数据",表格中添加一条默认配置项
修改参数:按实际需求修改配置项的各项参数
配置参数说明:
参数名称
说明
标识符
可选配置,用于描述寄存器
寄存器存储内容
配置模式使能时无法输入,用于配置寄存器存储内容
寄存器类型
支持 0(线圈)、1(离散输入)、3(输入寄存器)、4(保持寄存器)
首地址与数量
配置寄存器首地址与数量
位偏移
类似于组态王的 40001.1 的作用
系数
其实就是倍率
传输类型与呈现类型
根据需要配置,一般对应配置即可
4.3 数据配置规则
重要规则:
同一数据块中,不同数据的 "地址 + 数据量" 不可重叠
从机侧所有数据块的数据均支持可读可写
不同数据块的数据可指向从机侧同一数据对象,通过不同地址开放差异化读写权限
REG 数据:数据量最小 1,输入寄存器最大 125、保持寄存器最大 123
BIT 数据:数据量固定为 1(占用 1Bit),数据系数属性失效
4.4 传输类型与呈现类型
MODBUS 协议数据基于传输设计(多为整形),与实际业务的 UI 展示数据存在差异。MThings 支持自定义转换规则,以实际业务格式可视化展示报文数据。
核心配置参数:
参数
含义
传输类型
协议原始数据类型,包含有符号整形(INT)、无符号整形(UINT)、浮点型(FLOAT)、字节流(BYTES)、位数据(BIT)
呈现类型
界面展示的目标数据类型,包含十进制整形(INT-DEC)、十六进制整形(INT-HEX)、浮点型(FLOAT)、字节流(BYTES)、字符串(STRING)、纪元秒(TIME)
系数
仅当 "呈现类型为浮点型且传输类型为整形" 时生效,软件自动将接收数据乘以系数转换为浮点值展示
单位
辅助描述数据含义,直接展示在界面对应数据旁
五、功能操作详解
5.1 链路配置
链路用于配置串口与网卡参数以及仿真设备属性(主从)。
配置要点:
若连接列表无刚连接的串口设备可通过刷新按键更新列表
利用添加按键配置仿真设备属性
若串口工作异常(一般为驱动异常、其他软件占用),解除故障点击启动即可恢复设备状态
通过配置 Modbus 协议,支持 Modbus ASCII 与 Modbus RTU 两种协议
通过配置波特率参数
利用 COM5 仿真主机,利用 COM3 仿真从机,使用相同的协议与波特率参数,否则无法正常通讯
5.2 数据操作
5.2.1 数据配置操作
数据配置操作步骤如下:
点击 "数据",打开寄存器仿真列表,刚创建的设备没有寄存器信息
选择需要配置的设备
点击 "配置" 可以新增寄存器和调整寄存器类型等参数
点击 "新增" 配置指令的条数与寄存器首地址
点击 "确定" 后配置其他参数
5.2.2 循环读取配置
循环读取配置参数:
配置指令与指令间的间隔
配置指令超时时间
启动循环读取:点击 "批量读" 并勾选 "循环",调试工具就会依照配置的读取间隔周期读取寄存器状态。
5.3 自定义功能
"自定义" 功能下可以自定义发送数据,勾选延迟时间曲线统计 Modbus 发送的延时参数。
从表格反馈当前连接的通讯质量,这里是使用两个 RS-232 直连,可以看出即使使用有线直连也会存在波动,使用这种方法可以匹配合理的 Modbus 超时参数,尤其使用无线通讯时尤为重要,以太网通讯的延迟比串口要好很多。
注意: 配置指令时需要注意软件会自动根据配置的地址添加 Modbus 地址和 CRC 校验,不可重复配置。
5.4 统计功能
统计功能启用后设备会对正在通讯的所有链路进行统计:
分别统计不同的错误日志(发送失败、异常响应、帧长异常等)
统计整个监控时间端的丢包率
在勾选丢包曲线后可通过曲线图查询异常响应时间
5.5 辅助工具
MThings 提供多项辅助工具,有助于进阶报文数据分析:
时间戳转换工具
浮点数转换工具
ASCII 转 HEX 工具
Modbus CRC 校验工具
六、协议仿真演示
6.1 Modbus TCP 协议演示
主机配置(服务器模式):
新增网络链接或通过 "配置" 修改现有的链接
主机配置为服务器模式
选择 Modbus TCP 协议
配置服务器端口
配置客户端 IP(必须配置,非此 IP 连接服务器会拒绝连接)
配置模拟设备属性为 "Modbus 主机"
从机配置(客户端模式):
主机使用了服务器模式从机就必须采用客户端模式
配置目标 IP 和目标端口为主机所开的服务器 IP 与端口
配置模拟设备属性为 "Modbus 从机"
注意: 一般情况都是从机作为服务器,方便接入多个 HMI 和 SCADA 软件控制采集 PLC,这里没有采用这种模式,但软件支持对应调整模式即可。
6.2 Modbus RTU 协议演示
Modbus RTU 设备属性配置如图所示:
6.3 Modbus ASCII 协议演示
Modbus ASCII 设备属性配置如图所示:
七、实战案例:电能表参数修改
7.1 案例背景
最近翻出一块带 485 通信的电能表,这块电能表只有一个键显按钮,无法通过本体按键修改地址、波特率、奇偶校验等信息。
电能表默认参数:
通讯地址:1
波特率:9600
校验:偶校验
数据传输方式:八个数据位,一个停止位
需要修改为:
通讯地址:7
波特率:2400
校验:无校验
7.2 硬件准备
硬件准备:
电能表(图 1)
USB 转 485 转接器(图 2)
7.3 硬件接线
按照接线原理图完成硬件接线,本次目的是修改表参数,没有安装用电设备。
7.4 软件操作步骤
7.4.1 准备工作
在转接器插入电脑 USB 口之前,打开设备管理器,打开端口
插入转接器,设备管理器会自动刷新,端口中新增 COM5
打开 MThings 软件,首次安装打开后默认打开示例程序
点击右上角 "配置文件管理" 图标,选择 "新增"
选择保存位置并命名文件为电能表,点击确定,完成新建程序
7.4.2 设备添加与配置
点击标题栏数据按钮,进入数据界面
点击左侧功能栏添加设备按钮,出现添加设备界面
通道选择 COM5,设备类型模拟主机,点击添加
点击展开按钮,可查看设备地址、通道等信息
点击右上角通道管理图标,进入通道管理界面
点击 COM5 通道 "配置" 按键,进入通道配置界面
按照电能表默认配置设置波特率、校验方式、数据位、停止位
7.4.3 读取电能表数据
查看电能表说明书通信部分,寄存器类型和数据格式:
读取数据寄存器使用 0X03、0x04 功能码,分别对应读保持寄存器、读输入寄存器
写入参数寄存器使用 0x10 功能码,对应写保持寄存器
注意数据类型为浮点数,数据格式 32 位
读取步骤:
点击数据区上侧新增数据按钮
弹出新增数据配置界面,使用 04 功能码(读输入寄存器)
区块选择输入寄存器,电压地址为 0,点击确定
修改信息名称为电压,单位为 V,数量为 2,传输类型为浮点数,呈现类型为浮点数
按照电压添加方式,继续添加其他信息
选中左侧设备列表中设备,点击启动轮询,查看数据区数值变化
7.4.4 写入电能表数据
写入步骤:
点击新增数据按钮,写入需要使用 0x10 功能码(写保持寄存器)
区块选择保持寄存器,波特率起始地址为 0,点击确定添加
修改名称,数量为 2,数据类型和呈现类型均为浮点型
按照上述方式新增校验位及地址修改数据
双击指令格,写入 2400(修改波特率为 2400)
双击蓝底黑字 "写",即可完成波特率的写入
注意: 修改波特率、校验方式、地址后,均需要修改相应配置,否则无法完成通讯。通过通道管理修改波特率为 2400,再次点击启动轮询,波特率变为 2400,证明写入完成。
八、高级功能与技巧
8.1 逻辑控制功能
逻辑控制功能可快速实现设备数据的复杂计算和处理,也可以将处理后的结果与组态、历史、告警功能相关联。
使用示例:
添加一个定时器组件,用来驱动周期数据更新
将定时器组件的输出驱动信号与 AI 组件的输入相连
添加加法组件,用来汇总计算所有功率之和
建立两路 TCP 链接,分别作为 TCP 客户端和 TCP 服务端
添加一个模拟量输出组件
进入组态页面,添加一个最简单的数据标签控件
8.2 历史数据功能
摩尔信使 MThings 作为一款专注于 MODBUS 协议簇的轻量级上位机软件,其历史数据功能并非简单的数据堆积,而是构建了一套覆盖数据全生命周期的解决方案。
主要功能:
实时采集与存储:时序化落盘,支持用户自定义采集间隔,最低可至 1 秒
存储机制:默认采用 SQLite 数据库,数据按 "日" 进行存储管理
资源开销:历史数据存储进程在后台稳定运行,对系统 CPU 和内存的开销被控制在较低水平
标准化输出:数据遵循数据库接口标准,用户可以使用标准 SQL 工具直接访问历史数据库
8.3 数据网关功能
缓存模式利用模拟主机自身的轮询功能,直接响应北向请求,可将南北向设施解耦,北向远程监控软件可实现更加高效的异步通信。
8.4 告警数据功能
告警数据页面提供设备告警生成、存储、配置、展示、导出功能、语音提示,支持多条件、跨设备生成告警信息,参照标准:《IEC 62682:2014》。
九、注意事项与常见问题
9.1 使用注意事项
设备地址冲突:如新增设备地址在设备列表中已存在,不会重复创建
主从机限制:如链接中已存在模拟主机,不允许再添加模拟从机,反之亦然
协议一致性:利用 COM5 仿真主机,利用 COM3 仿真从机,必须使用相同的协议与波特率参数,否则无法正常通讯
配置保存:程序退出前点击 "保存",将自动创建新的配置文件,完成配置持久化
9.2 常见问题处理
串口工作异常:
原因:一般为驱动异常、其他软件占用
解决:解除故障后点击启动即可恢复设备状态
通讯失败:
检查设备地址是否正确
检查波特率、校验方式等参数是否一致
检查物理连接是否正常
检查防火墙是否阻止了通信
9.3 性能优化建议
合理设置超时时间:根据网络质量和设备响应速度设置合适的超时时间
优化轮询间隔:根据数据更新频率和系统负载设置合理的轮询间隔
使用批量操作:尽可能使用批量读写操作,减少通信次数
启用通道隔离:对于不同的通信链路,建议启用通道隔离功能
9.4 安全注意事项
权限管理:MThings 提供用户管理功能,包括管理员和终端用户两种类型。管理员可以执行所有功能,终端用户仅允许操作部分功能
授权管理:针对 MThings 中的商用(付费)功能,用户需要获得授权后方能使用
数据安全:建议定期备份配置文件和历史数据
网络安全:在使用网络通信时,注意网络安全,避免未授权访问
结语
MThings 作为一款功能强大的 Modbus 调试工具,不仅提供了完整的主从机仿真功能,还具备丰富的数据处理、统计分析和逻辑控制能力。通过本教程的学习,相信你已经掌握了 MThings 的基本使用方法和高级技巧。
在实际应用中,建议根据具体的调试需求选择合适的功能模块,合理配置参数,充分利用软件提供的各种工具和功能。同时,注意遵循 Modbus 协议规范,确保通信的稳定性和可靠性。
如果你在使用过程中遇到问题,可以参考软件自带的帮助文档,或者访问官方网站获取更多支持。祝你在 Modbus 调试工作中取得成功!