一种成熟的MODBUS上位机软件(MThings) 永久免费中文英文组态告警历史存储网关
声明:
摩尔信使MThings为长念(上海)技术开发有限公司独立创作,
我方已经向国家商标总局申请商标专利、向国家知识产权局申请多项发明专利、软件著作权。
注意:
A、
摩尔信使MThings不同于普通的串口/网络调试工具或同类上位机软件,
需要具备一定的Modbus标准基础知识和网络知识,强烈建议略读全文后使用。
B、
软件自带《使用手册》,打开软件后点击F1。
1 概述
摩尔信使MThings是一款全新的标准化专业MODBUS上位机软件,提供主从机一体化操作,
可用于MODBUS协议接口的调试测试、Modbus设备运维。



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

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

2.2 数据
数据是数据块中具体信息的详细定义,不同数据块中的数据定义是相互独立的。
一条数据定义可以包含多个连续BIT/REG数据点。
描述数据的属性主要包括:
@隶属数据块
@数据名称
@数据地址
@数据量
@数据类型(协议类型)
@数据系数(浮点数据被整形传输时涉及)
@字节序(寄存器数据涉及)
@字序(寄存器数据量≥2Word涉及)
@同一数据块中,不同的数据定义的数据地址+数据量不能出现重叠;
@任何数据块的数据在从机侧都是可读可写的;
@不同数据块中的数据在从机侧可以指向同一数据对象,其拥有两个不同数据块地址,区别在于通过这种差异开放不同的读写权限;
@REG数据的数据量最小为1,最大值不得超过上限(输入寄存器:125,保持寄存器123);
@BIT数据的数据量固定为1,代表占用1Bit,同时数据系数属性失效;
2.3 数据块与数据的关系
@同一数据块中,不同的数据定义的数据地址+数据量不能出现重叠;
@任何数据块的数据在从机侧都是可读可写的;
@不同数据块中的数据在从机侧可以指向同一数据对象,其拥有两个不同数据块地址,区别在于通过这种差异开放不同的读写权限;
@REG数据的数据量最小为1,最大值不得超过上限(输入寄存器:125,保持寄存器123);
@BIT数据的数据量固定为1,代表占用1Bit,同时数据系数属性失效;
2.4 传输类型与呈现类型
MThings提供友好的数据可视化方法,支持以实际业务格式展示报文数据。
传输类型即MODBUS数据协议中定义的类型,通常以整形居多,
但往往并非数据实际格式,使用者为了确认数据的正确性需要重新计算。不够直观的调试数据无疑严重影响调测效率和准确度。
MThings支持用户指定每项数据的传输类型和呈现类型,
调试过程中,软件自动按配置转换,界面呈现的数据将是数据的真实内容。
例如,从机上报电压数据10.5V,寄存器传输过程中数据则为0X0069,
MThings收到数据后,将整形数据乘以系数0.1,界面呈现还原之后的数据10.5V。

在录入数据配置时,MThings提供的参数包括传输类型、呈现类型、系数、单位四项配置,他们的含义分别是:
|
参数 |
含义 |
|
传输类型 |
有符号整形(INT)、无符号整形(UINT)、浮点型(FLOAT)、字节流(BYTES)、位数据(BIT) |
|
呈现类型 |
十进制整形(INT-DEC)、十六进制整形(INT-HEX)、浮点型(FLOAT)、字节流(BYTES)、字符串(STRING)、纪元秒(TIME)、枚举(ENUM) |
|
系数 |
如呈现数据类型为浮点型且传输类型为整形,需配合系数使用,软件自动将收到的数据乘以系数转化为浮点数据来显示。 |
|
单位 |
辅助数据含义描述,直接呈现在界面 |
MThings支持多种协议传输类型和UI数据类型,对应关系如下:

3 功能介绍
3.1 界面分区

