ModBusRTU通讯协议

合集下载

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议协议名称:ModBusRTU通讯协议1. 引言ModBusRTU通讯协议是一种常用于工业自动化领域的通信协议,用于在不同设备之间进行数据交换和通信。

本协议旨在确保设备之间的稳定通信,并规定了数据帧的格式、通信规范和错误处理机制,以实现可靠的数据传输。

2. 协议范围本协议适用于使用ModBusRTU通信协议的设备之间的数据交换和通信。

3. 术语和定义3.1. 主站:指发送请求的设备。

3.2. 从站:指接收请求并响应的设备。

3.3. 数据帧:指在ModBusRTU通信协议中传输的数据单元。

4. 数据帧格式4.1. 传输模式ModBusRTU通信协议使用串行通信模式,每个数据帧由一系列连续的位组成。

4.2. 起始位每个数据帧以一个起始位(逻辑“0”)开始。

4.3. 设备地址设备地址用于标识从站设备,占用8位,取值范围为1-247。

功能码用于指示请求的类型,占用8位,取值范围为1-255。

4.5. 数据数据字段用于传输具体的数据信息,占用8位或16位,具体长度由功能码决定。

4.6. 校验位校验位用于验证数据的完整性和准确性,采用CRC校验算法。

4.7. 结束位每个数据帧以一个结束位(逻辑“1”)结束。

5. 通信规范5.1. 请求帧主站发送请求帧给从站,请求帧包括设备地址、功能码、数据和校验位。

5.2. 响应帧从站接收到请求帧后,根据功能码进行相应的处理,并返回响应帧给主站,响应帧包括设备地址、功能码、数据和校验位。

5.3. 帧间间隔每个数据帧之间应有适当的时间间隔,以确保设备能够正确接收和处理数据。

5.4. 重试机制如果主站未收到从站的响应帧或者接收到的响应帧出现错误,主站可以根据需要进行重试。

6.1. 异常响应如果从站无法正确处理主站的请求,从站应发送一个异常响应帧给主站,异常响应帧包括设备地址、功能码和错误码。

6.2. 错误码错误码用于指示出现的错误类型,常见的错误码包括非法功能码、非法数据地址、非法数据值等。

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议协议名称:ModBusRTU通讯协议一、协议概述ModBusRTU通讯协议是一种串行通信协议,用于在工业自动化领域中实现设备之间的数据交换。

本协议规定了通信的物理层、数据帧格式、功能码及其对应的数据格式,以及通信过程中的错误处理等。

二、物理层1. 通信接口:本协议使用RS485接口进行通信,支持多主机和多从机的通信方式。

2. 通信波特率:支持的通信波特率范围为9600bps至115200bps,可根据实际需求进行设置。

3. 数据位:通信数据位为8位。

4. 停止位:通信停止位为1位。

5. 校验位:通信校验位可选择为无校验、奇校验或偶校验。

三、数据帧格式1. 帧起始符:每个数据帧以一个起始符开始,起始符为一个字节,固定为0xFF。

2. 从机地址:紧随起始符之后的一个字节为从机地址,用于标识通信中的从机设备。

3. 功能码:从机地址之后的一个字节为功能码,用于指示从机设备执行的操作类型。

4. 数据域:功能码之后的数据域长度可变,根据功能码的不同而不同。

5. CRC校验码:数据域之后为两个字节的CRC校验码,用于检测数据传输过程中是否出现错误。

6. 帧结束符:每个数据帧以一个结束符结束,结束符为一个字节,固定为0x00。

四、功能码及数据格式1. 读取线圈状态(功能码:0x01)请求帧格式:[起始符][从机地址][功能码][起始地址高字节][起始地址低字节][读取数量高字节][读取数量低字节][CRC校验码][结束符]响应帧格式:[起始符][从机地址][功能码][字节数][线圈状态][CRC校验码][结束符]数据格式:线圈状态为一个字节,每个位表示一个线圈的状态(0表示OFF,1表示ON)。

2. 读取离散输入状态(功能码:0x02)请求帧格式:[起始符][从机地址][功能码][起始地址高字节][起始地址低字节][读取数量高字节][读取数量低字节][CRC校验码][结束符]响应帧格式:[起始符][从机地址][功能码][字节数][离散输入状态][CRC校验码][结束符]数据格式:离散输入状态为一个字节,每个位表示一个输入的状态(0表示OFF,1表示ON)。

Modbus RTU通讯协议

Modbus RTU通讯协议

要实现Modbus RTU通信,一、需要STEP 7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP 7-Micro/WIN32 V3.2 Instruction Library(指令库)。

Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。

Modbus RTU从站指令库只支持CPU上的通信0口(Port0)基本步骤:1. 检查Micro/WIN的软件版本,应当是STEP 7-Micro/WIN V3.2以上版本。

2. 检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。

如果没有,须安装Micro/WIN32 V3.2的Instruction Library(指令库)软件包;1. 西门子编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数。

关于参数的详细说明,可在子程序的局部变量表中找到;调用Modbus RTU通信指令库图中参数意义如下:a. 模式选择:启动/停止Modbus,1=启动;0=停止b. 从站地址:Modbus从站地址,取值1~247c. 波特率:可选1200,2400,4800,9600,19200,38400,57600,115200d. 奇偶校验:0=无校验;1=奇校验;2=偶校验e. 延时:附加字符间延时,缺省值为0f. 最大I/Q位:参与通信的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为128g. 最大AI字数:参与通信的最大AI通道数,可为16或32h. 最大保持寄存器区:参与通信的V存储区字(VW)i. 保持寄存器区起始地址:以&VBx指定(间接寻址方式)j. 初始化完成标志:成功初始化后置1k. 初始化错误代码l. Modbus执行:通信中时置1,无Modbus 通信活动时为0。

