首页 > 其他分享 >超轻巧modbus调试助手使用说明

超轻巧modbus调试助手使用说明

时间:2024-10-02 08:49:41浏览次数:1  
标签:字节 单击 写入 modbus 采集 轻巧 寄存器 数据 调试

一、使用说明

1.1 数据格式

  • 和其他的modbus采集工具一样,本组件也支持各种数据格式,其实就是高字节低字节的顺序。
  • 一般是2字节表示一个数据,后面又有4字节表示一个数据,目前好像还有8字节表示一个数据的设备。
  • 不同厂家的设备对应的字节顺序可能不同,要求可以自定义顺序,以便满足各种设备的接入。
  • 4字节的数据可以是长整型,也可能是浮点数,按照标准规则计算出浮点值。面对浮点数的采集,很多国内的厂商的做法是以长整型数据发出,再除以一个值比如1000进行换算,因为下位机往往是单片机,单片机对浮点数运算很鸡肋很吃力。
  • 最终的数据解析还要区分有符号和无符号,一般都是有符号,因为可以表示负数,比如温度就有负数。目前本组件都是按照有符号进行运算,后面有场景需要可以增加无符号的支持。
  • 如果发现数据解析不对,可以调整对应的顺序试试。
  • Short_AB,短整型数据,总共2字节,正序,高字节在前,低字节在后。
  • Short_BA,短整型数据,总共2字节,反序,低字节在前,高字节在后。
  • Long_ABCD,长整型数据,总共4字节,大端模式正序。
  • Long_DCBA,长整型数据,总共4字节,小端模式正序。
  • Long_BADC,长整型数据,总共4字节,大端模式反序。
  • Long_CDAB,长整型数据,总共4字节,小端模式反序。
  • Float_ABCD,浮点型数据,总共4字节,大端模式正序。
  • Float_DCBA,浮点型数据,总共4字节,小端模式正序。
  • Float_BADC,浮点型数据,总共4字节,大端模式反序。
  • Float_CDAB,浮点型数据,总共4字节,小端模式反序。

1.2 数据采集

  1. 第一步,协议类型选择,本组件支持多种协议类型,如果选择的com,则需要填写串口号和波特率,选择的网络比如TCP,需要填写主机和端口号。
  2. 第二步,选择轮询间隔,默认1s轮询一次。
  3. 第三步,选择超时次数,默认3次,表示轮询3次还没有收到数据就离线。
  4. 第四步,添加要采集的设备地址,起始地址和采集数量。默认会有三个地址,可以直接在表格中修改后再单击保存。
  • 单击添加按钮,会生成一个默认值的新行,直接修改值,单击保存。
  • 单击删除按钮,会将当前选中的行删除,删除后自动保存。
  • 单击保存按钮,将表格中的所有数据保存到配置文件。
  • 单击清空按钮,将表格中的所有数据清空,自动保存。
  • 第一列填设备地址,1个字节,范围值1-247,切记这里是从1开始的。在RTU协议中对应在第一个字节,在TCP协议中对应在第六个字节。
  • 第二列填寄存器开始地址,2个字节,范围值0-65535,切记这里是从0开始的,0表示第一个寄存器。
  • 第三列填采集的数量,2个字节,和开始地址组合使用,开始地址+数量<=65535。
  • 如果开始地址填0,采集数量填2,则表示采集寄存器1、寄存器2共2个寄存器的数据。
  • 如果开始地址填7,采集数量填4,则表示采集寄存器8、寄存器9、寄存器10、寄存器11共4个寄存器的数据。
  • 第四列填数据顺序格式,见上面数据格式说明。一般填Short_BA、Long_DCBA。
  1. 单击启动服务按钮,会自动启动采集线程,如果采集设备存在则会显示对应采集到的数据。
  2. 单击重新读取按钮,会立即复位设备离线状态,全部设备重新采集。为什么需要这个?因为一般在modbus采集过程中,都是按照轮询的方式采集的,但是实际场景中有些设备坏了或者根本没有,那每次都占用一次轮询时间是不是很浪费呢?这就需要自动跳过离线的设备,加快轮询速度。但是可能后面设备又接上去了,这个时候要么等待重连时间到了去采集,要么单击这个重新读取按钮立即触发。联调过程中往往喜欢单击这个按钮去立即触发一次,因为重连时间可能会比较大,傻傻的等待也不是个事。
  3. 单击清空数据按钮,会清空左侧显示的数据,双击左侧的显示栏也会自动清空。
  4. 所有收发的数据也会打印显示在左侧,方便查阅分析问题,也可以看到采集到的最终的值。

1.3 数据写入

  1. 第一步,生成寄存器复选框和微调框,数量下拉框选择要生成的数量,单击一键生成。复选框的作用是用于单个写入数据,勾选了则表示该寄存器需要写入数据。
  2. 第二步,填写好设备地址,从1开始,也就是对哪个设备写入数据。
  3. 第三步,单击写入数据/单个写入按钮,对勾选的寄存器地址写入对应微调框的值。
  4. 第四步,如果需要连续写入,还需要设置开始地址和写入数量,再单击连续写入按钮。
  5. 单个写入对应功能码0x06,连续写入对应功能码0x10。
  6. 写入动作和写入成功在左侧都有打印显示,一般是深绿色颜色显示,关键字写寄存器。