- 主菜单:用于切换“主功能页面”。
- 设备列表:辅助“主菜单”,用户通过单击设备名称,可切换当前激活设备,指定新的“主功能页面”所属设备。
- 更多功能:作为配置文件操作、通道管理、系统参数、用户管理、授权管理等功能入口。
- 报文监控:查阅和管理各链接的通信报文。
- 主功能页面:对应“主菜单”,提供主功能操作界面。
3.2 配置文件管理
配置文件包含完整的MThings使用过程配置信息,
主要包括:通道列表、通道参数、设备列表、设备高级参数、数据配置。

- 新建配置:用于创建一个新的工程配置文件,首次使用可以不用新建配置,MThings退出前将提示配置存储。
- 打开配置:通过导入功能切换工程配置文件。
- 另存配置:通过另存为操作导出复制当前工程配置,同时当前工程配置文件切换到新路径。
- 保存配置:及时存盘工程配置文件。
3.3 通道管理
MThings软件支持以串口、TCP链接、UDP单播的方式与目标机建立通信,
这三种通信方式统称为通道。通道是设备的关键属性,通道确定设备通信方式,是创建设备的前提。

3.4 串口通道

通过辅助菜单中的“通道”进入通道管理页面,查看当前PC中实际存在的串口列表。
MThings启动后,自动更新一次串口列表。
如上图所示,串口相关操作如下:
- 选择过滤通道列表中所包含的链接类型,界面默认为全部类型,切换为“串口通道”后,列表中仅保留串口通道。
- 当软件开启后,插入USB转RS485模块,单击“刷新”,可将新串口添加至列表中,如未出现新串口,请检查模块驱动。当链接列表中出现无效串口(串口不存在且无挂靠设备)时,单击“刷新”,可将将这些串口从数据配置中移除。
- 如需修改串口详细参数,单击“配置”按钮进入“串口参数配置”页面。
- 查看通道状态,通道状态含义如下:已关闭、已连接、故障。
- 手动打开或关闭串口。添加设备前,无需手动开启。手动模式可用于批量控制链接上挂靠的所有设备,使其启动或停止。
串口通道状态定义
|
通道状态 |
含义 |
|
已关闭 |
软件未启用该串口或被手动关闭 |
|
已连接 |
软件成功打开并初始化串口 |
|
故障 |
软件打开串口失败,原因可能是串口被其它软件占用或设置的串口参数不合法 |
串口链接参数定义
|
参数 |
含义 |
|
通道名称 |
操作系统分配信息,不可修改 |
|
传输模式 |
用于指定当前串口上运行的传输协议类型,可选择“MODBUS-RTU”或“MODBUS-ASCII” |
|
字符类型 |
当传输模式选择“MODBUS-ASCII”时,通过该参数指定协议字符使用大写或小写,默认为标准协议要求的大写方式 |
|
波特率 |
支持1200、2400、4800、9600、19200、38400、57600、115200bps,如设置为其它数值将导致串口打开失败 |
|
校验方式 |
指定串口字节中数据校验方式 |
|
数据位 |
指定串口字节数据中数据位个数。如MODBUS-ASCII协议中要求数据位为7Bit时,请修改该参数 |
|
停止位 |
指定串口字节中停止位长度 |
|
流控类型 |
默认无流控,根据实际应用按需修改 |
3.5 网络通道