MODBUS_RTU通讯协议

MODBUS_RTU通讯协议

百特工控福州福光百特自动化设备有限公司MODBUS通讯协议使用手册1. RTU 方式通讯协议1.1. 硬件采用RS -485,主从式半双工通讯,主机呼叫从机地址,从机应答方式通讯。

1.2. 数据帧10位,1个起始位,8个数据位,1个停止位,无校验。

波特率:9600;19200 38400 1.3. 功能码03H : 读寄存器值主机发送:第1字节 ADR : 从机地址码(=001~254)第2字节 03H : 读寄存器值功能码 第3、4字节 : 要读的寄存器开始地址 要读FCC 下挂仪表,第5、6字节 : 要读的寄存器数量 第7、8字节 : 从字节1到6的CRC16校验和 从机回送:第1字节 ADR : 从机地址码(=001~254)第2字节 03H : 返回读功能码第3字节 :从4到M (包括4及M )的字节总数 第4到M 字节 : 寄存器数据 第M +1、M+2字节 : 从字节1到M 的CRC16校验和 当从机接收错误时,从机回送:第1字节 ADR : 从机地址码(=001~254)第2字节 83H : 读寄存器值出错第3字节 信息码 : 见信息码表 第4、5字节 : 从字节1到3的CRC16校验和 1.4. 功能码06H : 写单个寄存器值主机发送:当从机接收正确时,从机回送:当从机接收错误时,从机回送:第1字节 ADR:从机地址码(=001~254)第2字节 86H :写寄存器值出错功能码 第3字节 错误数息码 : 见信息码表第4、5字节: 从字节1到3的CRC16校验和1.5. 功能码10H : 连续写多个寄存器值当从机接收正确时,从机回送:当从机接收错误时,从机回送:第1字节 ADR: 从机地址码(=001~254)第2字节 90H : 写寄存器值出错 第3字节 错误信息码 : 见信息码表第4、5字节: 从字节1到3的CRC16校验和1.8 寄存器定义表:(注:寄存器地址编码为16进制)备注:E为阶码。

MODBUS通讯协议-RTU(DOC)

MODBUS通讯协议-RTU(DOC)

MODBUS通讯协议-RTU(DOC)简介Modbus通讯协议是一种通用语言,广泛应用于电子控制器上。

通过该协议,不同厂商生产的控制设备可以连接成工业网络,进行集中监控,已成为通用工业标准。

该协议定义了控制器能够认识使用的消息结构,并描述了控制器请求访问其他设备的过程,回应其他设备的请求的方式,以及如何侦测错误并记录。

在Modbus网络上通信时,每个控制器需要知道设备地址、识别按地址发来的消息,并决定产生何种行动。

该协议只允许在主计算机和终端设备之间进行数据交换,不允许独立设备之间的数据交换。

传输方式在Modbus总线上进行通讯时,使用RTU模式,信息中的每8位字节分成两个4位16进制的字符,并且每个信息必须连续传输。

传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则。

代码系统采用8位二进制和十六进制数0.9,A。

F,消息中的每个8位域都是由两个十六进制字符组成。

每个字节的位包括1个起始位、8个数据位(最小的有效位先发送)、1个奇偶校验位(无校验则无)和1个停止位(有校验时为2个Bit,无校验时为1个Bit)。

错误检测域采用CRC(循环冗长检测)。

协议简介Modbus通讯协议是一种通用语言,广泛应用于电子控制器上。

通过该协议,不同厂商生产的控制设备可以连接成工业网络,进行集中监控,已成为通用工业标准。

该协议定义了控制器能够认识使用的消息结构,并描述了控制器请求访问其他设备的过程,回应其他设备的请求的方式,以及如何侦测错误并记录。

传输方式在Modbus总线上进行通讯时,使用RTU模式,信息中的每8位字节分成两个4位16进制的字符,并且每个信息必须连续传输。

传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则。

代码系统采用8位二进制和十六进制数0.9,A。

F,消息中的每个8位域都是由两个十六进制字符组成。

每个字节的位包括1个起始位、8个数据位(最小的有效位先发送)、1个奇偶校验位(无校验则无)和1个停止位(有校验时为2个Bit,无校验时为1个Bit)。

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议协议名称:ModBus RTU通讯协议1. 引言ModBus RTU通讯协议是一种用于串行通信的通讯协议,广泛应用于工业自动化领域。

本协议旨在规范ModBus RTU通讯协议的格式和规则,确保通讯的稳定性和可靠性。

2. 协议结构ModBus RTU通讯协议采用了简单而高效的二进制格式,包含以下几个部分:2.1 帧头帧头由一个地址字节和一个功能码字节组成,用于标识通讯的设备地址和功能。

2.2 数据数据部分包含了读取或写入的寄存器地址、寄存器数量以及相应的数据。

数据的长度根据具体功能码而定。

2.3 CRC校验为了保证数据的完整性和准确性,ModBus RTU通讯协议使用了循环冗余校验(CRC)进行校验。

CRC校验码位于数据帧的最后两个字节。

3. 设备地址ModBus RTU通讯协议中,每个设备都有一个唯一的地址,用于标识设备。

设备地址的范围为1到247,其中地址0为广播地址。

4. 功能码功能码用于定义通讯的具体操作类型,包括读取寄存器、写入寄存器等。

常用的功能码包括:4.1 读取寄存器(功能码03)读取寄存器功能码用于读取设备的寄存器数据。

它包含一个起始地址和一个寄存器数量,用于指定读取的寄存器范围。

