注意:

A、MThings不同于普通的串口/网络调试工具或同类上位机软件,需要具备一定的Modbus标准基础知识和网络知识,强烈建议略读全文后使用。

B、软件自带《使用手册》,打开软件后点击F1。

1  概述

MThings是一款全新的标准化专业MODBUS上位机软件,提供主从机一体化操作,可用于MODBUS协议接口的调试测试、Modbus设备运维。它主要解决如下问题:

  • 模拟仿真上位机软件,支持MODBUS主机读写功能。
  • 模拟仿真Modbus设备软件,支持Modbus从机被动读写功能。
  • 支持多设备、多通道并发运行,无设备个数限制。
  • 支持持久化数据配置、无菜单设计,操作友好。
  • 支持MODBUS-RTU、MODBUS-ASCII、MODBUS-TCP。
  • 支持串口、TCP客户端、TCP服务器(可接入多客户端)、UDP单播。
  • 支持全链路报文监控、存储、分析。
  • 支持丰富的链路丢包统计方法。
  • 支持数据曲线录波,统计数据极值和均值,并可导出所有数据。
  • 支持MODBUS数据配置模板导入导出。
  • 支持多种变化数据模拟方法。
  • 支持数据二次加工,界面呈现原始真实数据。
  • 支持良好的非标协议适配。
  • 性能优异,支持接入 > 500设备节点,超20K数据点。
  • 永久免费,免安装,中文。

android MODBUS TCP 驱动 安卓modbus 软件_助手

2  数据

MODBUS协议是一份相对简单的总线协议,交互流程和报文约定在《Modbus Application Protocol V1_1b3》中可以得到明确的解答。这里对经常引起歧义的数据块和数据定义阐述个人理解。

android MODBUS TCP 驱动 安卓modbus 软件_modbus_02

2.1  数据块

   协议中定义4种数据块,基于数据类型可分为两类:BIT数据寄存器数据,结合读写属性,数据块之间的关系如下图:

android MODBUS TCP 驱动 安卓modbus 软件_最好用_03

2.2  数据

数据是数据块中具体信息的详细定义,不同数据块中的数据定义是相互独立的。一条数据定义可以包含多个连续BIT/REG数据点。

描述数据的属性主要包括:

@隶属数据块

@数据名称

@数据地址

@数据量

@数据类型(协议类型)

@数据系数(浮点数据被整形传输时涉及)

@字节序(寄存器数据涉及)

@字序(寄存器数据量≥2Word涉及)

@同一数据块中,不同的数据定义的数据地址+数据量不能出现重叠;

@任何数据块的数据在从机侧都是可读可写的;

@不同数据块中的数据在从机侧可以指向同一数据对象,其拥有两个不同数据块地址,区别在于通过这种差异开放不同的读写权限;

@REG数据的数据量最小为1,最大值不得超过上限(输入寄存器:125,保持寄存器123);

@BIT数据的数据量固定为1,代表占用1Bit,同时数据系数属性失效;

2.3     数据块与数据的关系

@同一数据块中,不同的数据定义的数据地址+数据量不能出现重叠;

@任何数据块的数据在从机侧都是可读可写的;

@不同数据块中的数据在从机侧可以指向同一数据对象,其拥有两个不同数据块地址,区别在于通过这种差异开放不同的读写权限;

@REG数据的数据量最小为1,最大值不得超过上限(输入寄存器:125,保持寄存器123);

@BIT数据的数据量固定为1,代表占用1Bit,同时数据系数属性失效;

2.4    传输类型与呈现类型

协议数据定义方式主要基于传输设计,其与UI数据之间势必存在相互转换的问题,包括类型、长度、功能差异。

MThings提供友好的数据可视化方法,支持以实际业务格式展示报文数据。

android MODBUS TCP 驱动 安卓modbus 软件_助手_04

传输类型即MODBUS数据协议中定义的类型,通常以整形居多,但往往并非数据实际格式,使用者为了确认数据的正确性需要重新计算。不够直观的调试数据无疑严重影响调测效率和准确度。

MThings支持用户指定每项数据的传输类型和呈现类型,调试过程中,软件自动按配置转换,界面呈现的数据将是数据的真实内容。

