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

ModbusTcp和ModbusRtu协议

1、功能码的通信格式modbus rtu
(1)读设备的寄存器(保持寄存器):

计算机发送命令:[设备地址] [命令号03] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]
例:[01][03][00][00][00][10][CRC低][CRC高]
意义如下:
<1>设备地址和上面的相同即01。
<2>命令号:读模拟量的命令号固定为03。
<3>起始地址高8位、低8位:表示想读取的模拟量的起始地址(起始地址为0)。比如例子中的起始地址为0。
<4>寄存器数高8位、低8位:表示从起始地址开始读多少个模拟量。例子中为8个模拟量。注意,在返回的信息中一个模拟量需要返回四个字节。【例子为32位浮点数】
设备响应:[设备地址] [命令号03] [返回的字节个数][数据1][数据2]…[数据n][CRC校验的低8位] [CRC校验的高8位]
例:[01][03][20][3A][03][12][3F][41][D4][00][00][42][C4][00][00][42][EC][00][00][39][D1][B7][17][41][DC][CC][CD][42][C6][00][00][42][EA][00][00][CRC低][CRC高]

(设备地址)[01]
(命令号)[03]
(字节个数16进制)[20]=32
[3A][03][12][3F]+[41][D4][00][00]+[42][C4][00][00]+[42][EC][00][00]
[39][D1][B7][17]+[41][DC][CC][CD]+[42][C6][00][00]+[42][EA][00][00]

[CRC低][CRC高]

意义如下:
<1>设备地址和命令号和上面的相同即01。
<2>返回的字节个数:表示数据的字节个数,也就是数据1,2…n中的n的值。例子中返回了8个模拟量的数据,因为一个模拟量需要4个字节所以共32个字节。
<3>数据1…n:其中[数据1][数据2][数据3][数据4]是第1个模拟量的数值,由高位到低位,[数据5][数据6][数据7][数据8]是第2个模拟量的高位到低位,以此类推。例子中返回的值分别是0.0005,26.5,98,118,0.0004,27.6,99,117
<4>CRC校验同上。
C#处理代码如下

相关文章:

  • ChatGPT提效:告别CRUD
  • BFS:解决多源最短路问题
  • Spring响应式编程之Reactor核心接口
  • 【Linux】进程间通信_1
  • 信创适配评测
  • HTML星空特效
  • 学生课程信息管理系统
  • python基础语法 003-1 数据类型列表
  • 一年又一年志愿
  • YOLOv8主干网络使用FasterNet替换
  • SQLite 3 优化批量数据存储操作---事务transaction机制
  • 【权威出版/投稿优惠】2024年水利水电与能源环境科学国际会议(WRHEES 2024)
  • C语言 | Leetcode C语言题解之第174题地下城游戏
  • 国产大模型技术创新分析
  • [Day 16] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • Android单元测试 - 几个重要问题
  • HTML-表单
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • node和express搭建代理服务器(源码)
  • SpringBoot几种定时任务的实现方式
  • SSH 免密登录
  • ucore操作系统实验笔记 - 重新理解中断
  • Vue 动态创建 component
  • 闭包,sync使用细节
  • 从零开始的无人驾驶 1
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用 @font-face
  • 树莓派 - 使用须知
  • 数组大概知多少
  • 思否第一天
  • 学习笔记TF060:图像语音结合,看图说话
  • 赢得Docker挑战最佳实践
  • 怎样选择前端框架
  • 7行Python代码的人脸识别
  • #HarmonyOS:Web组件的使用
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (二)fiber的基本认识
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (函数)颠倒字符串顺序(C语言)
  • (九十四)函数和二维数组
  • (一)RocketMQ初步认识
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Project Open Day(2011.11.13)
  • .NET 设计模式初探
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET框架设计—常被忽视的C#设计技巧
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .net与java建立WebService再互相调用
  • .net专家(高海东的专栏)