当前位置: 首页 > article >正文

Qt编写的modbus模拟器/支持网络和串口以及websocket/支持网络rtu

一、使用说明

1.1 设备模拟-Com

在这里插入图片描述

  1. 第一步,填写要模拟的设备地址,0表示自动处理,也就是收到什么地址就应答什么地址。
  2. 第二步,填写对应的串口号和波特率。
  3. 第三步,单击打开串口,成功后会变成关闭串口字样。
  4. 单击清空数据会将左侧打印栏的信息清空。
  5. 右侧一堆微调框用于模拟对应设备多个寄存器地址的值,默认是8个寄存器,微调框可以输入负数值。
  6. 单击随机按钮,用于随机生成该范围值的数据,方便测试验证数据。

1.2 设备模拟-Tcp

在这里插入图片描述

  1. 第一步,填写要模拟的设备地址,0表示自动处理,也就是收到什么地址就应答什么地址。
  2. 第二步,填写监听的端口号,这里没有指定网卡,默认绑定所有网卡。无论连接哪个网卡的端口都能连通。
  3. 第三步,选择数据模式,可选Rtu模式和Net模式。
  4. 第四步,单击开始监听,监听成功会变成关闭监听字样。
  5. 单击清空数据会将左侧打印栏的信息清空。
  6. 右侧一堆微调框用于模拟对应设备多个寄存器地址的值,默认是8个寄存器,微调框可以输入负数值。
  7. 单击随机按钮,用于随机生成该范围值的数据,方便测试验证数据。

1.3 设备模拟-Udp

在这里插入图片描述

  1. 第一步,填写要模拟的设备地址,0表示自动处理,也就是收到什么地址就应答什么地址。
  2. 第二步,填写监听的端口号,这里没有指定网卡,默认绑定所有网卡。无论连接哪个网卡的端口都能连通。
  3. 第三步,选择数据模式,可选Rtu模式和Net模式。
  4. 第四步,单击开始监听,监听成功会变成关闭监听字样。
  5. 单击清空数据会将左侧打印栏的信息清空。
  6. 右侧一堆微调框用于模拟对应设备多个寄存器地址的值,默认是8个寄存器,微调框可以输入负数值。
  7. 单击随机按钮,用于随机生成该范围值的数据,方便测试验证数据。

1.4 设备模拟-Web

在这里插入图片描述

  1. 第一步,填写要模拟的设备地址,0表示自动处理,也就是收到什么地址就应答什么地址。
  2. 第二步,填写监听的端口号,这里没有指定网卡,默认绑定所有网卡。无论连接哪个网卡的端口都能连通。
  3. 第三步,选择数据模式,可选Rtu模式和Net模式。
  4. 第四步,单击开始监听,监听成功会变成关闭监听字样。
  5. 单击清空数据会将左侧打印栏的信息清空。
  6. 右侧一堆微调框用于模拟对应设备多个寄存器地址的值,默认是8个寄存器,微调框可以输入负数值。
  7. 单击随机按钮,用于随机生成该范围值的数据,方便测试验证数据。

二、功能特点

  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

http://www.kler.cn/news/361012.html

相关文章:

  • Standard_Matrix
  • 异步优化看板查询接口,从29s优化至2.8s
  • 如何自定义一个自己的 Spring Boot Starter 组件(从入门到实践)
  • Tcp协议讲解与守护进程
  • 第二十八篇:TCP协议概述,TCP系列二
  • 华为OD机试2024年真题(基站维修工程师)
  • 【二】企业级JavaScript开发之代码编辑器
  • Vue day06(路由进阶)
  • Segment Routing IPv6简介
  • 《保护你的网站:多维度防护策略分析》
  • AcWing 11 背包问题求方案数
  • 2024第四届中国RPA+AI开发者大赛圆满收官获奖名单公示
  • 小新学习Docker之Docker--harbor私有仓库部署与管理
  • Comsol 低频宽带排气消声器
  • 案例分析:拒绝服务攻击引发的网络调优之旅
  • blender分离含有多个动作的模型,并导出含有材质的fbx模型
  • 软件分享丨火绒应用商店
  • 【C++指南】类和对象(四):类的默认成员函数——全面剖析 : 拷贝构造函数
  • Leetcode 1857. 有向图中最大颜色值
  • Harmony OS 开发之ArkTS语言基础-类、接口、继承、模块、泛型