---

说明:

modbus协议一般适用于一个主设备访问多个从设备的硬件开发环境,类似于zigbee网络中的一个路由器多个协调器的一对多模型。

modbus常用的寄存器类型为 3X 保持寄存器和 4X 输入寄存器

从机3X 保持寄存器对主机来说是可读不可写状态,从机4X 输入寄存器对主机来说是可读可写状态

---

功能码含义

04:读取输入寄存器(3x)

03:读取保持寄存器(4x)

06:写入单个保持寄存器(4x)

16:写入多个保持寄存器(4x)

---

常用的数据格式:

主机读取从机输入寄存器数据格式:

数据实例:03 04 05 61 00 01 61 3A

分解:

03                    04        05                    61

modbus地址  功能码  寄存器地址高  寄存器地址低

00                    01                   61                        3A

寄存器数量高  寄存器数量低  CRC校验码低位  CRC校验码高位

解释:

主机读取modbus地址为03的从机输入寄存器,从0x0561(十进制为1377)地址开始读取一个寄存器。

---

主机读取从机保持寄存器数据格式:

数据实例:03 03 15 1a 00 01 A0 23

分解:

03                   03        15                     1A

modbus地址  功能码 寄存器地址高   寄存器地址低

00                    01                   A0        23

寄存器数量高  寄存器数量低  CRC低 CRC高

解释:

  主机读取modbus地址为03的从机保持寄存器,从0x151a(十进制为5402)地址开始读取一个寄存器。

---

主机写入单个保持寄存器数据格式:

数据实例:03 06 15 1a 00 32 2C 36

分解:

03                    06        15                     1A

modbus地址  功能码 寄存器地址高   寄存器地址低

00           32         2C        36

数据高    数据低  CRC低 CRC高

解释:

  主机写入modbus地址为03从机一个保持寄存器数据,从0x151a(十进制为5402)地址开始写入一个寄存器,写入数据为0x0032。

---

主机写入多个保持寄存器数据格式:

数据实例:03 10 14 56 00 02 04 00 00 00 50 82 3D

分解:

03                    10       14                     56

modbus地址  功能码 寄存器地址高   寄存器地址低

00                    02                     04          00  00 00 50

寄存器数量高   寄存器数量低   字节数   数据 (从高到低依次)

82         3D

CRC低  CRC高

解释:

  主机写入modbus地址为03从机两个保持寄存器数据,从0x1456(十进制为5206)地址开始写入两个寄存器,写入数据为0x0000、0x0050。

modbus 协议说明及常用格式的更多相关文章

  1. MODBUS协议解析中常用的转换帮助类(C#)

    p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...

  2. Socket编程之聊天程序 - 模拟Fins/ModBus协议通信过程

    设备控制软件编程涉及到的基本通信方式主要有TCP/IP与串口,用到的数据通信协议有Fins与ModBus. 更高级别的通信如.net中的Remoting与WCF在进行C/S架构软件开发时会采用. 本篇 ...

  3. modbus协议讲义

        Modbus 一个工业上常用的通讯协议.一种通讯约定.Modbus协议包括RTU.ASCII.TCP.其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现.虽然RTU比较简单,但是看 ...

  4. MODBUS协议详解

    MODBUS是一个工业上通信常用的通讯协议,一般在PLC上面用的比较多,主要是定义了一种数据传输的规范,比如数据发给谁,数据是干嘛的,数据错没错,接收到数据的从机告诉我数据有没有接受到等. 传输的方式 ...

  5. modbus协议说明(转)

    MODBUS-RTU通讯协议简介   什么是MODBUS? MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司 的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规 ...

  6. RS485通信和Modbus协议(转)

    转自:http://www.51hei.com/bbs/dpj-23230-1.html 在工业控制.电力通讯.智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换.最初采用的方式是RS232接 ...

  7. Modbus​协议​深入​讲解_NI

    from:https://www.ni.com/zh-cn/innovations/white-papers/14/the-modbus-protocol-in-depth.html 已​更新 Mar ...

  8. Modbus协议和应用开发介绍

    因业务需要了解Modbus协议的使用,因此对Modbus的协议,以及相应的C#处理应用进行了解,针对协议的几种方式(RTU.ASCII.TCPIP)进行了封装,以及对Modbus的各种功能码的特点进行 ...

  9. Modbus协议及python库实现

    基础知识 硬件层协议:解决0和1的可靠传输,常有RS232.RS485.CAN.IIC.SPI - 软件层协议:解决传输目的,常有Modbus.TCP/IP.CANopen - 协议优点: Modbu ...

随机推荐

  1. ios--->NSNotificationCenter传值

    object实现 //在发送通知时设置object参数 [[NSNotificationCenter defaultCenter] postNotificationName:@"ThisIs ...

  2. 类与 Object 的应用

    # 类与 Object 的应用 + 面试题 类介绍 Java 程序是由若干个类组成的,类也是面向对象编程思想的具体实现. 以下为类的基本使用: public class Cat { // 私有属性 p ...

  3. linux运维基础知识-系统分区及LVM逻辑卷的创建

    系统分区及LVM逻辑卷的创建 分区 创建逻辑卷 LVM简介:逻辑卷管理器(LogicalVolumeManager)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,如图 ...

  4. python如何从内存地址上加载pythn对象

    python如何从内存地址上加载pythn对象 在python中我们可以通过id函数来获取某个python对象的内存地址,或者可以通过调用对象的__repr__魔术函数来获取对象的详细信息 def t ...

  5. Spring(六)核心容器 - 注册单例 Bean 实例、SingletonBeanRegistry 简介

    前言 上篇文章我们对注册 Bean 的核心类 BeanDefinitionRegistry 进行了讨论,这里的注册 Bean 是指保存 Bean 的相关信息,也就是将 Bean 定义成 BeanDef ...

  6. 最小生成树(一)kruskal

    今天写一篇关于最小生成树的番外篇,以前写最小生成树总是用的prim,关于kruskal只是知道一些原理,一直也没有时间去学,今天偶然看了一些并查集,才想起了这个算法 会想起刚刚(预)学过的数据结构,来 ...

  7. Codeforces_714_B

    http://codeforces.com/problemset/problem/714/B 当不同大小整数有1.2个时,肯定成立,3个时,需要判断,大于等于4个,则肯定不成立. #include & ...

  8. sql中常量和变量的引用

    String name =jtf.getText().trim(); String sql="select * from stu where stuname='  "+name+& ...

  9. 在form子句中使用子查询时的注意事项

    今天中午为了弄清这个问题,本人真的是头都搞大了!最后明白了一点,在from子句中使用子查询是,一定要将临时表的别名带上,否则会灰常痛苦!!!

  10. React+Echarts简单的封装套路

    今天我们来介绍一下React中,对Echarts的一个简单的封装. 首先在我们的React项目中,想使用Echart包,首先需要先安装它,安装代码如下,任选一个就可以 cnpm install ech ...