4.2 写入寄存器(功能码06)写入寄存器功能码用于向设备的寄存器中写入数据。

它包含一个寄存器地址和一个写入的数据值。

4.3 强制单线圈(功能码05)强制单线圈功能码用于控制设备的输出线圈状态。

它包含一个线圈地址和一个状态值,用于指定线圈的状态。

5. 数据格式ModBus RTU通讯协议中的数据格式如下:5.1 通讯帧格式通讯帧由起始位、数据位、停止位和奇偶校验位组成。

通讯帧的总长度为11位。

5.2 数据位格式数据位采用8位无奇偶校验格式,用于传输设备地址、功能码、数据等信息。

5.3 停止位格式停止位为1位,用于表示一个数据帧的结束。

5.4 奇偶校验位奇偶校验位用于检测数据传输过程中的错误。

MODBUS_RTU 通讯协议(LCD小无纸记录仪)

MODBUS_RTU 通讯协议(LCD小无纸记录仪)

MODBUS_RTU 通讯协议
1、数据传输格式:1位起始位、8位数据位、1位停止位、无奇偶校验位。

2、仪表数据格式:2字节寄存器值=寄存器数高8位二进制数+寄存器低8位二进制数
3、仪表通讯帧格式:
读寄存器命令格式:
1 2 3 4 5 6 7~8 DE 3 起始寄存器高位起始寄存器低位寄存器数高位寄存器数低位CRC 应答:
1 2 3 4~5 6~7 …M*2+2~M*2+3 M*2+4~M*2+5 DE 3 字节计数M*2 寄存器数据1 寄存器数据2…寄存器数据M CRC DE: 设备地址 (1~200)单字节
CRC: 校验字节 采用CRC-16循环冗余错误校验
举例对比说明:(以LCD小无纸记录仪为例)
MODBUS_RTU 通讯协议(十进制格式)
发送:1, 3, 0, 0, 0, 16, 68, 6,
回收:1, 3, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255,
仪表动态数据格式(MODBUS_RTU协议)
编号参数名称数据格式类型备注
1 保留单字节定点数只读
2 E2PROM参数修改标志单字节定点数只读
3 仪表类型四字节浮点数只读
4 第一路采样四字节浮点数只读
5 第二路采样四字节浮点数只读
6 第三路采样四字节浮点数只读
7 第一报警状态单字节定点数只读
8 第二报警状态单字节定点数只读
9 第三报警状态单字节定点数只读。

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议协议名称:ModBus RTU通讯协议一、引言ModBus RTU通讯协议是一种用于串行通信的协议,广泛应用于工业自动化领域。

本协议旨在规范ModBus RTU通讯协议的格式和规则,以确保设备之间能够正常、高效地进行通信。

二、协议结构ModBus RTU通讯协议采用了简单、轻量级的结构,由三个主要部分组成:帧头、数据区和帧尾。

1. 帧头帧头由两个字节组成,分别为设备地址(1字节)和功能码(1字节)。

设备地址用于标识通信的目标设备,功能码用于指示通信的具体操作类型。

2. 数据区数据区包含了具体的通信数据,其长度根据不同的功能码而不同。

数据区的内容可以是读取的寄存器值、写入的寄存器值等。

3. 帧尾帧尾由两个字节组成,分别为CRC校验码(2字节)。

CRC校验码用于验证数据的完整性和准确性。

三、通信规则ModBus RTU通讯协议遵循以下通信规则:1. 设备地址通信的目标设备由设备地址进行标识,设备地址范围为0-247。

其中,0为广播地址,用于向所有设备发送命令。

2. 功能码功能码用于指示通信的具体操作类型,范围为1-255。

常用的功能码包括读取保持寄存器(03H)、写入单个保持寄存器(06H)等。

3. 数据格式ModBus RTU通讯协议使用二进制格式进行数据传输。

数据区的内容根据不同的功能码而不同,可以是16位的寄存器值、8位的开关状态等。

4. 帧格式帧格式包括帧头、数据区和帧尾。

帧头由设备地址和功能码组成,数据区包含具体的通信数据,帧尾包含CRC校验码。

5. CRC校验CRC校验码用于验证数据的完整性和准确性。

接收方在接收到数据后,通过计算CRC校验码与接收到的校验码进行比较,以判断数据是否正确。

四、通信流程ModBus RTU通讯协议的通信流程如下:1. 主设备发送请求主设备向从设备发送请求,请求包括设备地址、功能码和相关参数。

2. 从设备响应请求从设备接收到请求后,根据功能码执行相应的操作,并将执行结果返回给主设备。

modbusrtu协议

modbusrtu协议

modbusrtu协议1. 简介modbusrtu协议是一种串行通信协议,广泛应用于工业自动化领域。

它定义了一种主从设备之间进行通信的规则和数据帧格式,能够实现可靠的数据交换。

本文将介绍modbusrtu协议的基本原理、数据帧结构、功能码以及在实际应用中的常见用途。

2. 基本原理modbusrtu协议采用了简单的主从架构,其中一个设备作为主站,控制多个从站进行数据交换。

主站负责发起请求并解析从站的响应数据。

通信采用全双工的方式进行,主站和从站通过共享的数据线交换信息。

3. 数据帧结构modbusrtu协议的数据帧由起始符、从站地址、功能码、数据、校验码和结束符组成。

具体结构如下:起始符 | 地址 | 功能码 | 数据 | 校验码 | 结束符•起始符:用于同步通信的起始标识符,通常为一个字节。

•地址:标识从站的地址,通常为一个字节。

地址0为广播地址,用于向多个从站发送指令。

•功能码:指定从站执行的操作,可以是读取数据、写入数据或其他特定功能。