例如,从机上报电压数据10.5V,寄存器传输过程中数据则为0X0069,MThings收到数据后,将整形数据乘以系数0.1,界面呈现还原之后的数据10.5V。

在录入数据配置时,MThings提供的参数包括传输类型、呈现类型、系数、单位四项配置,他们的含义分别是:

参数

含义

传输类型

有符号整形(INT)、无符号整形(UINT)、浮点型(FLOAT)、字节流(BYTES)、位数据(BIT)

呈现类型

十进制整形(INT-DEC)、十六进制整形(INT-HEX)、浮点型(FLOAT)、字节流(BYTES)、字符串(STRING)、纪元秒(TIME)

系数

如呈现数据类型为浮点型且传输类型为整形,需配合系数使用,软件自动将收到的数据乘以系数转化为浮点数据来显示。

单位

辅助数据含义描述,直接呈现在界面

MThings支持多种协议传输类型和UI数据类型,对应关系如下:

android MODBUS TCP 驱动 安卓modbus 软件_嵌入式_05

3  功能介绍

3.1  界面分区

android MODBUS TCP 驱动 安卓modbus 软件_调试工具_06

  1. 主菜单:用于切换“主功能页面”。
  2. 设备列表:辅助“主菜单”,用户通过单击设备名称,可切换当前激活设备,指定新的“主功能页面”所属设备。
  3. 配置文件:用于新建、导入、另存为、保存配置文件。
  4. 视图切换:用于控制显示或隐藏“设备列表”和“报文监控”窗口。
  5. 报文监控:查阅和管理各链接的通信报文。
  6. 主功能页面:对应“主菜单”,提供主功能操作界面。

3.2  新建工作配置文件

注:开始阶段如果没有加载其他配置文件,可跳过该步骤,程序退出前点击保存也可以创建配置文件。

 

android MODBUS TCP 驱动 安卓modbus 软件_最好用_07

3.3  创建串口设备

android MODBUS TCP 驱动 安卓modbus 软件_modbus_08

     ① 确认串口参数是否正确,可修改

    ② 输入设备/节点地址,可一次添加多台设备

注:起始地址 ≤ 结束地址,起始和结束地址相同代表添加一台设备,程序根据指定的起始到结束地址,自动为区间内每个地址创建一个设备。

    ③点击添加按钮

    ④选择待添加的设备类型

    ⑤设备添加成功后,可在此处查看到该设备。

注:设备名称默认格式:[M/S]端口名称-地址,用户可双击设备名称单元格自行修改,但是需要保证新名称不与其它设备名称冲突,否则名称修改失败。

注:同一路端口/链接中,不允许添加不同设备类型设备。

3.4  创建网络设备

android MODBUS TCP 驱动 安卓modbus 软件_modbus_09

相比添加串口设备不同,添加网络设备前,需要先添加网络链接。  

    ①单击后新增一路网络链接

    ②确认链接模式和链接参数,由于MThings支持多种网络链接模式,详情参考《使用手册》。

后续操作与串口设备添加过程相同。 

3.5  编辑设备数据配置

    ①点击主菜单中的“数据”,切换到设备数据操作界面

    ②点击需要数据配置的设备

    ③点击“配置数据”按钮使得当前设备进入数据配置态

    ④点击“新增数据”按钮新建一条数据配置项,数据表格中同步增加一条默认配置

    ⑤修改数据配置项中各项参数

注:修改过程中程序会自动关联参数变更,请仔细确认各项参数是否正确。

    ⑥点击按钮退出数据配置态

:读写数据前,务必退出配置态。

android MODBUS TCP 驱动 安卓modbus 软件_嵌入式_10

3.6  同步数据配置至其它设备

    为了简便多设备的数据配置工作,程序支持在不同设备之间进行配置共享。

    ①在源设备(数据配置共享)中点击按钮进入数据配置态

    ②点击“同步”按钮

    ③选择配置同步的目标设备

    ④点击“确定”按键后开始配置同步 

android MODBUS TCP 驱动 安卓modbus 软件_嵌入式_11

3.7  读数据(主机设备)

    读数据有两种方式:

    ①双击“数值列单元格,程序自动发起一次数据(当前行)的读取请求

     ②点击“批量读”,一次发起多个数据的读请求(批量读配置项已选择),用户也可根据提示发起循环批量读。

