首页 > 其他分享 >MODBUS规约的秘密之二-----写数据之遥控遥调

MODBUS规约的秘密之二-----写数据之遥控遥调

时间:2024-11-17 10:14:57浏览次数:3  
标签:00 字节 -- 报文 遥调 MODBUS 地址 ----- 寄存器

写数据主要用于遥控,遥调和对时等操作,本质是通过写寄存器的方式来实现的。

写数据分成两种,一种是写单个寄存器,功能码一般用5和6
格式如下:
请求报文格式:在这里插入图片描述
MBAP报文头报文中的长度:设备地址长度+功能码长度+寄存器地址长度+需要写的值的长度 = 6

回复报文格式:在这里插入图片描述
MBAP报文头报文中的长度:设备地址长度+功能码长度+寄存器地址长度+需要写的值的长度 = 6

黄色表示MODBUS_TCP报文包含的部分,蓝色表示MODBUS_RTU表示报文包含的部分。
差别就是MODBUS_TCP多一个MBAP报文头,少一个校验码
MODBUS_RTU是少一个MBAP报文头,多一个校验码

我们看到收发报文的格式基本一致,长度也一样。

因此这个开发是比较好做的。
有个约定,就是遥控00FF表示遥控合,0000表示分。

报文例子:

00 00 00 00 00 06 --> 传输标志2字节:0,协议标识2字节:0,报文长度2字节:6
    01 --> 从机地址:1(温湿度)
    05 --> 功能码:5,强置单线圈
    00 7B --> 写寄存器起始地址:123
        00 00 --> 控制值:0(无符号)0(有符号)(遥控分0000,遥调值为0)
2024/11/15 08:49:40.147 <<-- 00 00 00 00 00 06 01 05 00 7B 00 00
00 00 00 00 00 06 --> 传输标志2字节:0,协议标识2字节:0,报文长度2字节:6
    01 --> 从机地址:1(温湿度)
    05 --> 功能码:5,强置单线圈
    00 7B --> 写寄存器起始地址:123
        00 00 --> 控制值:0(无符号)0(有符号)(遥控分0000,遥调值为0)
2024/11/15 08:49:42.228 -->> 00 00 00 00 00 06 01 05 01 C8 FF 00
00 00 00 00 00 06 --> 传输标志2字节:0,协议标识2字节:0,报文长度2字节:6
    01 --> 从机地址:1(温湿度)
    05 --> 功能码:5,强置单线圈
    01 C8 --> 写寄存器起始地址:456
        FF 00 --> 控制值:65280(无符号)-256(有符号)(遥控合FF00)
2024/11/15 08:49:42.261 <<-- 00 00 00 00 00 06 01 05 01 C8 FF 00
00 00 00 00 00 06 --> 传输标志2字节:0,协议标识2字节:0,报文长度2字节:6
    01 --> 从机地址:1(温湿度)
    05 --> 功能码:5,强置单线圈
    01 C8 --> 写寄存器起始地址:456
        FF 00 --> 控制值:65280(无符号)-256(有符号)(遥控合FF00)
00 00 00 00 00 06 --> 传输标志2字节:0,协议标识2字节:0,报文长度2字节:6
    01 --> 从机地址:1(温湿度)
    06 --> 功能码:6,预置单寄存器
    03 15 --> 写寄存器起始地址:789
        04 57 --> 控制值:1111(无符号)1111(有符号)(遥调值)
2024/11/15 08:51:50.972 <<-- 00 00 00 00 00 06 01 06 03 15 04 57
00 00 00 00 00 06 --> 传输标志2字节:0,协议标识2字节:0,报文长度2字节:6
    01 --> 从机地址:1(温湿度)
    06 --> 功能码:6,预置单寄存器
    03 15 --> 写寄存器起始地址:789
        04 57 --> 控制值:1111(无符号)1111(有符号)(遥调值)    

标签:00,字节,--,报文,遥调,MODBUS,地址,-----,寄存器
From: https://blog.csdn.net/XZHOUMIN/article/details/143785269

相关文章

  • 20222301 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容1.1本周学习内容回顾本文采用了Metasploit框架,这是一款功能强大的渗透测试工具。Metasploit提供了丰富的攻击模块,涵盖远程代码执行、服务拒绝、提权等多种攻击方式,支持对多种操作系统和应用程序进行测试。除了漏洞利用,Metasploit还具备强大的后渗透功能,如键盘记录、......
  • ECharts饼图-饼图33,附视频讲解与代码下载
    引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个饼图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供详细的视频讲解和代码下载链接,帮助大家快速上手。一、图表效果预览二、视频......
  • 计算机毕业设计-基于Java+Springboot架构的电影推荐系统项目开发实战(附源码+论文)
    大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。......
  • 计算机毕业设计-基于Java+Springboot架构的兴顺物流管理系统项目开发实战(附源码+论文
    大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。......
  • YOLOv7-0.1部分代码阅读笔记-torch_utils.py
    torch_utils.pyutils\torch_utils.py目录torch_utils.py1.所需的库和模块2.deftorch_distributed_zero_first(local_rank:int): 3.definit_torch_seeds(seed=0): 4.defdate_modified(path=__file__): 5.defgit_describe(path=Path(__file__).parent): 6.def......
  • Spring---SpringBoot自动装配原理
    SpringBoot自动装配原理自动配置简单来说呢,就是将第三方的组件自动装载到IOC容器里面,不需要开发人员再去编写相关的配置,在SpringBoot应用里面呢只需要加上@SpringBootApplication注解就可以实现自动配置,SpringBootApplication它是一个复合注解,真正实现自动装配的注解是@En......
  • JVM---JDBC案例是否真的打破了双亲委派机制的思考
    首先先来了解一下数据库驱动的加载过程:数据库驱动加载的过程我们先来看看Java中SPI定义的一个核心类:DriverManager,该类位于rt.jar包中,是Java中用于管理不同数据库厂商实现的驱动,同时这些各厂商实现的Driver驱动类,都继承自Java的核心类java.sql.Driver,如MySQL的com.mysql.c......
  • Java---SPI机制
    何谓SPI?SPI即ServiceProviderInterface,字面意思就是:“服务提供者的接口”,我的理解是:专门提供给服务提供者或者扩展框架功能的开发者去使用的一个接口。比如java.sql.Driver接口,其他不同厂商可以针对同一接口做出不同的实现,MySQL和PostgreSQL都有不同的实现提供给用......
  • 南京邮电大学-鲁健
    一、个人简介        2021年9月就读于南京邮电大学自动化学院、人工智能学院智能科学与技术专业,主修人工智能方向的相关课程,极其擅长具身智能的相关开发,曾被誉为“原批之星”,最有希望颠覆三国杀的人之一。        志愿活动:参加2023年度自动化学院、人工智能......
  • 基于Java+Vue+MySQL的青少年信息学奥林匹克竞赛交流平台设计与实现(精选毕业设计-可设
    文章目录1.前言2.详细视频演示3.文档参考3.1论文参考3.2流程设计图3.3数据库表结构设计3.4系统测试部分4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.选题推荐毕设案例8.系统测试8.1系统测试的目的8.2系统功能测试9.代码参考10......