•数据:用于传输的数据,长度可变。

•校验码:用于检测数据传输过程中的错误,通常采用循环冗余校验(CRC)算法计算得出。

•结束符:标志数据帧的结束,通常为一个或多个字节。

4. 功能码modbusrtu协议定义了一套常用的功能码,用于指示从站执行不同的操作。

常见的功能码及其功能如下:•读取线圈状态(01H):用于读取从站的开关量输出状态。

•读取输入状态(02H):用于读取从站的开关量输入状态。

•读取保持寄存器(03H):用于读取从站的模拟量输入状态。

•读取输入寄存器(04H):用于读取从站的模拟量输出状态。

•强制单线圈(05H):用于强制从站的开关量输出状态。

•预置多个寄存器(06H):用于设置从站的模拟量输出状态。

•执行多个操作(0FH):用于执行多个操作,如同时读取多个寄存器或写入多个寄存器的值。

5. 实际应用modbusrtu协议在实际应用中广泛用于工业自动化和远程监控系统。

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议协议名称:ModBusRTU通讯协议一、引言ModBusRTU通讯协议是一种常用的串行通信协议,用于在工业自动化领域中实现设备之间的数据交换。

该协议基于RTU(Remote Terminal Unit)模式,通过串行通信接口传输数据。

本协议旨在规范ModBusRTU通讯协议的格式、数据类型、通信方式等方面的内容,以确保设备之间的数据交换的准确性和可靠性。

二、协议格式1. 物理层ModBusRTU通讯协议使用RS485串行通信接口,支持全双工通信。

通信速率可根据实际需求设置,常见的速率有9600、19200、38400、57600和115200等。

2. 数据帧格式ModBusRTU通讯协议使用二进制方式传输数据,每个数据帧包含以下几个部分:- 起始位:由一个高电平信号表示,用于同步通信双方的时钟。

- 地址位:一个字节,用于标识通信的从站地址。

范围为1-247,其中1为广播地址。

- 功能码:一个字节,用于标识通信的功能类型。

常见的功能码有读取线圈状态、读取输入状态、读取保持寄存器、读取输入寄存器、写单个线圈、写单个寄存器等。

- 数据域:根据功能码的不同,数据域的长度也不同。

数据域包含要读取或写入的数据。

- CRC校验:用于校验数据的完整性。

3. 数据类型ModBusRTU通讯协议支持多种数据类型,包括线圈状态(Coil Status)、输入状态(Input Status)、保持寄存器(Holding Register)和输入寄存器(Input Register)等。

每种数据类型都有对应的读取和写入功能码。

4. 通信方式ModBusRTU通讯协议支持主从模式的通信方式。

主站负责发起通信请求,从站负责响应请求并返回数据。

主站可以向多个从站发送请求,每个从站根据地址进行识别并响应相应的请求。

三、通信流程1. 主站发送请求主站发送请求的数据帧包含从站地址、功能码、数据域和CRC校验。

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议协议名称:ModBus RTU通讯协议1. 引言ModBus RTU通讯协议是一种常用的串行通讯协议,用于在工业自动化领域中实现设备之间的数据通信。

本协议旨在定义ModBus RTU通讯协议的标准格式和规范,以确保各设备之间的互操作性和数据传输的可靠性。

2. 术语和定义在本协议中,以下术语和定义适用:- 主站:指发起通信请求的设备。

- 从站:指响应通信请求的设备。

- 寄存器:指用于存储和传输数据的内存单元。

- 线圈:指用于控制设备状态的开关。

3. 协议结构ModBus RTU通讯协议采用二进制格式进行数据传输,每个通信帧包含以下几个字段:- 地址:指定从站的地址,用于识别通信的目标设备。

- 功能码:指定通信的功能类型,如读取寄存器、写入线圈等。

- 数据:包含具体的通信数据,如读取的寄存器值或写入的线圈状态。

- CRC校验:用于检测通信数据的完整性。

4. 通信过程ModBus RTU通讯协议的通信过程如下:4.1 主站发送请求主站向从站发送请求,请求包含地址、功能码和相关数据。

4.2 从站响应请求从站接收到请求后,根据功能码进行相应的处理,并生成响应数据。

4.3 主站接收响应主站接收从站的响应数据,并进行解析和处理。

5. 功能码ModBus RTU通讯协议定义了一系列功能码,用于实现不同的通信功能。

以下是常用的功能码及其描述:- 读取线圈状态(功能码01):主站向从站请求读取线圈的状态,从站响应包含线圈的当前状态。

- 读取输入状态(功能码02):主站向从站请求读取输入的状态,从站响应包含输入的当前状态。

- 读取保持寄存器(功能码03):主站向从站请求读取保持寄存器的值,从站响应包含寄存器的当前值。

- 读取输入寄存器(功能码04):主站向从站请求读取输入寄存器的值,从站响应包含寄存器的当前值。

- 写入单个线圈(功能码05):主站向从站请求写入单个线圈的状态,从站响应确认写入结果。

modbusrtu 协议

modbusrtu 协议

modbusrtu 协议Modbus是一种通讯协议,最初由Modicon公司开创。

目前这个协议已经成为了全球工业自动化设备间的通讯标准之一,被广泛应用于许多领域,包括工业自动化、家庭自动化、建筑物自动化、能源管理等等。

Modbus RTU协议是其中最常见的格式之一,本文将详细介绍该协议的基本特点、通讯方式、报文结构以及应用范围等方面。

一、协议介绍1.1 基本概念Modbus RTU协议是Modbus协议的一种变体,是在串行通讯中广泛应用的一种方式。