android MODBUS TCP 驱动 安卓modbus 软件_modbus_12

3.8  写数据(主机设备)

    写数据有两种方式:

    ①双击“指令”列数据单元格,编辑待写入的数据;双击“写”按钮,发起单个数据的写请求;

    ④点击“批量写”,一次发起多个数据的写请求(批量写配置项⑤已选择),用户也可根据提示发起循环批量写。

android MODBUS TCP 驱动 安卓modbus 软件_调试工具_13

3.9  配置模拟数据(从机设备)

    从机设备的数据主要用来供主机读取,是为模拟数据。

    模拟数据修改方法很简单,双击“数值”列数据单元格,输入相应数值即可。

    如果需要将设定的模拟数据存储至配置文件,需要单击“配置数据”按钮,进入设备数据配置态后修改数据数值即可。

3.10  退出程序

    用户关闭程序前,程序自动检查配置是否在使用过程中出现变更,并给出存储提示,所以请关注程序退出时弹出的提示信息,并给出正确选择。

4 数据配置

数据配置是进行MODBUS读写操作的必经步骤,快速高效准确的完成数据配置是调测工作的前提。

4.1  开始数据配置

进入任一设备的数据界面,单击“配置数据”按钮,当前设备进入数据配置态。进入配置态后,MThings强制显示所有配置数据,包括手动隐藏的配置行,且配置态中不允许隐藏任何配置信息。进入配置态后,MThings自动关闭所有当前设备正在进行后台通信,配置完成后,需要手动恢复。

android MODBUS TCP 驱动 安卓modbus 软件_modbus_14

4.2 新建数据配置

单击“新增数据”按钮,随后弹出的对话框中可指定新增配置的个数。 新建的配置数据默认添加在表尾,用户可通过“上移”或“下移”按钮控制一行或多行配置上下移动。

android MODBUS TCP 驱动 安卓modbus 软件_调试工具_15

MThings支持以现有配置为模板来新建配置,单击“新增数据”按钮前,选中参照的数据配置行即可。如果没有选择任何数据配置行,MThings默认选择最后一行为新配置模板。 

4.3  修改数据配置

修改数据是最重要的步骤,MThings提供多种自动关联动作和校验功能,辅助用户准确完成数据配置。

通常,根据MODBUS协议点表的数据定义分别录入数据名称、数据区块、数据地址、数据量、单位、范围、系数、显示类型、传输类型、字节序、字序,普通单元格双击编辑即可。

其中,寄存器数据的数据量即为寄存器个数,BIT数据的数据量固定为1。

传输类型为协议定义类型,即报文中原始数据类型。

显示类型为期望数据在MThings界面上被解析的目标类型。

数据传输类型、显示类型等字段会根据其它字段的变化,自动匹配可选择项,非匹配类型将被禁用。

系数用于整形数据(传输类型)和浮点型(显示类型)相互转换,其他情景下,固定为1。举例:系数设置为0.1,原始传输数据为123,则界面显示数据为12.3。

4.4      数据配置项的关联规则

1)   BIT类型数据,数据量固定为1,传输类型固定为BIT,数据系数固定为1,字节序、字序禁止为无效;

2)   寄存器类型数据,传输类型禁止为BIT;

3)   输入寄存器数据量不超过125;

4)   保持寄存器数据量不超过123;

5)   传输类型为浮点型时,系数固定为1;

6)   数据量为1时,传输类型禁止浮点型;

7)   数据量不是1、2、4时,传输类型禁止所有整形;

8)   传输类型为整形或浮点型时,字节序和字序可配置,否则禁用;

9)   数据量为2、4时,字序可配置,否则禁用;

10)当前显示类型为字符串(STRING)或码流(BYTES)时,该数据不支持曲线绘制;

4.5      退出配置态

单击“数据配置”按钮,MThings检查所有数据配置是否合法,如果检查通过,当前设备返回到操作态,否则提示配置异常,并给出异常原因。

4.6      如何更高效

使用配置同步功能,编辑一台设备配置后,将当前配置同步给拥有相同点表的其它设备;借用已有数据配置模板添加新数据配置;

注意事项:

1、运行电脑的显示器分辨率:800*600或更高,推荐使用分辨率1920*1080。支持Win7及以上版本,兼容32/64位。