通过辅助菜单中的“通道”进入通道管理页面,可查看网络通道列表。
首次使用时,无网络通道,需用户根据需要创建。如上图所示,网络相关操作如下:
- 单击“新增网络链接”按钮,可创建一路新网络通道。
- 单击“移除网络链接”,删除通道列表中已被勾选的网络通道。
- 网络通道参数配置页面。
网络通道状态定义
|
通道状态 |
含义 |
|
已关闭 |
软件未启用该链接 链接被对端断开 链接被手动关闭 |
|
已连接 |
网络通道已成功建链 |
|
连接中 |
TCP客户端:正在连接服务端 TCP服务器:正在等待接入客户端 |
|
故障 |
TCP服务端:本地端口被占用 UDP单播: 本地端口被占用 串口:已有其它软件使用该串口 |
网络通道参数定义
|
参数 |
含义 |
|
通道名称 |
MThings统一分配,不可修改 |
|
链接模式 |
选择MThings在网络层的链接角色,可选择TCP客户端、TCP服务端、UDP单播 |
|
重新建链周期(秒) |
当链接模式选择为“TCP客户端”,通过设置重新建链周期,可指示MThings按照指定时间间隔重新建链,通过这种方式可以模拟短链接。默认周期为0,代表长链接。 |
|
链接空闲保持时间(秒) |
当链接模式选择为“TCP客户端”或“TCP服务端”时,链接建立后,如果在参数指定时间内无任何数据交互,MThings将主动关闭链接。 |
|
传输模式 |
用于指定当前链接上运行的传输协议类型,可选择“MODBUS-RTU”、“MODBUS-ASCII”、“MODBUS-TCP(同步)”、“MODBUS-TCP(异步)” |
|
字符类型 |
当传输模式选择“MODBUS-ASCII”时,通过该参数指定协议字符使用大写或小写,默认为标准协议要求的大写方式。 |
|
本地IP |
该参数用户指定本地发起IP,可不配置,MThings可自动择优。 |
|
本地端口 |
当链接模式选择为“TCP服务端”或“UDP单播”,需指定绑定本地端口。 当链接模式选择为“TCP客户端”,该参数为只读数据,用于呈现已连接状态下的本地发起端口号。 |
|
目标域名/IP |
当链接模式选择为“TCP客户端”,该参数用于指定服务端的域名或IP地址。 当链接模式选择为“UDP单播”,该参数用于指定数据发送对象的IP地址。 |
|
目标端口 |
当链接模式选择为“TCP客户端”,该参数用于指定对端(服务端)绑定端口号。 当链接模式选择为“UDP单播”,该参数用于指定数据发送对象的接收端口号。 |
|
客户端IP |
当链接模式选择为“TCP服务端”,该参数用于指定允许接入当前服务端的客户端IP,其它IP地址发起的连接请求将被过滤丢弃。如不需过滤功能,该参数请设置为“--”或清空。 |
|
源端口 |
当链接模式选择为“TCP服务端”,该参数为只读数据,用于呈现已连接的客户端发起端口号。 |
|
最大并发请求数 |
当传输模式选择为“MODBUS-TCP(异步)”,该参数可控制异步并发规模,调节并发请求个数 |
3.6 系统参数
系统参数页面提供MThings软件全局控制参数,用户可运行时修改并及时生效,参数值将保存在本地。

系统参数定义
|
参数 |
含义 |
|
语言/Language |
切换软件的语言。 |
|
自启动 |
功能开关,用于控制MThings是否随操作系统自启动,默认关闭。 |
|
数据页面刷新
|
功能开关,为了避免CPU算力资源浪费,当用户启用“系统”页面进行数据阅览后,可通过该开关,关闭所有设备“数据”页面的数据更新,但其并不影响数据的接收、解析、存储。 |
|
运行模式 |
支持桌面或者PAD模式,让软件在不同的终端运行具备更好的展示效果。 |
|
隐藏主菜单 |
支持隐藏或显示主菜单,便于扩展组态画布。隐藏主菜单后,“更多功能”按钮将自动隐藏,如需显示该按钮,需点击右上角区域。 |
3.7 定制菜单
定制菜单功能允许用户自定义需要显示的页面内容及其排列顺序。
简略的主菜单有益于节省软件的资源占用。

