自己整理的modbus协议
ModbusRTU通讯协议整理版

Modbus 通讯协议(RTU传输模式)目录1.Modbus协议简介 (3)1.1.传输方式 (3)1.2.协议 (3)1.2.1.信息帧 (4)1.2.2.地址(Address)域 (4)1.2.3.功能(Function)域 (4)1.2.4.数据域 (5)1.2.5.错误校验域 (5)1.2.6.字符的连续传输 (5)1.3.错误检测 (5)1.3.1.奇偶校验 (5)1.3.2.CRC检测 (6)2.Modbus数据和控制功能详解 (7)2.1.读取线圈状态(功能码01) (7)2.2.读取输入状态(功能码02) (8)2.3.读取保持寄存器(功能码03) (8)2.4.读取输入寄存器(功能码04) (9)2.5.强置单线圈(功能码05) (9)2.6.预置单寄存器(功能码06) (10)2.7.读取异常状态(功能码7) (10)2.8.强置多线圈(功能码15) (11)2.9.预置多寄存器(功能码16) (12)2.10.报告从机标识(功能码17) (12)3.附录 (13)3.1.附录A:MODBUS全部功能码 (13)3.2.附录B:不正常响应 (14)3.3.附录C:CRC校验生成程序 (15)1.Modbus协议简介Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息并用Modbus协议发出。
MODBUS协议整理

MODBUS协议整理协议名称:MODBUS协议整理一、引言MODBUS协议是一种用于工业控制系统的通信协议,广泛应用于自动化领域。
本协议旨在整理MODBUS协议的基本原理、通信方式、数据帧格式以及相关功能码的使用方法,以便于开发人员在设计和实施MODBUS通信时能够准确理解和应用该协议。
二、协议原理1. MODBUS协议采用主从结构,主设备负责发起通信请求,从设备负责响应请求。
2. 通信基于串行通信或以太网通信,通过物理层的传输介质进行数据传输。
3. MODBUS协议使用简单、高效的数据帧格式,在通信过程中通过功能码来定义通信类型和数据操作。
三、通信方式1. 串行通信方式a. MODBUS RTU:采用二进制编码,数据帧包括起始位、设备地址、功能码、数据、CRC校验等字段。
b. MODBUS ASCII:采用ASCII编码,数据帧包括起始符、设备地址、功能码、数据、LRC校验等字段。
2. 以太网通信方式a. MODBUS TCP/IP:基于TCP/IP协议,数据帧采用以太网帧格式,包括设备地址、功能码、数据等字段。
四、数据帧格式1. MODBUS RTU数据帧格式起始位 | 设备地址 | 功能码 | 数据 | CRC校验-------|---------|-------|------|--------1字节 | 1字节 | 1字节 | n字节 | 2字节2. MODBUS ASCII数据帧格式起始符 | 设备地址 | 功能码 | 数据 | LRC校验 | 结束符-------|---------|-------|------|--------|-------1字节 | 2字节 | 2字节 | n字节 | 1字节 | 2字节3. MODBUS TCP/IP数据帧格式以太网帧格式五、功能码1. 读取操作a. 读取线圈状态:功能码01,用于读取从设备的线圈状态。
b. 读取输入状态:功能码02,用于读取从设备的输入状态。
MODBUS协议整理

MODBUS协议整理协议名称:MODBUS协议整理协议背景:MODBUS协议是一种用于工业自动化领域的通信协议,广泛应用于工业控制系统中。
为了更好地理解和应用MODBUS协议,现整理该协议的相关内容。
一、协议概述MODBUS协议是一种基于主从架构的串行通信协议,用于实现设备之间的数据交换。
该协议定义了数据传输的格式、通信方式和错误处理等规范,使得不同厂商的设备能够互联互通。
二、协议特点1. 简单易懂:MODBUS协议采用简单的二进制格式进行数据传输,易于理解和实现。
2. 灵活可扩展:该协议支持多种通信方式,如串口、以太网等,并且可以根据具体需求进行扩展。
3. 高效可靠:MODBUS协议具有较高的传输效率和可靠性,适用于实时性要求较高的工业控制系统。
三、协议结构MODBUS协议由多个功能码组成,每个功能码对应一种操作。
以下为常用的功能码及其对应的操作:1. 读取线圈状态(功能码01):用于读取远程设备的线圈状态,返回线圈的开关状态。
2. 读取输入状态(功能码02):用于读取远程设备的输入状态,返回输入的开关状态。
3. 读取保持寄存器(功能码03):用于读取远程设备的保持寄存器的值,返回寄存器的内容。
4. 读取输入寄存器(功能码04):用于读取远程设备的输入寄存器的值,返回寄存器的内容。
5. 写单个线圈(功能码05):用于控制远程设备的单个线圈,将线圈置为开启或关闭状态。
6. 写单个保持寄存器(功能码06):用于设置远程设备的单个保持寄存器的值。
7. 写多个线圈(功能码15):用于控制远程设备的多个线圈,将多个线圈置为开启或关闭状态。
8. 写多个保持寄存器(功能码16):用于设置远程设备的多个保持寄存器的值。
四、协议通信方式MODBUS协议支持多种通信方式,包括串口通信和以太网通信。
以下为常用的通信方式:1. 串口通信:MODBUS协议支持RS-232、RS-485等串口通信方式,适用于小规模的设备互联。
modbus通信协议书