RTU通讯的特点在于通讯速度较快,协议间数据的传输效率高。

1.2 协议特点针对它的通讯方式而言,Modbus RTU协议最明显的特点是它的速度快。

由于基于串行通讯,可以实现数据快速传输。

此外,它采取了类似于“请求—响应”的模式,能够保证通讯中数据的可靠性。

二、通讯方式Modbus RTU协议采取了一种“Master/Slave”的结构,其中,Master表示设备的控制器或CPU,而Slave则具有更低的智力,被动从属于Master,它们互相交换信息,实现整个系统的控制。

在通讯时,Master通过一个唯一的地址向Slave发送请求消息,并等待接收Slave的响应消息。

通讯过程主要包括以下两个阶段:2.1 请求消息当Master向Slave发送请求时,它会先确定拟请求的Slave的地址、功能码和数据。

其中,地址是指Slave设备在同一个网络上的唯一标识符,功能码表示所请求的操作类型,数据则是操作所需的具体数据。

请求消息的格式如下:Slave Address: 1 byte Function Code: 1 byte Data: n bytes CRC Check: 2 bytes需要注意的是,在发送请求消息时,Master应能确保请求在网络上的唯一性,否则将导致请求的冲突,影响通讯的有效性。

2.2 响应消息当Slave接受到Master的请求消息时,它会根据请求完成相应的操作,并返回响应消息。

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议协议名称:ModBus RTU通讯协议1. 引言ModBus RTU通讯协议是一种用于串行通信的通讯协议,主要用于工业自动化领域中的设备间数据传输和通信。

本协议旨在确保设备之间的可靠通信,并规定了数据传输格式、通信规则和错误处理等内容。

2. 适用范围本协议适用于使用ModBus RTU通讯协议进行数据传输和通信的设备和系统。

3. 术语定义在本协议中,以下术语定义适用:3.1 主机(Master):发送请求并控制通信的设备。

3.2 从机(Slave):响应主机请求的设备。

3.3 寄存器(Register):存储设备内部数据的位置。

3.4 线圈(Coil):存储设备内部布尔类型数据的位置。

4. 数据传输格式4.1 物理层ModBus RTU通讯协议使用串行通信方式,通信速率可根据实际需求进行设置。

4.2 帧格式每个ModBus RTU帧由以下部分组成:4.2.1 地址码:用于标识从机的地址。

4.2.2 功能码:用于指示请求的类型。

4.2.3 数据域:包含请求或响应的数据。

4.2.4 CRC校验:用于检测帧的传输错误。

5. 通信规则5.1 主机发送请求5.1.1 主机向从机发送请求帧,包括地址码、功能码和数据域。

5.1.2 从机接收请求帧,并根据功能码执行相应的操作。

5.2 从机响应请求5.2.1 从机根据请求帧的功能码执行操作,并生成响应数据。

5.2.2 从机向主机发送响应帧,包括地址码、功能码和数据域。

5.3 主机接收响应5.3.1 主机接收响应帧,并进行CRC校验。

5.3.2 如果校验通过,主机处理响应数据;否则,主机请求重发或进行错误处理。

6. 功能码本协议定义了以下常用功能码:6.1 读取线圈状态(Read Coil Status):用于读取从机中的线圈状态。

6.2 读取输入状态(Read Input Status):用于读取从机中的输入状态。

6.3 读取保持寄存器(Read Holding Registers):用于读取从机中的保持寄存器。

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议.此协议支持传统的RS-232、RS—422、RS—485和以太网设备.许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。

有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。

如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方.Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。

此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。

标准的Modicon控制器使用RS232C实现串行的Modbus。

Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写.Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC 校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。

另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。

因此,Modbus协议的可靠性较好.对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。

MODBUS-RTU通讯协议

MODBUS-RTU通讯协议

MODBUS-RTU 通讯协议MODBUS-RTU 通讯协议采用主从应答方式(半双工),由主机发出指令寻址某一从机,被寻址的从机响应并返回应答信息。

一、通讯格式1.1 传输格式信息传输为异步方式,并以字节为单位(LSB 先),在主机和从机之间传递的通讯信息是11位的字格式。

有校验位(奇偶校验)的传输序列:1个起始位、8个数据位、1个校验位、1个停止位。

无校验位的传输序列:1个起始位、8个数据位、2个停止位。

1.2 帧格式一个新的通讯信息帧开始之前,通讯总线应存在不小于 3.5字节的间歇时间,通讯开始之后,每两个字节之间应不大于1.5字节的间歇时间。

二、通讯信息帧说明主机寻址某一从机时,与主机发送的地址码相符的从机接收通讯命令,如果CRC 校验无误,则执行相应的操作,然后把执行结果(数据)回送给主机,否则不返回任何信息。

2.1 地址码地址码是通讯信息帧的第1个字节,从0到247(0为广播地址)。

每个从机应该有总线内唯一的地址码,只有与主机发送的地址码相符的从机才能响应并回送信息。

2.2 功能码功能码是通讯信息帧的第2个字节。

主机寻址某一从机时,通过功能码告诉从机执行什么操作。

从机返回的功能码与主机发送的功能码一致表明从机已正确执行了相关操作。

从机支持以下功能码:2.3 数据区数据区的长度和内容随功能码不同而不同,用于主机和从机以读写寄存器的方式进行数据交换。

产品使用说明书中给出了具体的通讯信息表(参见“五、通讯信息表示例”)。

2.4 CRC 校验码CRC 校验码高字节是通讯信息帧的最后一个字节。

CRC 校验码由主机计算,放置于发送信息帧的尾部。

从机再重新计算接收到信息的CRC ,比较计算得到的CRC 与接收到的CRC 是否一致,如果不一致,则表明出错。