二、功能特点

  1. 支持多种物联网通信协议,包括modbus和mqtt。
  2. 协议方式支持串口com通信、网络tcp通信、网络udp通信、网络websocket通信。
  3. 数据规则支持rtu模式和网络模式,网络rtu模式也就是modbus rtu over tcp/udp/websocket。相当于modbus串口协议数据走网络方式通信。
  4. 支持批量连续写入寄存器数值和单个写入寄存器数值。
  5. 支持数据顺序格式的设置,比如大端小端,高字节在前低字节在前的设置。支持Short_AB、Short_BA、Long_ABCD、Long_CDAB、Long_BADC、Long_DCBA、Float_ABCD、Float_CDAB、Float_BADC、Float_DCBA等。
  6. 支持数据位字节数设置,比如短整型、长整型、浮点型等。常规的一般是2字节表示一个数据位,也有设备是4字节表示一个数据位,还有4字节浮点数的形式。后期可能还有8字节一个数据位。
  7. 支持mqtt协议,可设置主机地址和端口、协议版本、唯一标号、用户名称、用户密码。
  8. 支持mqtt发布主题、订阅主题、取消订阅。
  9. 定时自动发布主题,可设置保活时间、超时时间、过期时间。mqtt通信自动重连。
  10. mqtt模拟数据收发支持多种格式,文本、json、base64、hex等。
  11. mqtt同时支持websocket方式,还支持ssl方式通信。
  12. 支持多种采集通讯方式,包括串口和网络等,可自由拓展其他方式。可同时采集多路。
  13. 自定义采集间隔(精确到毫秒)和超时次数,超时后自动将离线的文件从轮询队列中移除,加快轮询速度。
  14. 可设置最大超时重连间隔,将离线的设备重新探测一次,保证设备恢复正常后能够重新加入轮询队列。
  15. 同时提供了设备模拟工具,支持各种协议,支持设定多个设备的数据值。
  16. 模拟工具可随机切换模拟数据值,要正常随机数据就模拟生成正常范围的数据,要报警数据就模拟生成报警范围的数据。方便测试。
  17. 多线程采集和解析数据,以信号的方式发送解析结果,不卡主线程。
  18. 架构采用基类继承方式,通用处理在基类,极易拓展其他通信方式。
  19. 接口友好,使用非常简单,设置要采集的地址集合、开始索引集合、采集数量集合、数据顺序格式四个参数即可。会自动组装对应协议的数据发送。
  20. 采集后的数据以统一格式的信号发出来,非常简单易用。支持浮点型数据。
  21. 采集指令有优先级,如果有自定义的数据需要优先执行。可以将优先级高的指令调用append方法插入即可。可批量采集也可单个采集。
  22. 支持利用现有的通信链路发送自定义数据,这个数据可以不是标准的modbus协议,比如有时候需要一些私有协议数据,利用现有链路发送下去执行。
  23. 多线程高并发,每个端口采集都是一个独立的线程,互不干扰,支持成千上万个设备采集。
  24. 代码做了兼容,支持各种编译器,同时支持Qt4、Qt5、Qt6。
  25. 跨平台,支持windows、linux、mac、嵌入式linux、android、各种国产系统和开发板等。

三、相关链接

  1. 体验地址:https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A 提取码:o05q 文件名:bin_iottool.zip
  2. 国内站点:https://gitee.com/feiyangqingyun
  3. 国际站点:https://github.com/feiyangqingyun

标签:字节,单击,写入,modbus,采集,轻巧,寄存器,数据,调试
From: https://www.cnblogs.com/feiyangqingyun/p/18444404

相关文章

  • 7、超参数调试、Batch正则化
    1、调整过程  在训练神经网络时,超参数的调试十分重要,下面分享一些指导原则。     通常来说,①学习因子α是最重要的超参数,也是需要重点调试的超参数。②动量梯度下降因子beta、各隐藏层神经元个数hiddenunits和mini-batchsize的重要性仅次于alpha。③然后就是神经网络......
  • jsphealth59p27(程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发)环境带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题背景随着生活节奏的加快和社会压力的增加,健康问题日益成为人们关注的焦点。无论是学校、社会还是家庭,都越来越重视身体健康,定期体检已成为......
  • springboot基于java的智慧点餐系统(源码+文档+调试+vue+前后端分离)
    收藏关注不迷路!!......
  • jspGoodstuff社区购物网站8pf7x--程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,商品分类,商品信息技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技术主数据库使用MySQL开题报告内容一、项目背......
  • 基于Python可视化的学习系统的设计与实现(源码+文档+调试+答疑)
    文章目录一、项目介绍二、视频展示三、开发环境四、系统展示五、代码展示六、项目文档展示七、项目总结大家可以帮忙点赞、收藏、关注、评论啦......
  • ModbusTCP通信协议分析
    前言大家好!我是付工。前面给大家介绍了一系列关于RS485与Modbus的知识。终于有人把RS485说清楚了终于有人把Modbus说明白了通透!终于把ModbusRTU弄明白了今天跟大家聊聊关于ModbusTCP协议的那些事。一、发展历史ModbusTCP是一种基于以太网的通信协议.ModbusTCP协议由施耐德......
  • linux内核调试痛点之函数参数抓捕记
    1.linux内核调试工具crash并不能直接显示函数参数,而这个对调试又非常重要下面是工作中一个实际的问题,我们的进程hang在如下一个内核栈中了,通过栈回溯可知是打开了一个nfs3的网盘文件或者目录,已知客户机器的NAS盘不可访问了,只要访问就会hang住,但我们的进程理论上是不会访问该NAS......
  • 基于区块链技术的健身房管理系统的设计与实现(源码+LW+讲解和调试)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 基于区块链技术的在线点餐管理系统的设计与实现(源码+LW+调试文档+讲解等)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 基于区块链技术的英语学习网站的设计与实现(源码+LW+讲解和调试)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......