modbus通信协议书甲方(以下简称甲方):地址:法定代表人:乙方(以下简称乙方):地址:法定代表人:鉴于甲方需要在其自动化控制系统中采用Modbus通信协议进行数据交换,乙方拥有提供Modbus通信解决方案的专业能力,双方本着平等互利的原则,经友好协商,就Modbus通信协议的实施达成如下协议:第一条定义1.1 Modbus通信协议:指由Modicon公司(现为施耐德电气的一部分)开发的用于工业自动化领域的通信协议,包括Modbus RTU、Modbus ASCII和Modbus TCP/IP等。
第二条协议内容2.1 乙方将根据甲方的需求,提供符合Modbus通信协议标准的设备和技术支持。
2.2 甲方应按照乙方提供的技术规范和操作手册,正确使用Modbus通信协议进行数据交换。
2.3 双方应共同遵守Modbus通信协议的相关标准和规定,确保数据交换的准确性和安全性。
第三条技术支持与服务3.1 乙方负责提供Modbus通信协议的技术支持,包括但不限于设备调试、故障排除和技术咨询。
3.2 甲方在遇到技术问题时,应首先联系乙方寻求帮助。
乙方应在接到请求后及时响应并提供解决方案。
第四条保密条款4.1 双方应对在合作过程中知悉的商业秘密和技术秘密予以保密,未经对方书面同意,不得向第三方披露。
第五条知识产权5.1 乙方提供的Modbus通信协议解决方案及相关技术文档的知识产权归乙方所有,甲方应尊重乙方的知识产权。
第六条违约责任6.1 如一方违反本协议的任何条款,应承担违约责任,并赔偿对方因此遭受的损失。
第七条协议的变更和解除7.1 本协议的任何变更和补充,应由双方协商一致,并以书面形式确定。
7.2 如一方严重违约,另一方有权解除本协议,并要求违约方承担相应的违约责任。
第八条争议解决8.1 本协议在履行过程中如发生争议,双方应首先通过友好协商解决;协商不成时,任何一方可向甲方所在地人民法院提起诉讼。
第九条其他9.1 本协议自双方授权代表签字盖章之日起生效。
ModBus 通讯协议

1、数据帧基本形式:
设备地址
功能码
数据
效验码
8-Bits
8-Bits
N * 8-Bits
16-Bits
2、设备地址:为保护装置的通讯地址ID号。
3、功能码列表:
功能码
含义
注释
03H
读遥测量
读采样值
02H要遥信
05H遥控
04H SOE数据
06H设置通播校时
4、效验码:
5、上下位机的通讯帧:
上来
01 02 02 00 01 78 78 /*因为只要了0X0A个,所以上来两字节就够了0X0001里面包含了16个遥信了*/
解释:
为要遥信量,要了0xA=10个遥信量,但是实际上遥信量一个装置最多就64个,一个字节就能包含8个遥信量。F80D为CRC校验,不用管,程序里不检测。01为保护装置的通讯地址;
·上位机要求数据格式举例
设备地址
功能码
数据起始地址(HI)
数据起始地址(LO)
数据字节数(HI)
数据字节数(LO)
CRC16(LO)
CRC16(HI)
00H
01H
00H
00H
00H
01H
FCH
1BH
·下位机回应数据格式举例
设备地址
功能码
字节数
数据
CRC16
CRC16
00H
01H
01H
02H
D4H
89H
字节计数
数据
校验和CRC
01H
03H
08H
00 00 01 30 0000 f964
97H B9H
00 00 01 30为有功电度数据(除以100为真实值)
(完整word版)MODBUS通讯协议以及应用