CRC 计算只用到了8个数据位,计算方法如下:① 预置1个16位的寄存器为十六进制FFFF (即全为1),称此寄存器为CRC 寄存器;② 把第一个8位二进制数据(通讯信息帧的第1个字节)与16位CRC 寄存器的低8位相异或,结果放于CRC 寄存器; ③ 把CRC 寄存器的内容右移一位(朝低位)并用0填补最高位,检查右移后的移出位;startenddataparity起始位停止位数据位校验位startenddata起始位停止位数据位④如果移出位为0:重复第③步(再次右移一位);如果移出位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或;⑤重复步骤③和④,直到右移8次,这样整个8位数据全部进行了处理;⑥重复步骤②到步骤⑤,进行通讯信息帧下一个字节的处理;⑦将该通讯信息帧所有字节(不包括CRC校验码高、低字节)按上述步骤计算完成后,CRC寄存器内容即为CRC校验码。

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议协议名称:ModBus RTU通讯协议1. 引言ModBus RTU通讯协议是一种常用的串行通信协议,广泛应用于工业自动化领域。

本协议旨在规定ModBus RTU通讯协议的标准格式,以确保设备之间的可靠通信和数据交换。

2. 协议结构ModBus RTU通讯协议采用基于串行通信的方式,使用二进制编码进行数据传输。

协议结构如下:2.1 帧格式每个ModBus RTU通讯帧由以下几个部分组成:- 起始位:一个起始位用于标识通讯帧的开始。

- 设备地址:一个字节,用于指定通讯的设备地址。

- 功能码:一个字节,用于指定所要执行的功能。

- 数据域:包含数据和指令的部分,长度可变。

- CRC校验:用于校验数据的完整性。

2.2 设备地址设备地址用于标识通讯的设备,取值范围为1-247。

其中1-247为设备地址,0为广播地址。

2.3 功能码功能码用于指定所要执行的功能,常用的功能码如下:- 读取线圈状态(0x01):用于读取线圈的开关状态。

- 读取输入状态(0x02):用于读取输入信号的状态。

- 读取保持寄存器(0x03):用于读取设备的保持寄存器。

- 读取输入寄存器(0x04):用于读取设备的输入寄存器。

- 写单个线圈(0x05):用于控制单个线圈的开关状态。

- 写单个保持寄存器(0x06):用于写入单个保持寄存器的值。

- 写多个线圈(0x0F):用于控制多个线圈的开关状态。

- 写多个保持寄存器(0x10):用于写入多个保持寄存器的值。

3. 数据传输ModBus RTU通讯协议使用串行通信进行数据传输。

通讯帧以连续的方式传输,每个字节由8个位组成,使用LSB(Least Significant Bit)优先的方式传输。

3.1 数据格式数据格式如下:- 起始位:一个起始位,标识通讯帧的开始,取值为0。

- 设备地址:一个字节,用于指定通讯的设备地址。

- 功能码:一个字节,用于指定所要执行的功能。

ModbusRTU通信协议详解以及与ModbusTCP通信协议之间的区别和联系

ModbusRTU通信协议详解以及与ModbusTCP通信协议之间的区别和联系

ModbusRTU通信协议详解以及与ModbusTCP通信协议之间的区别和联系Modbus通信协议由Modicon公司(现已经为施耐德公司并购,成为其旗下的⼦品牌)于1979年发明的,是全球最早⽤于⼯业现场的总线规约。

由于其免费公开发⾏,使⽤该协议的⼚家⽆需缴纳任何费⽤,Modbus通信协议采⽤的是主从通信模式(即Master/Slave通信模式),其在分散控制⽅⾯应⽤极其⼴泛,从⽽使得Modbus协议在全球得到了⼴泛的应⽤。

Modbus通信协议具有多个变种,其具有⽀持串⼝(主要是RS-485总线),以太⽹多个版本,其中最著名的是Modbus RTU,Modbus ASCII 和Modbus TCP三种。

其中Modbus RTU与Modbus ASCII均为⽀持RS-485总线的通信协议,其中Modbus RTU由于其采⽤⼆进制表现形式以及紧凑数据结构,通信效率较⾼,应⽤⽐较⼴泛。

⽽Modbus ASCII由于采⽤ASCII码传输,并且利⽤特殊字符作为其字节的开始与结束标识,其传输效率要远远低于Modbus RTU协议,⼀般只有在通信数据量较⼩的情况下才考虑使⽤Modbus ASCII通信协议,在⼯业现场⼀般都是采⽤Modbus RTU协议,⼀般⽽⾔,⼤家说的基于串⼝通信的Modbus通信协议都是指Modbus RTU通信协议。

在此我们着重讨论Modbus RTU协议,⽽Modbus TCP协议则是在RTU协议上加⼀个MBAP报⽂头,由于TCP是基于可靠连接的服务,RTU 协议中的CRC校验码就不再需要,所以在Modbus TCP协议中是没有CRC校验码,⽤⼀句⽐较通俗的话说就是:Modbus TCP协议就是Modbus RTU协议在前⾯加上五个0以及⼀个6,然后去掉两个CRC校验码字节就OK.虽然这句话说得不是特别准确,但是也基本上把RTU与TCP之间的区别说得⽐较清楚了。

RTU协议中的指令由地址码(⼀个字节),功能码(⼀个字节),起始地址(两个字节),数据(N个字节),校验码(两个字节)五个部分组成,其中数据⼜由数据长度(两个字节,表⽰的是寄存器个数,假定内容为M)和数据正⽂(M乘以2个字节)组成,⽽RTU协议是采⽤3.5个字节的空闲时间作为指令的起始和结束,⼀般⽽⾔,只有当从机返回数据或者主机写操作的时候,才会有数据正⽂,⽽其他时候⽐如主机读操作指令的时候,没有数据正⽂,只需要数据长度即可。

