大家好,又见面了,我是你们的朋友全栈君。
声明:MThings为长念(上海)技术开发有限公司独立创作,我方已经向国家商标总局申请商标专利、向国家知识产权局申请多项发明专利、软件著作权。
下载地址:MThings 下载地址 (支持以主机或从机方式进行MODBUS协议簇调试调测 工具 助手)_AlanBruce的博客-CSDN博客
1 概述
MThings是一款全新的标准化专业MODBUS调测工具,提供主从机一体化操作,可用于MODBUS协议接口的调试测试、Modbus设备运维。它主要解决如下问题:
- 模拟仿真上位机软件,支持MODBUS主机读写功能。
- 模拟仿真Modbus设备软件,支持Modbus从机被动读写功能。
- 支持多设备、多通道并发运行,无设备个数限制。
- 支持持久化数据配置、无菜单设计,操作友好。
- 支持MODBUS-RTU、MODBUS-ASCII、MODBUS-TCP。
- 支持串口、TCP客户端、TCP服务器(可接入多客户端)、UDP单播。
- 支持全链路报文监控、存储、分析。
- 支持丰富的链路丢包统计方法。
- 支持数据曲线录波,统计数据极值和均值,并可导出所有数据。
- 支持MODBUS数据配置模板导入导出。
- 支持多种变化数据模拟方法。
- 支持数据二次加工,界面呈现原始真实数据。
- 支持良好的非标协议适配。
- 性能优异,支持接入 > 500设备节点,超20K数据点。
- 永久免费,免安装,中文。
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 传输类型与呈现类型
协议数据定义方式主要基于传输设计,其与UI数据之间势必存在相互转换的问题,包括类型、长度、功能差异。
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) |
系数 |
如呈现数据类型为浮点型且传输类型为整形,需配合系数使用,软件自动将收到的数据乘以系数转化为浮点数据来显示。 |
单位 |
辅助数据含义描述,直接呈现在界面 |
MThings支持多种协议传输类型和UI数据类型,对应关系如下:
3 功能介绍
3.1 界面分区
- 主菜单:用于切换“主功能页面”。
- 设备列表:辅助“主菜单”,用户通过单击设备名称,可切换当前激活设备,指定新的“主功能页面”所属设备。
- 配置文件:用于新建、导入、另存为、保存配置文件。
- 视图切换:用于控制显示或隐藏“设备列表”和“报文监控”窗口。
- 报文监控:查阅和管理各链接的通信报文。
- 主功能页面:对应“主菜单”,提供主功能操作界面。
3.2 新建工作配置文件
注:开始阶段如果没有加载其他配置文件,可跳过该步骤,程序退出前点击保存也可以创建配置文件。
3.3 创建串口设备
①勾选新建设备所挂靠的串口(双击表头可全选)
②选择所创建的设备类型
③输入设备起始地址
④输入设备结束地址
注:起始地址 ≤ 结束地址,起始和结束地址相同代表添加一台设备,程序根据指定的起始到结束地址,自动为区间内每个地址创建一个设备。
⑤点击“配置”,确认或修改串口参数
⑥查看或修改串口参数
⑦点击后程序开始添加设备
⑧设备添加成功后,可在此处查看到该设备。
注:设备名称默认格式:[M/S]端口名称-地址,用户可双击设备名称单元格自行修改,但是需要保证新名称不与其它设备名称冲突,否则名称修改失败。
注:同一路端口/链接中,不允许添加不同设备类型设备。
3.4 创建网络设备
①切换端口类型至“网络”
②点击“新建”按钮,新增一路网络配置
③确认或修改网络配置后点击“确认”,网络端口表格中对应新增一路链接
④勾选新建设备所挂靠的网络链接
⑤选择所创建的设备类型
⑥输入设备起始地址和结束地址
⑦点击开始添加设备
⑧设备添加成功后,可在此处查看到该设备。
3.5 编辑设备数据配置
①点击主菜单中的“数据”,切换到设备数据操作界面
②点击需要数据配置的设备
③点击“配置数据”按钮使得当前设备进入数据配置态
④点击“新增数据”按钮新建一条数据配置项,数据表格中同步增加一条默认配置
⑤修改数据配置项中各项参数
注:修改过程中程序会自动关联参数变更,请仔细确认各项参数是否正确。
⑥点击按钮退出数据配置态
注:退出配置态前程序会校验最终的配置结果是否正确,如果数据地址存在冲突,请按照提示修改,否则无法退出配置态。
3.6 同步数据配置至其它设备
为了简便多设备的数据配置工作,程序支持在不同设备之间进行配置共享。
①在源设备(数据配置共享)中点击按钮进入数据配置态
②点击“同步配置”
③指定配置同步的目标设备
④点击“确定”按键后开始配置同步
3.7 读数据(主机设备)
读数据有两种方式:
①长按(>300ms)数值列单元格,程序自动发起一次数据(当前行)的读取请求
②点击“批量读”,一次发起多个数据的读请求(批量读配置项③已选择),用户也可根据提示发起循环批量读。
3.8 写数据(主机设备)
写数据有两种方式:
①双击“数值”列数据单元格,发起单个数据的写请求;单个数据写请求分为预置数据②或立即下发③。点击立即下发后,程序立即发起数据写请求,并自动跟随一次数据读请求,如果数据写请求执行成功,单元格中数据即为下发写数据。预置数据操作是为了给批量写操作提前预置目标数据。
④点击“批量写”,一次发起多个数据的写请求(批量写配置项⑤已选择),用户也可根据提示发起循环批量写。
3.9 配置模拟数据(从机设备)
从机设备的数据主要用来供主机读取,是为模拟数据。
模拟数据修改方法很简单,双击“数值”列数据单元格,输入相应数值即可。
如果需要将设定的模拟数据存储至配置文件,需要单击“配置数据”按钮,进入设备数据配置态后修改数据数值即可。
3.10 退出程序
用户关闭程序前,程序自动检查配置是否在使用过程中出现变更,并给出存储提示,所以请关注程序退出时弹出的提示信息,并给出正确选择。
4 数据配置
数据配置是进行MODBUS读写操作的必经步骤,快速高效准确的完成数据配置是调测工作的前提。
4.1 开始数据配置
进入任一设备的数据界面,单击“配置数据”按钮,当前设备进入数据配置态。进入配置态后,MThings强制显示所有配置数据,包括手动隐藏的配置行,且配置态中不允许隐藏任何配置信息。进入配置态后,MThings自动关闭所有当前设备正在进行后台通信,配置完成后,需要手动恢复。
4.2 新建数据配置
单击“新增数据”按钮,随后弹出的对话框中可指定新增配置的个数。 新建的配置数据默认添加在表尾,用户可通过“上移”或“下移”按钮控制一行或多行配置上下移动。
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位。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138134.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...