ModBus通讯协议分为RTU协议和ASCII协议,我公司的多种仪表都采用ModBus RTU通讯协议,如:YD2000智能电力监测仪、巡检表、数显表、光柱数显表等。
下面就ModBus RTU协议简要介绍如下:一、通讯协议(一)、通讯传送方式:通讯传送分为独立的信息头,和发送的编码数据。
以下的通讯传送方式定义也与MODBUS RTU 通讯规约相兼容:初始结构 = ≥4字节的时间地址码 = 1 字节功能码 = 1 字节数据区 = N 字节错误校检 = 16位CRC码结束结构= ≥4字节的时间地址码:地址码为通讯传送的第一个字节。
这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。
并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。
主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。
功能码:通讯传送的第二个字节。
ModBus通讯规约定义功能号为1到127。
本仪表只利用其中的一部分功能码。
作为主机请求发送,通过功能码告诉从机执行什么动作。
作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。
如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。
数据区:数据区是根据不同的功能码而不同。
数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。
CRC码:二字节的错误检测码。
(二)、通讯规约:当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。
返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。
如果出错就不发送任何信息。
1.信息帧结构地址码:地址码是信息帧的第一字节(8位),从0到255。
这个字节表明由用户设置地址的从机将接收由主机发送来的信息。
每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。
MODBUS协议整理
MODBUS协议整理协议名称:MODBUS协议整理协议简介:MODBUS协议是一种通信协议,用于在工业自动化系统中传输数据。
该协议采用主从结构,允许主设备(通常是控制器或计算机)与从设备(通常是传感器、执行器或其他外设)进行通信。
MODBUS协议被广泛应用于工业领域,以实现设备之间的数据交换和控制。
协议内容:1. MODBUS协议类型:- MODBUS RTU:采用二进制编码,在串行通信中使用。
- MODBUS ASCII:采用ASCII编码,在串行通信中使用。
- MODBUS TCP:采用TCP/IP协议,在以太网通信中使用。
2. MODBUS协议帧格式:- MODBUS RTU帧格式:- 起始符:1字节,值为0xFF。
- 设备地址:1字节,用于标识主从设备。
- 功能码:1字节,用于指定操作类型。
- 数据域:可变长度,包含读取或写入的数据。
- CRC校验:2字节,用于数据完整性验证。
- MODBUS ASCII帧格式:- 起始符:1字节,值为':'- 设备地址:2字节,用于标识主从设备。
- 功能码:2字节,用于指定操作类型。
- 数据域:可变长度,包含读取或写入的数据。
- LRC校验:2字节,用于数据完整性验证。
- MODBUS TCP帧格式:- 事务标识符:2字节,用于标识请求和响应的对应关系。
- 协议标识符:2字节,值为0x0000。
- 长度字段:2字节,指示后续数据长度。
- 设备地址:1字节,用于标识主从设备。
- 功能码:1字节,用于指定操作类型。
- 数据域:可变长度,包含读取或写入的数据。
3. MODBUS协议功能码:- 读取线圈状态(功能码0x01):用于读取从设备的开关量输入。
- 读取离散输入状态(功能码0x02):用于读取从设备的离散量输入。
- 读取保持寄存器(功能码0x03):用于读取从设备的模拟量输入。
- 读取输入寄存器(功能码0x04):用于读取从设备的模拟量输入。
自己整理的modbus协议
自己整理的modbus协议Modbus协议是一种通信协议,用于在工业自动化系统中实现设备之间的数据交换。
本文将介绍Modbus协议的基本原理和特点,并提供一些自行整理的Modbus协议示例。
1. Modbus协议概述Modbus协议是一种基于主机-从机架构的通信协议,最初由Modicon公司于1979年开发,现已成为工业控制系统中最常用的通信协议之一。
Modbus协议采用了简洁、高效的ASCII码和RTU(远程终端单元)格式,可用于串口、以太网等不同物理介质。
2. Modbus协议的通信方式Modbus协议支持两种主要的通信方式:Modbus ASCII和Modbus RTU。
Modbus ASCII使用ASCII码进行数据传输,每个数据字节都是用ASCII字符表示。
Modbus RTU使用二进制编码,每个数据字节都是一个8位无符号整数。
下面是一个Modbus ASCII协议的示例:起始符地址功能码数据 CRC校验: 01 06 000A 5A46起始符(:):表示数据帧的开始。
地址(01):表示从机设备的地址。
功能码(06):表示所需执行的功能。
数据(000A):表示要写入从机设备的数据。
CRC校验(5A46):表示数据帧的校验和。
3. Modbus协议的功能码Modbus协议定义了一系列的功能码,用于执行不同的任务。
以下是常见的几种功能码:- 读取线圈状态(读取位操作):功能码为01,可用于读取从机设备的输出线圈状态。
- 读取输入状态(读取位操作):功能码为02,可用于读取从机设备的输入状态。
- 读取保持寄存器(读取字节或字操作):功能码为03,可用于读取从机设备的保持寄存器。
- 读取输入寄存器(读取字节或字操作):功能码为04,可用于读取从机设备的输入寄存器。
- 写单个线圈状态(写位操作):功能码为05,可用于设置从机设备的输出线圈状态。
- 写单个保持寄存器(写字节或字操作):功能码为06,可用于设置从机设备的保持寄存器。
modbus协议
modbus协议协议名称:Modbus协议一、引言Modbus协议是一种通信协议,用于在工业自动化领域中实现设备之间的通信。
该协议由Modicon公司于1979年开发,已成为工业领域中最常用的通信协议之一。
本协议旨在规定Modbus通信的标准格式和通信规则,以确保设备之间的稳定和可靠的数据传输。
二、范围本协议适用于使用Modbus协议进行通信的设备,包括但不限于传感器、执行器、PLC控制器、数据采集设备等。
本协议适用于Modbus RTU、Modbus ASCII和Modbus TCP/IP三种通信方式。
三、术语定义1. Modbus主站:负责发起通信请求的设备。
2. Modbus从站:响应主站请求并提供数据的设备。
3. 寄存器:存储设备数据的内存单元。
4. 线圈:存储设备状态的内存单元。
5. 功能码:用于标识通信请求的类型。
四、通信格式1. Modbus RTU通信格式:- 起始位:一个起始位,用于同步通信。
- 地址位:从站设备地址,用于标识通信的目标设备。
- 功能码:用于标识通信请求的类型。
- 数据域:包含读取或写入的数据。
- CRC校验:用于检测通信数据的完整性。
- 结束位:一个或多个停止位,用于标识通信的结束。
2. Modbus ASCII通信格式:- 起始符:一个起始符,用于同步通信。
- 地址符:从站设备地址,用于标识通信的目标设备。
- 功能码:用于标识通信请求的类型。
- 数据域:包含读取或写入的数据。
- LRC校验:用于检测通信数据的完整性。
- 结束符:一个或多个结束符,用于标识通信的结束。
3. Modbus TCP/IP通信格式:- TCP头部:包含源IP地址、目标IP地址等信息。
- Modbus应用数据单元(ADU):包含Modbus请求或响应的数据。
- Modbus协议数据单元(PDU):包含Modbus请求或响应的功能码和数据。
五、通信规则1. Modbus主站发送请求:- 主站向从站发送请求,包括从站设备地址和功能码。
modbus协议范本
Modbus协议范本
一、通信协议
Modbus是一种串行通信协议,用于连接工业电子设备。
它定义了主从设备之间的通信方式和数据格式,使得不同厂商生产的设备能够相互通信。
二、数据格式
Modbus协议采用ASCII码或二进制码进行数据传输。
在ASCII码格式中,每个字节都表示为一个ASCII字符,而在二进制码格式中,每个字节都表示为8位二进制数。
三、命令与应答
Modbus协议采用命令/应答的方式进行通信。
主设备发送一个命令,从设备接收并执行该命令,然后返回一个应答。
命令和应答都遵循一定的格式和协议。
四、校验方式
Modbus协议提供了两种校验方式:奇偶校验和CRC校
验。
奇偶校验方式通过在数据字节后添加一个校验位来确保数据的正确性。
CRC校验方式则使用一个循环冗余检查算法来确保数据的正确性。
五、数据通信方式
Modbus协议支持两种数据通信方式:同步通信和异步通信。
同步通信要求主设备和从设备在通信时保持同步,而异步通信则不需要同步。
六、连接方式
Modbus协议支持多种连接方式,包括RS-485、RS-422、RS-232等。
这些连接方式适用于不同的应用场景和设备配置。
七、传输速率
Modbus协议支持多种传输速率,包括9.6kbps、19.2kbps、4800bps等。
根据不同的应用场景和设备配置,可以选择合适的传输速率来确保通信的稳定性和可靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
整理 徐凯 江南大学 机械工程学院 Email xukai19871105@
MODBUS 协议整理
MODBUS 部分功能代码
下表列出 MODBUS 支持的部分功能代码:以十进制表示。
代码 中文名称
寄存器信息地址
位操作/字操作
操作数量
01 读线圈状态
00001-09999
下述例子为请求从机设备 17 中一组 10 个线圈为强制状态,起始线圈信息地址为 20 , 则寻址地址为 19( 13H),查询的数据为 2 个字节,即 CD01H (二进制 11001101 0000 0001) 相应线圈的二进制位排列如下表所示。
表 读输入寄存器-查询
10
MODBUS 协议整理
响应
响应信息中的寄存器数据为每个寄存器分别对应 2 个字节,第一个字节为高位数据,第
二个字节为低位数据。
例按查询要求返回响应
Hex 格式
从机地址
11
功能码
04
字节数
02
数据高位(地址 30009)
00
数据低位(地址 30009)
0A
CRC 高位
CRC 低位
响应
响应信息中的各输入口的状态,分别对应于数据区中的每一位值,1 代表 ON;0 代表 OFF。第一个数据字节的 LSB(最低位)为查询的寻址地址,其他输入口按顺序在该字节中由 低位向高位排列,直至 8 位为止。下一个字节中的 8 个输入位也是从低位到高位排列。
若返回的输入位数不是 8 的倍数,则在最后的数据字节中的剩余位直至字节的最高位全 部填零。字节数区,说明了全部数据的字节数。
Hex 11 03 00 6B 00 03
表 读保持寄存器-查询
8
MODBUS 协议整理
响应
响应信息中的寄存器数据为二进制数据,每个寄存器分别对应 2 个字节,第一个字节为 高位数据,第二个字节为低位数据。
例按查询要求返回响应。
Hex
从机地址
11
功能码
03
字节数
数据 1 高位(寄存器 40108)
据为 0000 和 0064H,(十进制时为 0 和 100)
地址 40108
40108
40109
40109
40110
40110
高字节
低字节
高字节
低字节
高字节
低字节
状态 00
6B
00
13
00
00
表 保持寄存器 40108 协议整理
04 读输入寄存器
说明
读从机输入寄存器(3XXXX 类型)中的二进制数据。
从机地址
11
功能码
06
寄存器起始地址高位
00
寄存器起始地址低位
01
数据高位
00
数据低位
00
CRC 校验高位
CRC 校验低位
表 预置单个寄存器-查询
14
MODBUS 协议整理
响应
寄存器内容被预置后返回正常响应。
例:按查询要求返回响应
Hex
从机地址
11
功能码
06
寄存器起始地址高位
00
寄存器起始地址低位
Hex
从机地址
11
功能码
02
返回字节数
03
数据 1(开关 10204-开关 10197)
AC
数据 2(开关 10212-开关 10205)
DB
数据 3(开关 10218-开关 10213)
35
CRC 校验高位
CRC 校验低位
1B
表 读输入位状态-响应
输入位 10204-10197 的状态用 35H (或二进制 00110101) 表示。输入位 10218 为左数第 3 位, 10213 输入位为 LSB,输入位 10218-10213 的状态分别为 ON-ON-OFF-ON-OFF-ON,最后 2 个剩余位填零。
00
寄存器地址低位
AC
寄存器数量高位
FF
寄存器数量低位
00
CRC 校验高位
CRC 校验低位
表 强制单个线圈-查询
12
MODBUS 协议整理
响应
线圈为强制状态后即返回正常响应
例:按查询要求返回响应
Hex
从机地址
11
功能码
05
寄存器地址高位
00
寄存器地址低位
AC
寄存器数量高位
FF
寄存器数量低位
00
CRC 校验高位
Modbus 寄存器地址分配
寄存器信息地址
适用功能码
(PLC 地址)
(10 进制)
00001-09999
01 05 15
10001-19999
02
30001-39999
04
40001-49999
03 06 16
寄存器种类
线圈状态 (开关)输入状态 输入寄存器 保持寄存器
读写状态
可读可写 可读 可读 可读可写
状态 ON
ON
OFF
OFF
ON
ON
OFF
ON
表 线圈 00027 到 00020 状态
最后一个数据字节中,56-52 线圈的状态为 1BH(或二进制 00011011),线圈 56 是左数
第 4 位,线圈 52 是该字节的最低位,所线圈 56 至 52 的状态分别为 ON-ON-OFF-ON-ON,
00
数据 1 低位(寄存器 40108)
6B
数据 2 高位(寄存器 40109)
00
数据 2 低位(寄存器 40109)
03
数据 3 高位寄存器 40110)
00
数据 3 低位寄存器 40110)
00
CRC 高位
CRC 低位
表 读寄存器-响应
寄存器 40108 的数据用 022BH 2 个字节(或用十进制 555)表示,寄存器 40109-40110 中的数
寄存器寻址地址指的是通信时使用的寄存器地址,例如信息地址 40001 对应寻址地址 0x0000,40002 对应寻址地址 0x0001,寄存器寻址地址一般使用 16 进制描述。再如,信息 寄存器 40003 对应寻址地址 0002,信息寄存器 30003 对应寻址地址 0002,虽然两个信息寄 存器通信时使用相同的地址,但是需要使用不同的命令才可以访问,所以访问时不存在冲突。
3 个剩余位全部填 0。
地址 00059 00058 00057 00056 00055 00054 00053 00052
状态 填充 填充 填充 ON
ON
OFF
ON
ON
表 线圈 00056 到 00052 状态
5
MODBUS 协议整理
02 读输入位状态
说明
读从机离散量输入信号的 ON/OFF 状态。
查询
查询信息规定了要读的寄存器的起始地址及寄存器的数量,寄存器 30001-30016 所对应 的地址分别为 0-15。 例:请求读从机设备 17 中的 30009 寄存器。
Hex 格式
从机地址
11
功能码
04
寄存器起始地址高位
00
寄存器起始地址低位
08
寄存器个数高位
00
寄存器个数低位
01
CRC 高位 CRC 低位
2
MODBUS 协议整理
寄存器种类说明
寄存器种 说明 类
PLC 类比
线圈状态 输出端口,按位操作,可设定端 DO
口的输出状态,也可以读取该位
的输出状态。
开关
输入端口,按位操作,通过外部 DI
输入状态 设定改变输入状态,可读不可写。
保持
输出参数或是保持参数,控制器 AO
寄存器 运行时被设定的某些参数。可读
Hex
从机地址
11
功能码
01
返回字节数
05
数据 1(线圈 00027-线圈 00020)
CD
数据 2(线圈 00035-线圈 00028)
6B
数据 3(线圈 00043-线圈 00036)
B2
数据 4(线圈 00051-线圈 00044)
0E
数据 5(线圈 00056-线圈 00052)
1B
CRC 校验高位
于 ON 状态,0000H 值请求线圈处于 OFF 状态。05 指令设置单个线圈的状态,15 指令可
以设置多个线圈的状态,虽然都是设定线圈的 ON/OFF 状态,但是 ON/OFF 的表达方式却
不同。
例:强制从机设备 17 中的 00173 线圈为 ON 状态
Hex
从机地址
11
功能码
05
寄存器地址高位
Hex
从机地址
11
功能码
01
寄存器起始地址高位
00
寄存器起始地址低位
13
寄存器数量高位
00
寄存器数量低位
25
CRC 校验高位
CRC 校验低位
表 读线圈状态-查询
4
MODBUS 协议整理
响应
响应信息中的各线圈的状态与数据区的每一位的值相对应,1 代表 ON;0 代表 OFF。 若返回的线圈数不是 8 的倍数,则在最后的数据字节未使用的位中全部填充 0,字节数区说 明全部数据的字节数。
表 读寄存器-响应
寄存器 30009 中的数据用 000AH 2 个字节(或用十进制 10)表示。
11
MODBUS 协议整理
05 强制单个线圈
说明
强制单个线圈(0XXXX 类型)为 ON 或 OFF 状态。
查询