首页 > 其他分享 >一种报文解析方法和工具

一种报文解析方法和工具

时间:2023-03-11 12:34:26浏览次数:24  
标签:协议 00 二进制 报文 MODBUS 工具 解析

现状

智能设备应用越来越普遍,深入到生活的各个方面,从智慧农业到智能制造,从水利灌溉到电力传输,从工业生产到智能家居。智能设备应用在各个领域,设备之间都是通过数据交换来达到信息共享和互相操作,交换的数据都遵守某个协议标准,在测试时,调试时和排查问题过程中往往会需要分析交换的数据报文。分析报文是个费力和费时的过程,所以出现了很多针对某个协议开发的解析工具,这篇文章引入一个新的思路,在平台通过配置就可以解析报文方法,而不需要针对某个协议去开发特定的工具。目前,平台已经支持了多个IEC104, MODBUS TCP,MODBUS RTU MODBUS ASCII等标准的协议。

免费的IOT-Assistant

IOT-Assistant是一个旨在减轻物联网从业人工作的软件,简称物联网助手。目前,它主要用于分析智能设备二进制流式报文协议,比如IEC104中带品质遥测报文68 13 06 00 02 00 09 82 14 00 01 00 01 07 00 A1 10 00 89 15 00。它不支持JSON和SOAP这种可读性高的报文,它也不能和设备进行通信,所以它不支持设备调试,但能分析输入的报文,也支持用户拼装报文,能在不少场合减轻工作量。

五个功能点

  • 配置报文术语,报文块和解析规则
  • 支持协议分享的团队协作功能
  • 分析二进制流报文
  • 拼装二进制报文
  • 内置支持IEC101/104和MODBUS标准协议

1 配置报文值含义,报文块和解析规则

报文值含义是指标准中某个值表示的意思,比如104规约中类型标识值,0x01表示单点遥信,0x03表示双点遥信。字段用可读的名词来会更易于交流,也容易记忆。
大部分的协议标准都会分为协议头,协议尾和数据信息,有些数据区块在协议的多个报文中都是具有相同的结构,这里用报文块来描述一段常被复用的区块。
解析规则可以配置每个字节和每个位的解析方式,以及解析后还应进行的偏移,放大和缩小,及复杂的加工逻辑,这里支持常用+,-,*,/ 等四则运算。

 

2 支持协议分享的团队协作功能

在工作中往往有多种角色需要分析报文,有嵌入开发工程师,平台软件开发工程师,测试工程师和工程维护工程师。大家都需要按同一个协议来解析报文,所以在系统中加入了协议分享的功能,可以把协议分享给内部的和外部的工程师,这样避免了大家解析工具不同步造成的歧义。当相应的工作结束后可以停止分享,也有利于加强协议的安全管理。

3 分析二进制流报文

分析二进制流报文是物联网助手的主要目的,如果协议族有较好的匹配规则,只需选择报文隶属的协议族,就可以解析报文,如果协议族没有较好的匹配规则,比如MODBUS协议,有些报文不能识别是上行报文还是下行报文,这时需要指定某个报文去解析。下面这张图是解析IEC104的一个报文。

 

4 拼装二进制报文

拼装报文是分解报文的逆过程,用于辅助工程师手动组装一个报文。这个功能目前还比较弱,我们也没有好的构思。如果你有好的构思,欢迎你给我们建议,你也可以加入我们的开放团队。

 

5 内置支持IEC101/104和MODBUS标准协议

IEC101/104和MODBUS标准协议应用的太广泛了,所以已经在系统配置好了这两个协议,同时也用了这两个协议来测试和验证软件的功能。

上面介绍了一种配置解析报文的方法,感谢大家的阅读。点击物联网助手,立即免费使用!

标签:协议,00,二进制,报文,MODBUS,工具,解析
From: https://www.cnblogs.com/20230311blog/p/17205643.html

相关文章

  • 单元测试工具之Xunit
    https://www.bbsmax.com/A/nAJvkgba5r/ 在.NET开发中的单元测试工具之——xUnit.Net 原始出处 http://zhoufoxcn.blog.51cto.com/792419/1172320在上一篇《在.......
  • 解析JAVA环境变量及配置
    写在前面:参考CSDN博主-StandByMeQuan文章:https://blog.csdn.net/qq_37872792/article/details/80642985其实博主已经写得很好了,但是我怕到时后该博文被删了,无法......
  • 2023国家线-考研人爱不释手的宝藏资源网站-搜嗖工具箱
    研招网https://yz.chsi.com.cn说起这个网站,想必考研的小伙伴都不陌生,研招网是教育部全国硕士研究生招生考试网上报名和网上调剂指定网站,既是各研究生招生单位的宣传咨询......
  • 【数据分析:工具篇】NumPy(1)NumPy介绍
    (【数据分析:工具篇】NumPy(1)NumPy介绍)NumPy介绍NumPy(NumericalPython)是Python的一个开源的科学计算库,它主要用于处理大规模的多维数组以及矩阵操作。NumPy是在Python中进......
  • 肯天脱模剂案例研究| 先进技术带来更长的工具使用寿命
    小肯教授案例研究压铸一直是肯天的一部分压铸解决方案自始至终随着条件不断变得更加苛刻效率变得更加重要材料变得更加昂贵我们与客户一起努力发现每一种可能性本次案例研......
  • node版本控制工具nvm安装教程
    1.卸载node,后删除node文件夹里的所有内容2:安装nvm管理工具(1)下载地址:https://github.com/coreybutler/nvm-windows/releases(2)设置nvm安装目录,再设置node安装目录3......
  • .net 常用工具类收藏
    Masuit.Tools包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期......
  • VScode开发者工具快捷键
    VScode开发者工具快捷键 VSCode打开文件夹与创建文件选择文件夹拖拽文件夹生成浏览器文件.html的快捷方式!+回车VSCode常用快捷键列表代码格式化:Sh......
  • 前端工具的选择与安装
    前端工具的选择与安装 前端常见开发工具工欲善其事必先利其器浏览器浏览器是我们最重要的合作伙伴 推荐选择我们推荐谷歌浏览器,有两点原因:简洁大方,打开......
  • 修改node项目自动重启 | nodemon工具包
    1、为什么使用nodemon(1)在编写调试Node.js项目的时候,如果修改了项目的代码,则需要频繁的手动close掉,然后再重新启动,非常繁琐。现在,我们可以使用nodemon工具包这个工......