当前位置:网站首页 > R语言数据分析 > 正文

modbus报文解析RTU(modbus报文解析在线工具)



RS485 Modbus主机教程(简版)
前言

本教程参考 FlexLua 官网 ShineBlink 开发板栏目,FlexLua技术可降低 IoT 硬件开发难度,零门槛开发 IoT 硬件。


一、介绍

ShineBlink 提供如下四个 Modbus-RTU 主机通信(简版)函数,用来简化 Modbus-RTU 主机通信实现的代码量,开发者只需要在函数参数中完成简单的配置即可实现通过 RS485 读取各种 RS485传感器设备的数据:

--四个Modbus-RTU主机通信简版函数的详细说明,这四个函数的详细说明请参看 ShineBlink 的 Api 文档
LIB_ModbusToJsonConfig() --初始化 Modbus-RTU 主机通信实例,并配置结果 Json 字符串长度
LIB_ModbusToJsonAdd() --增加 一个要读取的寄存器
LIB_ModbusToJsonSend() --执行RS485发送
LIB_ModbusToJsonFinishCheck() --等待RS485应答数据





目前支持的功能为:01,02,03,04:

功能码 | 功能介绍 |

01 | 读线圈 |
02 | 读离散量输入 |
03 | 读保持寄存器 |
04 | 读输入寄存器 |


二、核心代码片段示例

以下代码示例使用 Modbus-RTU 主机通信(简版)函数读取一个 RS485 温湿度传感器的代码片段。

开发者通过配置相应的参数,构造一个 ModbusToJson() 函数后即可获取到温湿度传感器的数据(以 Json 字符串形式返回),关于该函数的详细使用例程源码请参看《RS485 Modbus主机例程(简版)》文章。

--读取RS485温湿度传感器
--获取到的Json数据形如:{"Humi":79.7,"Temp":26.8}
function ModbusToJson()
--配置RS485 Modbus转Json功能,并设置将要生成的Json字符串最大长度为150字节
LIB_ModbusToJsonConfig(150)--必须小于255
--湿度值寄存器地址0x0000,类型为16bit带符号AB型,小数点个数1个,Json Key名称"Humi"
LIB_ModbusToJsonAdd(0x0000,"S_AB",1,"Humi")
--温度值寄存器地址0x0001,类型为16bit带符号AB型,小数点个数1个,Json Key名称"Temp"
LIB_ModbusToJsonAdd(0x0001,"S_AB",1,"Temp")
--参数设置(波特率4800,无校验,1位停止位,功能码"03",从机地址0x01,应答最长等待1000ms,包与包最短间隔100ms)
LIB_ModbusToJsonSend("BAUDRATE_4800","NoneParity","StopBit_1","03",0x01,1000,100)
end












如果感兴趣,上面代码中出现的LIB开头的库函数可以在 API文档 中通过Ctrl+F查询。

到此这篇modbus报文解析RTU(modbus报文解析在线工具)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • rmp怎么读(rmii怎么读)2026-03-03 17:36:08
  • rpro怎么读(airpro怎么读)2026-03-03 17:36:08
  • codevs题库(codeforces题库)2026-03-03 17:36:08
  • awork是什么(work是啥意思啊)2026-03-03 17:36:08
  • ipad显示无法连接到appsrore(ipad出现无法连接到app store)2026-03-03 17:36:08
  • 怎么添加bigboss源(bigboss源没有mobilesubstrate依赖)2026-03-03 17:36:08
  • vmware虚拟机下载安装(vmware虚拟机下载安装包)2026-03-03 17:36:08
  • raise a suilen萌娘百科(railwars萌娘百科)2026-03-03 17:36:08
  • seated on(seated on the train为什么用seated)2026-03-03 17:36:08
  • raised(raised怎么读)2026-03-03 17:36:08
  • 全屏图片