ModBus-RTU通讯协议与ModBus通讯协议有什么区别

ModBus-RTU通讯协议与ModBus通讯协议有什么区别

modbus RTU常见问题汇总1、ModBus RTU通讯协议与ModBus通讯协议有什么区别?ModBus协议是应用层报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。

ModBus协议能够应用在不同类型的总线或网络。

对应不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。

目前,Modbus有下列三种通信方式:1.以太网,对应的通信模式是MODBUS TCP。

2.异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MO DBUS RT U 或MODBUS ASCII。

3.高速令牌传递网络,对应的通信模式是Modbus PLUS。

2、关于MODBUS RTU通讯协议的提问?modbus 主要由站地址(一个字节)+功能码(一个字节)+首地址(两个字节)+访问字数(两个字节)+校验码(CRC16或LRC两个字节)总共8个字节组成。

其实VB中编程很简单从组建添加MSComm组建就行了,难的是校验,3、modbus、rtu、modbus rtu分别是什么?modbus协议是工控行业的标准协议,前身为莫迪康所写,现已被施奈德收购而modbus分为两种协议:即串口协议(modbus rtu)和网口协议(modbus tcp)协议,一般的工控机只支持rs232或者RS485的串口模式,这个时候工控机的协议栈里就只有modbusRTU协议,当他从串口接收到数据时,会直接根据报文中的数据进行控制,如果需要用modbusTCP协议进行传输,则需要使用带有网口的PLC具体的帧格式如下modbus RTU 地址域功能码数据差错校验modbus TCP 目的地址协议id 长度单元号功能码数据简单的说tcp是由RTU加工而来的而RTU则是另外一种概念,不包含在modbus协议内是工控行业对监控设备的简称。

MODBUS RTU 通讯协议(LED流量表)

MODBUS RTU 通讯协议(LED流量表)

MODBUS_RTU 通讯协议1、数据传输格式:1位起始位、8位数据位、1位停止位、无奇偶校验位。

2、仪表数据格式:2字节寄存器值=寄存器数高8位二进制数+寄存器低8位二进制数3、仪表通讯帧格式:读寄存器命令格式:1 2 3 4 5 6 7~8DE 3 起始寄存器高位起始寄存器低位寄存器数高位寄存器数低位CRC 应答:1 2 3 4~5 6~7 …M*2+2~M*2+3 M*2+4~M*2+5DE 3 字节计数M*2 寄存器数据1 寄存器数据2…寄存器数据M CRC DE: 设备地址 (1~200)单字节CRC: 校验字节 采用CRC-16循环冗余错误校验举例说明:MODBUS_RTU 通讯协议(十六进制格式)发送:01, 03, 00, 00, 00, 10,44, 06回收:1, 3, 20, 00, 01, 08, 00, F9, 80, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 43, 77, 00, 77, 03, 45, 00, 0E, 8A, 00, 00, 8A, 0E, 77, 00, 00, 60, 9C(以上举例仅作参考,以实际通讯数据内容为准。

)仪表动态数据格式编号参数名称数据格式地址备注1 保留单字节定点数00002 E2PROM参数修改标志单字节定点数00013 仪表类型单字节定点数00024 补偿温度测量值四字节浮点数00035 补偿压力测量值四字节浮点数00056 流量输入测量值四字节浮点数00077 瞬时流量测量值四字节浮点数0009因通讯是以秒为单位,故:仪表实际值(单位:小时)=通讯采集值×36008 累积流量值1 四字节浮点数000B9 累积流量值2 四字节浮点数000D 通讯将八字节分为前四字节和后四字节,故:仪表实际值=前四字节×100+后四字节10 第一报警状态单字节定点数000F11 第二报警状态单字节定点数0010。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ModBusRTU通讯协议Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。

此协议支持传统的RS-232、RS-422、RS-485和以太网设备。

许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。

有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。

如果需要回应,控制器将生成应答并使用Modbus 协议发送给询问方。

Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。

此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。

标准的Modicon控制器使用RS232C实现串行的Modbus。

Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave 端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。

Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC 校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。

另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave 站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。

因此,Modbus协议的可靠性较好。

对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。

(一)、通讯传送方式:通讯传送分为独立的信息头,和发送的编码数据。

以下的通讯传送方式定义也与ModBusRTU通讯规约相兼容:初始结构= ≥4字节的时间地址码= 1 字节功能码= 1 字节数据区= N 字节错误校检= 16位CRC码结束结构= ≥4字节的时间地址码:地址码为通讯传送的第一个字节。

这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。

并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。

主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。

功能码:通讯传送的第二个字节。

ModBus通讯规约定义功能号为1到127。

本仪表只利用其中的一部分功能码。

作为主机请求发送,通过功能码告诉从机执行什么动作。

作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。

如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。

数据区:数据区是根据不同的功能码而不同。

数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。

CRC码:二字节的错误检测码。

(二)、通讯规约:当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。

返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。

如果出错就不发送任何信息。

1.信息帧结构地址码:地址码是信息帧的第一字节(8位),从0到255。

这个字节表明由用户设置地址的从机将接收由主机发送来的信息。

每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。

当从机回送信息时,相当的地址码表明该信息来自于何处。

功能码:主机发送的功能码告诉从机执行什么任务。

表1-1列出的功能码都有具体的含义及操作。

数据区:数据区包含需要从机执行什么动作或由从机采集的返送信息。

