Modbus-RTU数据帧

简介: Modbus-RTU数据帧

介绍

Modbus-RTU数据帧,帧长度最大为256字节,由以下4部分构成:

  • 子节点地址: 1字节,范围0-247
  • 功能代码: 1字节
  • 数据块: 0-252字节
  • CRC校验值: 2字节,低8位在前


帧描述

Modbus-RTU帧间隔,Modbus-RTU要求两个RTU报文帧间隔要大于3.5个字节时间:

且每个报文帧内字节间隔小于1.5个字节时间,否则会认为接收不完整。


Modbus-RTU采用循环几余校验(CRC - Cyclical Redundancy Checking) 算法对报文顺全部数据进行计算,得到的校验值附加在报文末尾,低位在前。CRC-16_Modbus计算方法可以参考: CRC-16_Modbus校验算法。


实际请求/应答交互示例

示例1: 写单个寄存器。向01地址设备0x0105保持寄存器写入1个数据: 0x0190

主机发送: 01 06 01 05 01 90 99 CB从机回复: 01 06 01 85 01 90 99 CB


01表示从机地址,06功能码表示写单个保持寄存器,0105表示寄存器地址,0190表示写入寄存器的数值,99CB为CRC校验值。可以看出,当写1个寄存器数据时,从机响应的数据帧和主机发送的数据帧完成一致。


示例2: 写多个寄存器。向01地址设备0x0105、0x0106、0x0107地址保持寄存器,写入3个寄存器数据: 0x1102,0x0304,0x0566


主机发送: 01 10 01 05 00 03 06 11 02 03 04 05 66 4a 12从机回复: 01 10 01 05 00 03 91 f5

同理,01从机地址,10功能码表示写多个保持寄存器,0105表示起始地址0003表示写3个寄存器,06表示数据量为6个字节1102/0304/0566分别表示写入3个寄存器的数值,4a12表示CRC校验数值.

可以看出,写多个寄存器时使用10功能码,从机回复数据也比较精简。

示例3: 读单个寄存器。读01地址设备0x0105保持寄存器数据

主机发送: 01 03 01 05 00 01 95 f7从机回复: 01 03 02 56 78 87 c6


03表示读多个寄存器,0105表示起始地址,0001表示读1个寄存器

02表示2个字节,56 78表示寄存器的数据

示例4: 读多个寄存器。读01地址设备0x0105、0x0106、0x0107地址保持寄存器,共3个寄存器数据:

主机发送: 01 03 01 05 00 03 14 36从机回复: 81 03 06 11 22 33 44 55 66 2a 18


03表示读多个寄存器,0105表示起始地址,0003表示读3个寄存聚

06表示6个字节,11 22 33 44 55 66表示寄存器的数据

目录
相关文章
|
算法 安全 网络安全
简单认识一下mbedTLS
简单认识一下mbedTLS
3400 0
|
缓存 安全 网络协议
手把手教你如何搭建自己的文件服务器
由于FTP、HTTP、Telnet等协议的数据都是使用明文进行传输的,因此从设计上就是不可靠的。人们为了满足以密文方式传输文件的需求,发明了vsftpd服务程序。vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费。此外,它还具有很高的安全性、传输速度,以及支持虚拟用户验证等其他FTP服务程序不具备的特点。在不影响使用的前提下,管理者可以自行决定客户端是采用匿名开放、本地用户还是虚拟用户的验证方式来登录vsftpd服务器。这样即便黑客拿到了虚拟用户的账号密码,也不见得能成功登录vsftpd服
2740 0
|
存储 SQL 分布式计算
Hologres+MaxCompute数据仓库服务化详解
介绍如何基于Hologres和MaxCompute产品组合,支撑高并发、快响应的数据服务化场景,替换HBase开发模式,实现数据资产服务化在线化能力。
21783 0
 Hologres+MaxCompute数据仓库服务化详解
|
API C# Windows
LabVIEW​​共享​变量生命周期
LabVIEW​​共享​变量生命周期
300 1
|
机器学习/深度学习 算法 物联网
100套安卓(Android)毕业设计(带论文)、大作业、现成原创作品(Android Studio)Android毕业设计项目,源码+论文
100套安卓(Android)毕业设计(带论文)、大作业、现成原创作品(Android Studio)Android毕业设计项目,源码+论文
1378 4
|
监控 供应链
医院管理信息系统源代码,中小医院云HIS系统源码
HIS系统是医院信息化的核心,涵盖门诊、住院、药房、财务等模块。其功能包括患者管理、电子病历、医生工作站、护士工作站及临床诊疗等,实现从挂号收费到住院结算全流程自动化管理,提升医疗服务效率与质量。该系统通过综合管理与统计分析,优化医院运营。
816 13
|
机器学习/深度学习 人工智能 PyTorch
深度学习领域中pytorch、onnx和ncnn的关系
PyTorch、ONNX 和 NCNN 是深度学习领域中的三个重要工具或框架,它们在模型开发、转换和部署过程中扮演着不同但相互关联的角色。
1150 12
|
存储 数据可视化 数据挖掘
【计算机二级Python】模拟试卷第3套选择题
第三套计算机二级Python考试的模拟选择题,包含40道题目,内容涉及数据结构、程序设计方法、软件工程、数据库技术、Python语言特点、基本语法、控制结构、函数、文件操作等,旨在帮助考生复习和准备考试。
541 3
|
Android开发
【苹果安卓通用】xlsx 和 vCard 文件转换器,txt转vCard文件格式,CSV转 vCard格式,如何批量号码导入手机通讯录,一篇文章说全
本文介绍了如何快速将批量号码导入手机通讯录,适用于企业客户管理、营销团队、活动组织、团队协作和新员工入职等场景。步骤包括:1) 下载软件,提供腾讯云盘和百度网盘链接;2) 打开软件,复制粘贴号码并进行加载预览和制作文件;3) 将制作好的文件通过QQ或微信发送至手机,然后按苹果、安卓或鸿蒙系统的指示导入。整个过程简便快捷,可在1分钟内完成。
1624 6
|
编解码 监控 测试技术
优化OBS的推流设置以提高直播质量
优化OBS的推流设置以提高直播质量
3001 0