- 快速切换两种预置的主菜单组合;
- 若需自定义菜单组合,先清空已有菜单;
- 展现当前已选择需显示的菜单内容;
- 单击选择需要显示的菜单,单击的顺序将影响菜单的排列顺序。
3.8 用户管理
用户管理页面提供两种用户类型:管理员、终端用户。
管理员可以执行MThings所提供的所有功能,终端用户仅允许操作部分功能,不显示调测功能,禁止其修改设备数据、告警、系统配置等。
用户权限分配
|
页面 |
管理员 |
终端用户 |
|
系统页面 |
✔ |
✔ |
|
历史数据页面 |
✔ |
✔ |
|
告警数据页面 |
✔ |
✔ |
|
逻辑控制页面 |
✔ |
✔ |
|
数据页面 |
✔ |
✔ |
|
自定义页面 |
✔ |
✘ |
|
统计页面 |
✔ |
✘ |
|
辅助页面 |
✔ |
✘ |
|
关于页面 |
✔ |
✔ |
管理员默认为无密码。
MThings首次使用,默认为无密码管理员,支持管理员修改自身密码。
一旦管理员设置了非空密码,MThings重启后以终端用户登录。
用户需自行输入管理员密码切换为管理员用户。


3.9 授权管理
针对MThings中的商用(付费)功能,用户需要获得授权后方能使用。
用户购买授权前,需进入授权管理页面生成机器识别码。
获得授权证书后,进入授权管理页面导入授权证书,激活商用功能。
授权证书仅限一台运行PC使用,如需扩展多台PC,应提前购买多份。


- 单击后,自动生成唯一机器码,可用于购买授权证书;
- 联系客服付款,获得授权证书;
- 获得授权证书后,单击此按钮导入授权证书。
警告:重装系统、磁盘更换等行为可能使得系统关键标识信息变化,导致授权失效,需重新购买授权。
系统关键标识信息无法正常获取的操作系统将无法生成机器码,进而无法获得授权。
4 设备管理
设备是通信目标设备的本地镜像或服务对象,设备是进行一切MThings功能的基础。
通过这种设备集成方法,MThings才具备了多设备、多协议、多通道的调试能力。
4.1 添加设备

- 添加设备入口;
- 选择添加设备所在的通道;
- 选择添加设备的设备类型;若对端设备是从机,此处选模拟主机;对端软件是上位机,此处选择模拟从机;
- 选择添加设备的地址;
- 点击“添加”后所配置的设备呈现在【06】;
- 单击“添加”按钮;
- 新增设备将出现在设备列表中。
设备(节点)地址范围为0~255,起始地址应小于等于结束地址。
通过设置起始地址和结束地址,支持一次添加多个设备,如起始地址等于结束地址代表仅添加一台设备。
如待添加的设备地址分散在多个区间,可以多次点击添加。
4.2 移除设备

- 选择需要移除的设备,通过拖拽鼠标,支持连续选择多个设备。
- 单击“移除”按钮。
警告:移除设备将删除设备下的所有数据配置信息,请谨慎操作!
如设备被误移除,请重新加载工程配置,切记不要保存当前配置。
4.3 设备信息查看

单击“>>”按钮,设备列表自动扩展页面,
显示设备关键信息:设备类型、设备ID、所属通道、设备地址。
设备名称状态含义
|
设备名称状态 |
含义 |
|
蓝色背景 |
当前设备被选中 |
|
字体红色 |
设备停止运行,所属链接断开或设备被禁用 |
设备状态标识含义解释

- 已连接,尚未进行任何数据读写操作;
- 已连接,但存在数据读写异常;
- 已连接,数据读写正常;
- 设备被禁用;
- 设备所属通道异常。
添加设备后,摩尔信使MThings分配默认名称,其格式说明如下:

4.4 设备属性修改
针对已创建的设备,支持修改设备关键属性,包括:设备名称、所属链接、设备地址。
通过修改设备名称,用户可根据自定义需求命名更佳的标记。
通过修改所属链接、设备地址,用户可快速适配运行环境的变化。
用户可提前在本地的任意链接上进行设备添加、数据配置和调试,现场调试时,则可快速切换为实际工作链接。