这些信息可以是数值、参考地址等等。

例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器的起始地址及读取长度。

对于不同的从机,地址和数据信息都不相同。

错误校验码:主机或从机可用校验码进行判别接收信息是否出错。

有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程中出错的信息不起作用。

这样增加了系统的安全和效率。

错误校验采用CRC-16校验方法。

注:信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码。

2.错误校验冗余循环码(CRC)包含2个字节,即16位二进制。

CRC码由发送设备计算,放置于发送信息的尾部。

接收信息的设备再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。

(三)、Modbus支持的功能码:(三)、功能码命令详解:在这些功能码中较长使用的是1、2、3、4、5、6号功能码,使用它们即可实现对下位机的数字量和模拟量的读写操作。

1、01号命令,读可读写数字量寄存器(线圈状态):计算机发送命令:[设备地址] [命令号01] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]例:[11][01][00][13][00][25][CRC低][CRC高]意义如下:<1>设备地址:在一个485总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备通讯。

例子中为想和17号(十进制的17是十六进制的11)通讯。

<2>命令号01:读取数字量的命令号固定为01。

<3>起始地址高8位、低8位:表示想读取的开关量的起始地址(起始地址为0)。

比如例子中的起始地址为19。

<4>寄存器数高8位、低8位:表示从起始地址开始读多少个开关量。

例子中为37个开关量。

<5>CRC校验:是从开头一直校验到此之前。

设备响应:[设备地址] [命令号01] [返回的字节个数][数据1][数据2]...[数据n] [CRC校验的高8位] [CRC校验的低8位]例:[11][01][05][CD][6B][B2][0E][1B] [CRC高] [CRC低]意义如下:<1>设备地址和命令号和上面的相同。

<2>返回的字节个数:表示数据的字节个数,也就是数据1,2...n中的n的值。

<3>数据1...n:由于每一个数据是一个8位的数,所以每一个数据表示8个开关量的值,每一位为0表示对应的开关断开,为1表示闭合。

比如例子中,表示20号(索引号为19)开关闭合,21号断开,22闭合,23闭合,24断开,25断开,26闭合,27闭合...如果询问的开关量不是8的整倍数,那么最后一个字节的高位部分无意义,置为0。

<4>CRC校验同上。

2、05号命令,写数字量(线圈状态):计算机发送命令:[设备地址] [命令号05] [需下置的寄存器地址高8位] [低8位] [下置的数据高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]例:[11][05][00][AC][FF][00][CRC高][CRC低]意义如下:<1>设备地址和上面的相同。

<2>命令号:写数字量的命令号固定为05。

<3>需下置的寄存器地址高8位,低8位:表明了需要下置的开关的地址。

<4>下置的数据高8位,低8位:表明需要下置的开关量的状态。

例子中为把该开关闭合。

注意,此处只可以是[FF][00]表示闭合[00][00]表示断开,其他数值非法。

<5>注意此命令一条只能下置一个开关量的状态。

设备响应:如果成功把计算机发送的命令原样返回,否则不响应。

3、03号命令,读可读写模拟量寄存器(保持寄存器):计算机发送命令:[设备地址] [命令号03] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的高8位] [CRC校验的低8位]例:[11][03][00][6B][00][03] [CRC高][CRC低]意义如下:<1>设备地址和上面的相同。

<2>命令号:读模拟量的命令号固定为03。

<3>起始地址高8位、低8位:表示想读取的模拟量的起始地址(起始地址为0)。

比如例子中的起始地址为107。

<4>寄存器数高8位、低8位:表示从起始地址开始读多少个模拟量。

例子中为3个模拟量。

注意,在返回的信息中一个模拟量需要返回两个字节。

设备响应:[设备地址] [命令号03] [返回的字节个数][数据1][数据2]...[数据n] [CRC校验的高8位] [CRC校验的低8位]例:[11][03][06][02][2B][00][00][00][64] [CRC高] [CRC低]意义如下:<1>设备地址和命令号和上面的相同。

<2>返回的字节个数:表示数据的字节个数,也就是数据1,2...n中的n的值。

例子中返回了3个模拟量的数据,因为一个模拟量需要2个字节所以共6个字节。

<3>数据1...n:其中[数据1][数据2]分别是第1个模拟量的高8位和低8位,[数据3][数据4]是第2个模拟量的高8位和低8位,以此类推。

例子中返回的值分别是555,0,100。

<4>CRC校验同上。

4、06号命令,写单个模拟量寄存器(保持寄存器):计算机发送命令:[设备地址] [命令号06] [需下置的寄存器地址高8位] [低8位] [下置的数据高8位] [低8位] [CRC校验的高8位] [CRC校验的低8位]例:[11][06][00][01][00][03] [CRC高] [CRC低]意义如下:<1>设备地址和上面的相同。

<2>命令号:写模拟量的命令号固定为06。

<3>需下置的寄存器地址高8位,低8位:表明了需要下置的模拟量寄存器的地址。

<4>下置的数据高8位,低8位:表明需要下置的模拟量数据。

比如例子中就把1号寄存器的值设为3。

<5>注意此命令一条只能下置一个模拟量的状态。

设备响应:如果成功把计算机发送的命令原样返回,否则不响应。

5、16号命令,写多个模拟量寄存器(保持寄存器):计算机发送命令:[设备地址] [命令号16] [需下置的寄存器地址高8位] [低8位] [数据数量高8位] [数据数量低8位] [下置的数据高8位] [低8位][……][……] [CRC校验的高8位] [CRC校验的低8位]例:[11][16][00][01][00][01][00][05] [CRC高] [CRC低]意义如下:<1>设备地址和上面的相同。

相关文档
最新文档