现有MODBUS调测软件种类丰富,基本能够知足平常调测需求,可是面对用户群体对高效灵活友好的进一步需求都存在着差距。服务器
MThings是一款全新的标准化MODBUS调测工具,提供主从机一体化操做。它主要解决以下问题:网络
@同时支持MODBUS主机和从机功能,以设备视角管理通讯对象,快捷且持久化数据配置、无菜单设计,操做友好。工具
@支持MODBUS-RTU、MODBUS-ASCII、MODBUS-TCP(客户端或服务器)、MODBUS-UDP。设计
@无设备个数限制。3d
@多通道并行,串口、TCP、UDP设备能够同时在一个软件内运行。对象
@支持报文监控存储、报文分析。blog
@从机模式下支持多种变化数据模拟方法。字符串
@支持丰富的链路丢包统计方法。同步
@数据可视化,支持曲线化长期监视数据变化,支持数据显示类型和协议类型的灵活转换。it
@彻底免费,绿色版。
MODBUS协议是一份相对简单的总线协议,交互流程和报文约定在《Modbus Application Protocol V1_1b3》中能够获得明确的解答。这里对常常引发歧义的数据块和数据定义阐述我的理解。
协议中定义4种数据块,基于数据类型可分为两类:BIT数据和寄存器数据,结合读写属性,数据块之间的关系以下图:
数据是数据块中具体信息的详细定义,不一样数据块中的数据定义是相互独立的。一条数据定义能够包含多个连续BIT/REG数据点。
描述数据的属性主要包括:
@隶属数据块
@数据名称
@数据地址
@数据量
@数据类型(协议类型)
@数据系数(浮点数据被整形传输时涉及)
@字节序(寄存器数据涉及)
@字序(寄存器数据量≥2Word涉及)
@同一数据块中,不一样的数据定义的数据地址+数据量不能出现重叠;
@任何数据块的数据在从机侧都是可读可写的;
@不一样数据块中的数据在从机侧能够指向同一数据对象,其拥有两个不一样数据块地址,区别在于经过这种差别开放不一样的读写权限;
@REG数据的数据量最小为1,最大值不得超过上限(输入寄存器:125,保持寄存器123);
@BIT数据的数据量固定为1,表明占用1Bit,同时数据系数属性失效;
@同一数据块中,不一样的数据定义的数据地址+数据量不能出现重叠;
@任何数据块的数据在从机侧都是可读可写的;
@不一样数据块中的数据在从机侧能够指向同一数据对象,其拥有两个不一样数据块地址,区别在于经过这种差别开放不一样的读写权限;
@REG数据的数据量最小为1,最大值不得超过上限(输入寄存器:125,保持寄存器123);
@BIT数据的数据量固定为1,表明占用1Bit,同时数据系数属性失效;
协议数据定义方式主要基于传输设计,其与UI数据之间势必存在相互转换的问题,包括类型、长度、功能差别。MThings支持多种协议传输类型和UI数据类型,对应关系以下:
注:开始阶段若是没有加载其余配置文件,可跳过该步骤,程序退出前点击保存也能够建立配置文件。
①勾选新建设备所挂靠的串口(双击表头可全选)
②选择所建立的设备类型
③输入设备起始地址
④输入设备结束地址
注:起始地址 ≤ 结束地址,起始和结束地址相同表明添加一台设备,程序根据指定的起始到结束地址,自动为区间内每一个地址建立一个设备。
⑤点击“配置”,确认或修改串口参数
⑥查看或修改串口参数
⑦点击后程序开始添加设备
⑧设备添加成功后,可在此处查看到该设备。
注:设备名称默认格式:[M/S]端口名称-地址,用户可双击设备名称单元格自行修改,可是须要保证新名称不与其它设备名称冲突,不然名称修改失败。
注:同一路端口/连接中,不容许添加不一样设备类型设备。
①切换端口类型至“网络”
②点击“新建”按钮,新增一路网络配置
③确认或修改网络配置后点击“确认”,网络端口表格中对应新增一路连接
④勾选新建设备所挂靠的网络连接
⑤选择所建立的设备类型
⑥输入设备起始地址和结束地址
⑦点击开始添加设备
⑧设备添加成功后,可在此处查看到该设备。
①点击主菜单中的“数据”,切换到设备数据操做界面
②点击须要数据配置的设备
③点击“配置数据”按钮使得当前设备进入数据配置态
④点击“新增数据”按钮新建一条数据配置项,数据表格中同步增长一条默认配置
⑤修改数据配置项中各项参数
注:修改过程当中程序会自动关联参数变动,请仔细确认各项参数是否正确。
⑥点击按钮退出数据配置态
注:退出配置态前程序会校验最终的配置结果是否正确,若是数据地址存在冲突,请按照提示修改,不然没法退出配置态。
为了简便多设备的数据配置工做,程序支持在不一样设备之间进行配置共享。
①在源设备(数据配置共享)中点击按钮进入数据配置态
②点击“同步配置”
③指定配置同步的目标设备
④点击“肯定”按键后开始配置同步
读数据有两种方式:
①长按(>300ms)数值列单元格,程序自动发起一次数据(当前行)的读取请求
②点击“批量读”,一次发起多个数据的读请求(批量读配置项③已选择),用户也可根据提示发起循环批量读。
写数据有两种方式:
①双击“数值”列数据单元格,发起单个数据的写请求;单个数据写请求分为预置数据②或当即下发③。点击当即下发后,程序当即发起数据写请求,并自动跟随一次数据读请求,若是数据写请求执行成功,单元格中数据即为下发写数据。预置数据操做是为了给批量写操做提早预置目标数据。
④点击“批量写”,一次发起多个数据的写请求(批量写配置项⑤已选择),用户也可根据提示发起循环批量写。
从机设备的数据主要用来供主机读取,是为模拟数据。
模拟数据修改方法很简单,双击“数值”列数据单元格,输入相应数值便可。
若是须要将设定的模拟数据存储至配置文件,须要单击“配置数据”按钮,进入设备数据配置态后修改数据数值便可。
用户关闭程序前,程序自动检查配置是否在使用过程当中出现变动,并给出存储提示,因此请关注程序退出时弹出的提示信息,并给出正确选择。
数据配置是进行MODBUS读写操做的必经步骤,快速高效准确的完成数据配置是调测工做的前提。
进入任一设备的数据界面,单击“配置数据”按钮,当前设备进入数据配置态。进入配置态后,MThings强制显示全部配置数据,包括手动隐藏的配置行,且配置态中不容许隐藏任何配置信息。进入配置态后,MThings自动关闭全部当前设备正在进行后台通讯,配置完成后,须要手动恢复。
单击“新增数据”按钮,随后弹出的对话框中可指定新增配置的个数。 新建的配置数据默认添加在表尾,用户可经过“上移”或“下移”按钮控制一行或多行配置上下移动。
MThings支持以现有配置为模板来新建配置,单击“新增数据”按钮前,选中参照的数据配置行便可。若是没有选择任何数据配置行,MThings默认选择最后一行为新配置模板。
修改数据是最重要的步骤,MThings提供多种自动关联动做和校验功能,辅助用户准确完成数据配置。
一般,根据MODBUS协议点表的数据定义分别录入数据名称、数据区块、数据地址、数据量、单位、范围、系数、显示类型、传输类型、字节序、字序,普通单元格双击编辑便可。
其中,寄存器数据的数据量即为寄存器个数,BIT数据的数据量固定为1。
传输类型为协议定义类型,即报文中原始数据类型。
显示类型为指望数据在MThings界面上被解析的目标类型。
数据传输类型、显示类型等字段会根据其它字段的变化,自动匹配可选择项,非匹配类型将被禁用。
系数用于整形数据(传输类型)和浮点型(显示类型)相互转换,其余情景下,固定为1。举例:系数设置为0.1,原始传输数据为123,则界面显示数据为12.3。
1) BIT类型数据,数据量固定为1,传输类型固定为BIT,数据系数固定为1,字节序、字序禁止为无效;
2) 寄存器类型数据,传输类型禁止为BIT;
3) 输入寄存器数据量不超过125;
4) 保持寄存器数据量不超过123;
5) 传输类型为浮点型时,系数固定为1;
6) 数据量为1时,传输类型禁止浮点型;
7) 数据量不是一、二、4时,传输类型禁止全部整形;
8) 传输类型为整形或浮点型时,字节序和字序可配置,不然禁用;
9) 数据量为二、4时,字序可配置,不然禁用;
10)当前显示类型为字符串(STRING)或码流(BYTES)时,该数据不支持曲线绘制;
单击“数据配置”按钮,MThings检查全部数据配置是否合法,若是检查经过,当前设备返回到操做态,不然提示配置异常,并给出异常缘由。
使用配置同步功能,编辑一台设备配置后,将当前配置同步给拥有相同点表的其它设备;借用已有数据配置模板添加新数据配置;