- 双击需要修改的设备行。
- 弹出“变更设备关键信息”页面,可在数值列修改设备关键属性信息。
- 如需将变更后的所属链接信息同步至其它设备,单击“同步通道配置至其它设备”按钮,选择需要复制新链接信息的设备,软件将自动修改指定设备的所属链接。
所属链接和设备地址变更后,如原设备名称为默认名称,
软件将自动更新默认名称中的链接和地址字段,无需手动修改设备名称。
例如,设备原名称为:[M]COM1-001,如所属链接修改为COM2,地址修改为2,
设备属性修改完成后,设备名称将自动变更为[M]COM2-002。
|
禁止无效的设备名称,设备名称不允许为空,同时要保证全局唯一,否则将提示修改失败。 |
|
禁止相同通道内存在不同设备类型,设置的新所属通道中,如果已有其他设备类型,将提示修改失败。 |
|
禁止设备地址重复,设置的新设备地址,如果在当前通道中已存在,将提示修改失败。 |
|
已添加设备不支持修改设备类型。 |
|
如在添加设备时,类型选择错误,同时已经完成大量数据配置, 建议先导出设备下的数据模板,删除错误设备,重新添加正确类型的设备,并导入数据模板。 |
5 设备数据配置
设备数据配置就是将MODBUS数据协议定义转换为MThings配置。
完成设备数据配置后,无需手动组包和数据换算,通过简单的按钮操作即可以快速发起轮询、批量读写、单个读写。
MThings支持直观可视化展示协议数据信息,可快速提升调测效率。
5.1 新增数据配置
方法1:

- 单击“数据”菜单。
- 单击设备名称,选择需要数据配置的设备。
- 单击“新增”按钮。
- 弹出“新增数据配置”页面,默认每次新增一条数据,起始数据地址为当前配置中最后一行数据地址+数据量。用户可修改新增的配置条数、区块和起始数据地址。
该方法新增的数据将直接添加至表尾。
方法2:
可通过拖拽表格中任一已有数据配置的“区块”单元格触发新增,拖拽的起始行,即为模板行,新配置将插入至拖拽结束位置。
5.2 删除数据配置

- 单击ID列,选中需要删除的数据配置,双击表头“ID”可全选或取消全选。
- 单击“删除”按钮。
5.3 编辑配置项
配置项操作说明
|
配置项 |
用途&配置方法 |
|
ID |
不可编辑,软件按序分配。 |
|
名称 |
数据名称,可任意定义,不可为空。 |
|
数值 |
不可编辑,操作态中,双击可触发单次读操作。 |
|
指令 |
双击后开始编辑,输入待下发的写指令数据,如无背景色,代表数据不支持下发写指令。 |
|
写 |
操作态时,双击触发写指令下发。 |
|
单位 |
数据单位,可任意定义。 |
|
范围 |
数据值范围,用于辅助调试,可任意定义,不参与校验过程。 |
|
区块 |
双击单元格后选择修改数据区块类型,区块定义参考MODBUS标准协议,修改区块后,可能导致其他字段强制修改。 |
|
地址 |
当前数据项的起始地址,无需前导数。 范围:0~65535。 注:结合高级参数中的地址偏移,该地址为协议(界面)地址,而非传输地址,如地址偏移为-1,则该地址最小值必须大于0,否则地址不合法。 |
|
数量 |
当前数据项连续占用的数据地址个数。 如数据项为寄存器数据,单位为字(2字节)。 如数据项为BIT数据,数量强制为1,不可修改。 不得小于1。 如数据项为保持寄存器,不得大于123。 如数据项为输入寄存器,不得大于125。 |
|
位偏移 |
用于寄存器数据,如数据项仅占用寄存器其中的部分位,该项配置则用于指定占用位的起始偏移。如数据不涉及寄存器部分位,该项配置使用默认值即可。 注:位偏移基于已完成的字节序/字序转换数据,由数据低位开始,最低位为0。 |
|
位数 |
用于寄存器数据,如数据项仅占用寄存器其中的部分位,该项配置用于指定占用的总位数。如数据不涉及寄存器部分位,该项配置使用默认值即可。 寄存器的位数默认值 = 数据数量 * 16。 BIT数据的位数固定为1。 位数可配置范围1~64Bit。 |
|
系数 |
用于寄存器数据的本地转换,支持将接收的数据进行线性运算,例如:呈现数据 = 协议整形数据 * 系数 + 偏移。 其它类型组合时,系数固定为1。 系数推荐设置范围:±(0.000001~1)。 |
|
偏移 |
同上一行说明 |
|
轮询 |
模拟主机支持该配置项。勾选后,该项数据参与批量读,否则发起批量读请求时,忽略该数据项。 |
|
批量写 |
模拟主机支持该配置项。勾选后,该项数据参与批量写,否则发起批量写请求时,忽略该数据项。线圈状态和保持寄存器数据可勾选,不支持只读数据。 |
|
传输类型 |
双击单元格后选择修改MODBUS数据协议中定义的数据类型,请确认并与协议保持一致。详细说明请参考数据章节。 |
|
呈现类型 |
双击单元格后选择修改软件界面呈现的数据类型,可实现更友好的数据可视化,与传输类型存在约束关联,详细说明请参考数据章节。 |
|
小数位数 |
如呈现类型为浮点数,该参数生效,否则强制为0。 用于控制数值的小数点个数,可设置范围0~9。 |
|
字节序 |
用于寄存器数据,如数据数量为1、2、4时,需要指定字节序。请参考MODBUS数据协议要求,如无特殊要求,选择大端。其它数据长度时,字节序默认为大端。 |
|
字序 |
用于寄存器数据,如数据数量为2、4时,需要指定字序。请参考MODBUS数据协议要求,如无特殊要求,选择大端。其它数据长度时,字序默认为大端。 |
|
间隔时间 |
用于控制读写请求之间的间隔时间。 模拟主机模式下,该时间生效于收到响应(超时)之后。 模拟从机模式下,该时间生效于请求与响应之间。 如数据项与其它数据项合并为一个请求/响应,间隔时间取其中最大值。 注:当模拟主机处于MODBUS-TCP异步传输模式,该参数不生效。 |
|
超时时间 |
用于模拟主机,指示数据读写请求的最大允许响应延时,超过该时间则判为超时,继续下一个请求。 如数据项与其它数据项合并为一个请求,超时时间取其中的最大值。 |
|
重发次数 |
用于模拟主机,指示当数据读写请求超时后,是否需要重发及其重发次数。默认设置为0时,代表不重发。 |
模拟主机的超时时间和间隔时间示意

模拟从机的间隔时间示意

位偏移&位数示例

5.4 批量编辑
如需快速修改多行配置,可使用“批量修改”功能。“序号”、“名称”、“数值”等列不支持该功能。

- 通过鼠标拖动或Shift按键连续多选,通过Ctrl按键离散多选需要修改的参数项目,所选项目应保持为同一列中的参数。
- 单击“批量修改”按钮。
- 设置或选择新的参数。
5.5 一键修改
如需快速编辑数据配置的“名称”、“单位”、“地址”、“数量”、“位偏移”、“位数”、“系数”、“偏移”、“范围”,
MThings支持用户拷贝多行Excel数据,并粘贴至数据配置表指定位置。
批量填充配置示例

5.6 标记数据背景色

- 长按需要标记背景色的数据“名称”单元格,将会弹出“设置数据名称背景色”页面。
- 单击“选择颜色”按钮,选择自定义背景色。
- 单击“重置颜色”按钮,可将背景还原为初始颜色。
- 单击“同步至其它数据”按钮,可将选择的背景色复制给其它数据行。

浙公网安备 33010602011771号