水表MODBUS-RTU通讯协议

合集下载

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为阶码。

M为尾数的小数点部分。

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. 错误码错误码用于指示出现的错误类型,常见的错误码包括非法功能码、非法数据地址、非法数据值等。

Modbus-RTU通信协议

Modbus-RTU通信协议

维博Modbus-RTU 通信协议一、Modbus 协议简介ModBus 协议定义了一个控制器能认识使用的消息结构协议定义了一个控制器能认识使用的消息结构,,而不管它们是通过何种网络进行通信的,它制定了消息域的格局和内容的公共格式,描述了一个控制器请求访问其它设备的过程,回应来自其它设备的请求,以及如何侦测并记录错误信息。

错误信息。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以完成信息和数据的交换与传送,使各种不同的公司和厂家的可编程顺序控制器(PLC )、RTU 、SCADA 系统、DCS 或与兼容ModBus 协议的第三方设备之间可以连成工业网络,构建各种复杂的监控系统,并利于系统的维护和扩展,这个通讯协议已广泛被国内外电力行业及工控行业作为系统集成的一种通用工业标准协议。

工业标准协议。

WB 系列智能传感器采用ModBus-RTU 通讯规约,支持组态王、Intouch 、FIX 、synall 等流行软件,能与AB 、西门子、施耐德、GE 等多个国际著名品牌的设备及系统之间实现数据通信,特别适用于电力系统综合自动化,智能电力电子设备,智能楼宇,工业自动化等领域,是构建、扩建DCS 系统或制造智能电力电子设备的理想功能部件。

二、维博Modbus-RTU 协议WB 系列智能传感器实现Modbus 通信协议时,遵循Modbust 通信过程,采用了MODBUS-RTU 协议的命令子集,使用读寄存器命令(协议的命令子集,使用读寄存器命令(030303)。

)。

)。

①数据传输方式: 异步10位——位——11位起始位,位起始位,88位数据位,位数据位,22位停止位,无校验位。

位停止位,无校验位。

②数据传输速率: 19200BPS 19200BPS,,9600BPS 9600BPS,,4800BPS 4800BPS,,2400BPS 2400BPS。

(缺省波特率为。

(缺省波特率为9600BPS 9600BPS,不可修,不可修改,用户希望使用其他波特率时,请在定货时声明。

超声水表Modbusrtu通信协议V1.1

超声水表Modbusrtu通信协议V1.1

超声水表MODBUS-RTU通信协议V1.1一.RTU模式1.物理层传输接口:RS-485通信波特率:9600bps2.RTU模式中每个字节的格式为编码系统:8位二进制每个8位域包含两个十六进制字符(0-9、A-F)传输模式:异步主从半双工方式。

每个字节的位:1个起始位8个数据位奇偶不校验1个停止位3.帧校验域:循环冗余校验(CRC),对全部报文内容执行校验。

注:数据包的发送序列总是相同的,地址—功能码—数据—检验码,每个数据包必须作为一个连续的位流传输。

4.1 地址(Address)域地址域在数据包的开始部分,由一个8bit数据组成,这个数据表明了从站的地址,而每一个从站的地址必须是唯一的,有效地址范围为:1~247。

主站发送数据包后,只有与主站查询地址相同的从站才会响应。

4.2 功能(Function)域功能域代码指定被寻址的从站执行何种功能,表1列出了所有的功能码。

数据域是由两个十六进制数集合构成的,范围00...FF。

从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的所为。

这包括了象不连续的寄存器地址,要处理项的数目,域中实际数据字节数。

例如,如果主设备需要从设备读取一组保持寄存器(功能代码03),数据域指定了起始寄存器以及要读的寄存器数量。

如果没有错误发生,从从设备返回的数据域包含请求的数据。

如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。

4.4 错误校验(CRC)域错误检测域包含一16Bits值(用两个8位的字符来实现)。

错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。

CRC值有发送设备计算出来,然后附加到数据包上传送,接收设备在接收数据时重新计算CRC 值,然后与接收到的校验码(CRC)域中的值进行比较,如果这两个数据不相等,则说明数据在传输过程中发生了错误。

CRC码计算时,首先将一个16bits寄存器预置为全1,然后连续把数据包中的8bits字节与该寄存器的当前值进行运算,仅仅每个字节的8位数据进行计算,起始位和停止位与可能使用的奇偶校验位都不影响CRC。

modbusrtu标准协议

modbusrtu标准协议

modbusrtu标准协议摘要:1.Modbus RTU 简介2.Modbus RTU 的基本组成部分3.Modbus RTU 的通信原理4.Modbus RTU 的优点和应用正文:【1.Modbus RTU 简介】Modbus RTU 是一种串行通信协议,主要用于工业自动化领域中的数据传输。

它是Modbus 协议的一种实现方式,其中RTU 是Remote Terminal Unit 的缩写,表示远程终端单元。

Modbus RTU 通过在设备和控制系统之间建立通信链路,实现了对设备状态和数据的监控、控制和管理。

【2.Modbus RTU 的基本组成部分】Modbus RTU 协议的基本组成部分包括:a.消息结构:Modbus RTU协议采用客户端/服务器模型。

客户端发送请求消息,服务器端发送响应消息。

消息结构包括:地址、功能代码、数据长度、数据、校验和、结束符。

b.功能代码:Modbus RTU 协议定义了一系列功能代码,用于表示客户端请求的服务类型。

常见的功能代码有:读取保持寄存器、写入保持寄存器、读取输入寄存器、写入输入寄存器等。

c.数据表示:Modbus RTU 协议采用补码表示法,可以表示有符号整数和无符号整数。

d.校验和:Modbus RTU 协议使用CRC 校验和,用于检测数据传输中的错误。

【3.Modbus RTU 的通信原理】Modbus RTU 协议采用串行通信方式,数据位采用8 位二进制表示。

通信过程中,数据按位发送,每个数据位之间有1 位的停止位。

Modbus RTU 协议的数据传输速率较慢,但稳定性较高,适用于工业现场的恶劣环境。

【4.Modbus RTU 的优点和应用】Modbus RTU 协议具有以下优点:a.通用性强:Modbus RTU 协议广泛应用于各种工业自动化设备和控制系统中,具有较强的通用性。

b.稳定性高:Modbus RTU 协议采用串行通信方式,数据传输速率较慢,但稳定性较高,适用于工业现场的恶劣环境。

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议协议名称:ModBusRTU通讯协议一、引言ModBusRTU通讯协议是一种用于串行通信的协议,主要用于工业自动化领域中的设备间通信。

本协议旨在规范ModBusRTU通讯协议的格式、数据结构和通信流程,以确保设备间的稳定、可靠的通信。

二、协议概述ModBusRTU通讯协议基于串行通信,使用二进制编码,采用主从结构进行通信。

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

通信数据以字节为单位进行传输,具有较高的传输效率和可靠性。

三、通信格式1. 物理层ModBusRTU通讯协议使用RS-485标准进行物理层通信,支持多主设备和多从设备的连接。

通信速率可根据实际需求设置,常见的速率包括9600bps、19200bps、38400bps等。

2. 帧格式ModBusRTU通讯协议的帧由起始符、地址字段、功能码、数据字段、校验码和结束符组成。

具体格式如下:- 起始符:占据一个字节,固定为0x3A。

- 地址字段:占据一个字节,表示从设备的地址。

- 功能码:占据一个字节,表示通信请求的功能类型。

- 数据字段:占据n个字节,根据功能码的不同而不同。

- 校验码:占据两个字节,用于校验帧的完整性。

- 结束符:占据一个字节,固定为0x0D。

四、功能码ModBusRTU通讯协议定义了一系列功能码,用于区分不同的通信请求。

以下列举了部分常用的功能码及其功能描述:1. 读取线圈状态(功能码:0x01):用于读取从设备的线圈状态,返回线圈的开关状态。

2. 读取输入状态(功能码:0x02):用于读取从设备的输入状态,返回输入信号的状态。

3. 读取保持寄存器(功能码:0x03):用于读取从设备的保持寄存器的值。

4. 读取输入寄存器(功能码:0x04):用于读取从设备的输入寄存器的值。

5. 写单个线圈(功能码:0x05):用于控制从设备的单个线圈的开关状态。

6. 写单个寄存器(功能码:0x06):用于向从设备的单个寄存器写入数据。

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为阶码。

水表协议

水表协议
地址 0000H 0002H 0004H 000CH 内容 瞬时流量 累计流量 累积运行时间 诊断信息代码 单位 L/h 0.1m3 ห้องสมุดไป่ตู้ 详见下表 数据类型 浮点型 float Inverse 长整型 Long Inverse 长整型 Long Inverse 十六进制整型(占用 1 字)
诊断信息代码列表: (00H
唐山汇中仪表股份有限公司——SCL-61D 水表分体上位机 Modbus 通讯协议 本协议采用 Modbus RTU 传输模式; 8 位数据位,偶校验(Even),1 位停止位; 可选波特率:2400、4800、9600; 分体上位机地址范围:41H~A5H; 寄存器功能代码:03H; 寄存器地址范围:0000H~000FH。 寄存器地址分配列表如下:
表示正常)
01H 电池电压低于 3.37V,需要 04H 电池电压低于 3.3V,必 更换电池 02H 须更换电池
空管或者换能器故障无测量 05H 传感器和换能 器之间 信号 通讯故障,无通讯
03H
代码01 和代码02 同时发生 06H E2PROM 损坏

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网络协议发送出去即可。

modbusrtu通信协议书

modbusrtu通信协议书

modbusrtu通信协议书甲方(以下简称甲方):地址:法定代表人:乙方(以下简称乙方):地址:法定代表人:鉴于甲方需要使用modbusRTU通信协议进行设备间的通信,乙方具备提供modbusRTU通信协议相关服务的能力,双方本着平等互利的原则,经友好协商,就modbusRTU通信协议的实施和相关事宜达成如下协议:第一条协议目的本协议旨在规范甲方使用乙方提供的modbusRTU通信协议服务,确保设备间通信的稳定性、安全性和可靠性。

第二条服务内容1. 乙方应向甲方提供modbusRTU通信协议的技术支持和咨询服务。

2. 乙方应确保所提供的modbusRTU通信协议符合国际标准,满足甲方的通信需求。

第三条技术要求1. 乙方提供的modbusRTU通信协议应遵循MODBUS协议规范,包括但不限于MODBUS-RTU协议的数据格式、功能码、异常响应等。

2. 乙方应保证协议的兼容性,确保甲方设备能够与乙方提供的协议无缝对接。

第四条服务期限本协议自双方签字盖章之日起生效,有效期为一年。

协议期满前,双方可协商续签。

第五条保密条款1. 双方应对在本协议履行过程中知悉的商业秘密和技术秘密予以保密,未经对方书面同意,不得向第三方披露。

2. 保密义务在协议终止后仍然有效。

第六条违约责任如一方违反本协议条款,应承担违约责任,并赔偿对方因此遭受的一切损失。

第七条争议解决双方在履行本协议过程中发生的任何争议,应首先通过友好协商解决;协商不成时,任何一方均可向甲方所在地有管辖权的人民法院提起诉讼。

第八条其他1. 本协议未尽事宜,由双方协商解决。

2. 本协议一式两份,甲乙双方各执一份,具有同等法律效力。

甲方(盖章):_________________ 日期:____年__月__日乙方(盖章):_________________ 日期:____年__月__日。

水表MODBUS-RTU通讯协议

水表MODBUS-RTU通讯协议

光电远传水表水表MODBUS-RTU通讯协议本水表使用了MODBUS-RTU通讯协议,MODBUS协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。

MODBUS协议在一根通讯线上使用主从应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。

首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机。

MODBUS协议只允许在主机(PC,PLC等)和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。

MODBUS-RTU格式无起始字符和结尾字符,但需要加等待时间,等待时间不少于3.5个字符发送时间。

(1)传输方式信息传输为异步方式,并以字节为单位,在主机和从机之间传递的通讯信息是10位字格式,包含1个起始位、8个数据位(最小的有效位先发送)、无奇偶校验位、1个停止位。

(2)数据帧格式地址码功能码数据区CRC校验码1字节1字节n字节2字节地址码:地址码在帧的开始部分,由一个字节(8位二进制码)组成,十进制为0~255,在水表中只使用1~247,其它地址保留。

这些位标明了用户指定的终端设备的地址,该设备将接收来自与之相连的主机数据。

每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应包含了该地址的查询。

当终端发送回一个响应,响应中的从机地址数据便告诉了主机哪台终端正与之进行通信。

功能码:功能码告诉了被寻址到的终端执行何种功能。

下表列出了该系列仪表用到的功能码,以及它们的意义和功能。

数据区:数据区包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。

这些数据的内容可能是数值、参考地址或者设置值。

例如:功能码告诉终端读取一个寄存器,数据区则需要指明从哪个寄存器开始及读取多少个数据,内嵌的地址和数据依照类型和从机之间的不同内容而有所不同。

modbusrtu通讯协议说明手册

modbusrtu通讯协议说明手册

陕西上太自动仪表有限公司()目录一通讯定义二通讯方式、协议三协议简介四协议描述传输模式。

通讯模型。

协议支持。

数据在内部寄存器的存储形式五举例说明主机读取从机液位显示值数据命令为格式。

主机向从机写入数据命令格式。

主机要求从机将数据保存到中的命令。

六循环冗余()校验方法七浮点型数据格式标准单精度浮点数简析基于语言的个字节转换为浮点数一通讯定义表一二通讯方式、协议仪器与外部设备通讯方式为。

采用协议模式。

三协议简介是一个访问应答协议,并提供功能码规定的服务。

用于在通过不同类型的总线或网络连接的设备之间的主机从机通讯。

主机发送命令访问从机,从机接受命令后做出相应处理,并向主机做出应答。

图一四协议描述有两种传输模式,或。

本仪表采用传输模式。

表二传输模式模式串行位表三数据帧表四检验检验,是基于循环冗余检验算法的错误检验域。

不管有无数据帧有无奇偶检验,均执行此检验。

包含有两个位字节组成的衣蛾位值。

作为数据帧最后的数据附件在数据帧后,计算后首先附加底字节,然后附加高字节。

值由主机计算,从机接受到数据帧后重新计算,并将计算结果与接收到的值比较,如果不相等,则为错误。

通讯模型主机从机启动访问(功能码数据请求)启动响应、执行操作(操作码数据响应)接受响应图二协议支持本协议功能码,表明了当前要执行何种功能。

表五常用变量内部寄存器地址描述(以下寄存器地址均为起始地址)表六数据在内部寄存器的存储形式内部寄存器所存储的变量数据,是一个标准单精度浮点数。

用四位十六进制表示,占有四个内部寄存器地址。

如读回的数据为。

在内部存储形式为:表七五举例说明主机读取从机液位显示值数据命令为格式样例表八读取数据长度为两个字,一个字返回两个字节。

从机返回命令为格式样例表九主机向从机写入数据命令格式样例表十主机要求从机将数据保存到中的命令这是一条特殊命令,完成后返回六循环冗余()校验方法循环冗余校验区为字节,含一个位二进制数据。

由发送设备计算值,并把计算值附在信息中,接收设备在接收信息时,重新计算值,并把计算值与接收的在区中实际值进行比较,若两者不相同,则产生一个错误。

ModBusRTU通讯协议 (2)

ModBusRTU通讯协议 (2)

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

本协议旨在定义ModBusRTU通讯协议的标准格式和规范,以确保设备之间的通信能够高效、可靠地进行。

二、协议概述1. 协议目的本协议旨在定义ModBusRTU通讯协议的数据帧格式、通信规则和异常处理等内容,以便设备之间能够准确地进行数据交换。

2. 协议范围本协议适用于使用ModBusRTU通讯协议的各类设备,包括但不限于传感器、执行器、控制器等。

3. 术语和缩写为了方便理解和使用本协议,以下列出了一些常用术语和缩写的定义:- ModBusRTU:ModBus串行通讯协议的一种变种,使用二进制编码进行数据传输。

- 数据帧:ModBusRTU通讯协议中的最小数据单元,包含了设备之间传输的数据和控制信息。

- 主站:ModBusRTU通讯协议中发起通信的设备,负责发送请求并接收响应。

- 从站:ModBusRTU通讯协议中被动响应通信的设备,负责接收请求并发送响应。

三、协议格式1. 物理层ModBusRTU通讯协议使用串行通信方式,采用RS-485标准进行电气连接。

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

2. 数据帧格式ModBusRTU通讯协议中的数据帧由起始位、从站地址、功能码、数据域、CRC校验和和终止位组成。

具体格式如下:| 起始位 | 从站地址 | 功能码 | 数据域 | CRC校验和 | 终止位 ||--------|----------|--------|--------|-----------|--------|- 起始位:一个起始位,用于标识数据帧的开始。

- 从站地址:一个字节,用于指定从站的地址,范围为1-247。

- 功能码:一个字节,用于标识请求的类型,包括读取数据、写入数据等。

MODBUS_RTU 通讯协议(16路巡检仪)

MODBUS_RTU 通讯协议(16路巡检仪)

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

2、仪表数据格式:2字节寄存器值=寄存器数高8位二进制数+寄存器低8位二进制数3、仪表通讯帧格式:读寄存器命令格式:1 2 3 4 5 6 7~8DE 3 起始寄存器高位起始寄存器低位寄存器数高位寄存器数低位CRC 注1:寄存器的起始地址从40000开始应答: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循环冗余错误校验注2:寄存器数据为双字节,高位在前。

注3:组态软件定点数计算方式不一致,有的用补码,有的用反码,故我们在一级参数中增加“SWP”参数,用于补码、反码的切换。

(0---补码;1---反码)举例说明: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(以上举例仅作参考,以实际通讯数据内容为准。

)仪表动态数据格式(MODBUS_RTU协议)编号参数名称地址数据格式备注单字节定点数1 内部参数修改标志 0001单字节定点数2 仪表类型 00023 第1路实时测量值 0003三字节定点数4 第1路实时测量值小数点 00045 第2路实时测量值 0005三字节定点数6 第2路实时测量值小数点 00067 第3路实时测量值 0007三字节定点数8 第3路实时测量值小数点 00089 第4路实时测量值 0009三字节定点数10 第4路实时测量值小数点 000A11 第5路实时测量值 000B三字节定点数12 第5路实时测量值小数点 000C13 第6路实时测量值 000D三字节定点数14 第6路实时测量值小数点 000E15 第7路实时测量值 000F三字节定点数16 第7路实时测量值小数点 001017 第8路实时测量值 0011三字节定点数18 第8路实时测量值小数点 0012编号 参 数 名 称 地址 数据格式 备 注19 第9路实时测量值 001320 第9路实时测量值小数点 0014三字节定点数21 第10路实时测量值 001522 第10路实时测量值小数点 0016三字节定点数23 第11路实时测量值 001724 第11路实时测量值小数点 0018三字节定点数25 第12路实时测量值 001926 第12路实时测量值小数点 001A三字节定点数27 第13路实时测量值 001B28 第13路实时测量值小数点 001C三字节定点数29 第14路实时测量值 001D30 第14路实时测量值小数点 001E三字节定点数31 第15路实时测量值 001F32 第15路实时测量值小数点 0020三字节定点数33 第16路实时测量值 002134第16路实时测量值小数点 0022三字节定点数35 第一报警状态(统一) 0023 单字节定点数0-无报警,1-下限报警,2-上限报警 36 第二报警状态(统一) 0024 单字节定点数0-无报警,1-下限报警,2-上限报警★分别报警方式用2字节BCD 码表示第一字节表示第1路至第8路报警,用0、1表示报警状态。

MODBUS_RTU 通讯协议(SSR64路巡检仪)

MODBUS_RTU 通讯协议(SSR64路巡检仪)

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循环冗余错误校验举例对比说明:(以SSR64路巡检仪为例)1、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, 255, 255, 255, 0, 0, 0, 0, 198, 111,仪表动态数据格式(MODBUS_RTU协议)编号参数名称数据格式类型备注1 保留双字节定点数 00002 EEPROM内部修改标志双字节定点数 00013 仪表类型双字节定点数 00024 第1路实时测量值四字节浮点数 00035 第2路实时测量值四字节浮点数 00056 第3路实时测量值四字节浮点数 00077 第4路实时测量值四字节浮点数 00098 第5路实时测量值四字节浮点数 000B9 第6路实时测量值四字节浮点数 000D10 第7路实时测量值四字节浮点数 000F11 第8路实时测量值四字节浮点数 001112 第9路实时测量值四字节浮点数 001313 第10路实时测量值四字节浮点数 001514 第11路实时测量值四字节浮点数 001715 第12路实时测量值四字节浮点数 001916 第13路实时测量值四字节浮点数 001B17 第14路实时测量值四字节浮点数 001D18 第15路实时测量值四字节浮点数 001F19 第16路实时测量值四字节浮点数 002120 第17路实时测量值四字节浮点数 002321 第18路实时测量值四字节浮点数 002522 第19路实时测量值四字节浮点数 002723 第20路实时测量值四字节浮点数 002924 第21路实时测量值四字节浮点数 002B25 第22路实时测量值四字节浮点数 002D26 第23路实时测量值四字节浮点数 002F27 第24路实时测量值四字节浮点数 003128 第25路实时测量值四字节浮点数 003329 第26路实时测量值四字节浮点数 003530 第27路实时测量值四字节浮点数 003731 第28路实时测量值四字节浮点数 003932 第29路实时测量值四字节浮点数 003B33 第30路实时测量值四字节浮点数 003D34 第31路实时测量值四字节浮点数 003F35 第32路实时测量值四字节浮点数 004136 第33路实时测量值四字节浮点数 004337 第34路实时测量值四字节浮点数 004538 第35路实时测量值四字节浮点数 004739 第36路实时测量值四字节浮点数 004940 第37路实时测量值四字节浮点数 004B41 第38路实时测量值四字节浮点数 004D42 第39路实时测量值四字节浮点数 004F43 第40路实时测量值四字节浮点数 005144 第41路实时测量值四字节浮点数 005345 第42路实时测量值四字节浮点数 005546 第43路实时测量值四字节浮点数 005747 第44路实时测量值四字节浮点数 005948 第45路实时测量值四字节浮点数 005B49 第46路实时测量值四字节浮点数 005D50 第47路实时测量值四字节浮点数 005F51 第48路实时测量值四字节浮点数 006152 第49路实时测量值四字节浮点数 006353 第50路实时测量值四字节浮点数 006554 第51路实时测量值四字节浮点数 006755 第52路实时测量值四字节浮点数 006956 第53路实时测量值四字节浮点数 006B57 第54路实时测量值四字节浮点数 006D58 第55路实时测量值四字节浮点数 006F59 第56路实时测量值四字节浮点数 007160 第57路实时测量值四字节浮点数 007361 第58路实时测量值四字节浮点数 007562 第59路实时测量值四字节浮点数 007763 第60路实时测量值四字节浮点数 007964 第61路实时测量值四字节浮点数 007B65 第62路实时测量值四字节浮点数 007D66 第63路实时测量值四字节浮点数 007F67 第64路实时测量值四字节浮点数 008168 ERR1为第1个采集板通讯错误次数双字节定点数 008369 ERR1为第2个采集板通讯错误次数双字节定点数 008470 ERR1为第3个采集板通讯错误次数双字节定点数 008571 ERR1为第4个采集板通讯错误次数双字节定点数 008672 ERR1为第1个输出板通讯错误次数双字节定点数 008773 ERR1为第2个输出板通讯错误次数双字节定点数 008874 ERR1为第3个输出板通讯错误次数双字节定点数 008975 ERR1为第4个输出板通讯错误次数双字节定点数 008A76 ERR1为第5个输出板通讯错误次数双字节定点数 008B77 ERR1为第6个输出板通讯错误次数双字节定点数 008C78 ERR1为第7个输出板通讯错误次数双字节定点数 008D79 ERR1为第8个输出板通讯错误次数双字节定点数 008E80 保留双字节定点数 008F81 保留双字节定点数 009082 保留双字节定点数 009183 保留双字节定点数 009284 AL1为第01~08路第一报警标志双字节定点数 009385 AL2为第09~16路第一报警标志双字节定点数 009486 AL3为第17~24路第一报警标志双字节定点数 009587 AL4为第25~32路第一报警标志双字节定点数 009688 AL5为第33~40路第一报警标志双字节定点数 009789 AL6为第41~48路第一报警标志双字节定点数 009890 AL7为第49~56路第一报警标志双字节定点数 009991 AL8为第57~64路第一报警标志双字节定点数 009A92 AH1为第01~08路第二报警标志双字节定点数 009B93 AH2为第09~16路第二报警标志双字节定点数 009C94 AH3为第17~24路第二报警标志双字节定点数 009D95 AH4为第25~32路第二报警标志双字节定点数 009E96 AH5为第33~40路第二报警标志双字节定点数 009F97 AH6为第41~48路第二报警标志双字节定点数 010098 AH7为第49~56路第二报警标志双字节定点数 010199 AH8为第57~64路第二报警标志双字节定点数 0102 注:报警标志中D0开始为序依次对应。

ModBusRTU通讯协议

ModBusRTU通讯协议

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

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

二、协议结构ModBusRTU通讯协议由以下几个部分组成:1. 帧头:包含起始位和地址位,用于标识通讯的起始。

2. 功能码:用于标识通讯的类型和操作。

3. 数据域:包含具体的数据信息。

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

三、通讯规则1. 帧头- 起始位:占据一个字节,固定为0xFF。

- 地址位:占据一个字节,用于标识设备的地址。

2. 功能码- 读取操作:功能码为0x03,用于读取设备的寄存器数据。

- 写入操作:功能码为0x06,用于向设备的寄存器写入数据。

3. 数据域- 读取操作:数据域包含读取的寄存器地址和读取的寄存器数量。

- 写入操作:数据域包含写入的寄存器地址和写入的数据。

4. CRC校验- CRC校验位:占据两个字节,用于校验数据的完整性。

- CRC校验规则:对帧头、功能码和数据域进行CRC校验,将结果附加在数据域之后。

四、通讯流程1. 主站发送请求:- 主站向从站发送帧头、功能码和数据域。

- 主站计算CRC校验位,将结果附加在数据域之后。

- 主站将数据发送给从站。

2. 从站响应请求:- 从站接收主站发送的数据。

- 从站检查CRC校验位,如果校验通过,则执行相应的操作。

- 从站将执行结果或读取的数据发送给主站。

3. 主站处理响应:- 主站接收从站发送的数据。

- 主站解析数据,根据需要进行后续操作。

五、通讯错误处理1. CRC校验错误:- 如果CRC校验错误,从站将不执行任何操作,并返回错误码给主站。

2. 通讯超时:- 如果主站在规定时间内没有接收到从站的响应,主站将重发请求。

3. 其他错误:- 如果发生其他错误,主站和从站可以根据具体情况进行相应的处理。

六、总结ModBusRTU通讯协议是一种用于串行通信的通讯协议,通过规范通讯的格式和规则,确保通讯的可靠性和稳定性。

MODBUS通讯协议-RTU

MODBUS通讯协议-RTU

Modbus通讯协议(RTU传输模式)本说明仅做内部参考,详细请参阅英文版本。

第一章Modbus协议简介Modbus 协议是应用于电子控制器上的一种通用语言。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。

它已经成为一通用工业标准。

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

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

它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。

它制定了消息域格局和内容的公共格式。

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

如果需要回应,控制器将生成反馈信息并用Modbus协议发出。

在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。

这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。

首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。

协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在使它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。

1.1传输方式传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则,以RTU模式在Modbus总线上进行通讯时,信息中的每8位字节分成2个4位16进制的字符,每个信息必须连续传输下面定义了与Modebus 协议–RTU方式相兼容的传输方式。

代码系统∙8位二进制,十六进制数0...9,A...F∙消息中的每个8位域都是一个两个十六进制字符组成每个字节的位∙1个起始位∙8个数据位,最小的有效位先发送∙1个奇偶校验位,无校验则无∙1个停止位(有校验时),2个Bit(无校验时)错误检测域∙CRC(循环冗长检测)1.2协议当信息帧到达终端设备时,它通过一个简单的“口”进入寻址到的设备,该设备去掉数据帧的“信封”(数据头),读取数据,如果没有错误,就执行数据所请求的任务,然后,它将自己生成的数据加入到取得的“信封”中,把数据帧返回给发送者。

MODBUS协议水表通讯协议

MODBUS协议水表通讯协议

MODBUS水表通讯协议(RTU模式)一、通讯设置.. 1.波特率: 9600..2.校验: 无校验二、3.数据位: 8三、4.停止位:1四、modbus协议4、写操作回复(06H)7、异常码注3 异常码是正常功能码的最高位加1, 如读操作03H的异常功能码为83H, 写单个字06H的异常功能码为86H, 写多个字的10H的异常功能码为90H。

8、寄存器地址注1:累计流量为4个字节的十六进制数, 高位在前, 低位在后,累计流量采用无符号的32 位数据(2个字)如: 实际数据为123456, 则高位字保存0x0001, 低位字保存0xE240。

单位:根据您写入的倍率值计算, 本水表不参与计算, 只记录实际脉冲值。

比如, 您写入的倍率值为分别表示为00H代表1个脉冲只为1立方、01H 代表0.1立方、02H代表0.01立方, 那么数据123456分别为123456立方;12345.6立方;1234.56立方, 由您在上位机程序中进行计算和处理。

注2:表具状态位三、举例说明:假设表地址为01(表地址范围1-247)写表底数123456(16进制: 01E240H)01 10 02 02 00 02 04 00 01 E2 40 73 86 13个字节写表底数返回: 01 10 02 02 00 02 E1 B0 8个字节异常时返回: 01 90 03 0C 01 5个字节(非法数据值)----------------------------------------------------------------------------------------------读表累计: 01 03 02 02 00 02 64 73 8个字节读累计返回: 01 03 04 00 01 E2 40 E2 A3 9个字节异常时返回: 01 83 03 01 31 5个字节----------------------------------------------------------------------------------------------- 读表地址: 00 03 02 00 00 01 84 63 8个字节返回: 01 03 02 00 01 79 84 7个字节注意!读表地址时, 总线上只能连接1只表。

MODBUS协议水表通讯协议

MODBUS协议水表通讯协议

MODBUS水表通讯协议(RTU模式)、通讯设置1.波特率:96002. 校验:无校验3. 数据位:84.停止位:1二、modbus协议1、读操作(03H)2、读操作回复(03H)3、写操作(06H)4、写操作回复(06H)5、写操作(10H)6、写操作回复(10H)7、异常码注3 异常码是正常功能码的最高位加1,如读操作03H的异常功能码为83H , 写单个字06H的异常功能码为86H,写多个字的10H的异常功能码为90H。

8、寄存器地址注1:累计流量为4个字节的十六进制数,高位在前,低位在后, 累计流量采用无符号的32位数据(2个字)如:实际数据为123456,则高位字保存0x0001,低位字保存0xE240。

单位:根据您写入的倍率值计算,本水表不参与计算,只记录实际脉冲值。

比如,您写入的倍率值为分别表示为 00H代表1个脉冲只为1立方、01H 代表0.1立方、02H代表0.01立方,那么数据123456分别为123456立方;12345.6 立方;1234.56立方,由您在上位机程序中进行计算和处理。

注2:表具状态位三、举例说明:假设表地址为01 (表地址范围1-247)写表底数123456 (16进制:01E240H)01 10 02 02 00 02 04 00 01 E2 40 73 86 13 个字节异常时返回:01 90 03 0C 01 5个字节(非法数据值)写表底数返回:01 10 02 02 00 02 E1 B0 8个字节读表累计:01 03 02 02 00 02 64 73 8 个字节读累计返回:01 03 04 00 01 E2 40 E2 A3 9 个字节异常时返回:01 83 03 01 31 5 个字节读表地址:00 03 02 00 00 01 84 63 8 个字节返回:01 03 02 00 01 79 84 7 个字节注意!读表地址时,总线上只能连接1只表。

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

水表MODBUS-RTU通讯协议
本水表使用了MODBUS-RTU通讯协议,MODBUS协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。

MODBUS协议在一根通讯线上使用主从应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。

首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机。

MODBUS协议只允许在主机(PC,PLC等)和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。

MODBUS-RTU格式无起始字符和结尾字符,但需要加等待时间,等待时间不少于3.5个字符发送时间。

(1)传输方式
信息传输为异步方式,并以字节为单位,在主机和从机之间传递的通讯信息是10位字格式,包含1个起始位、8个数据位(最小的有效位先发送)、无奇偶校验位、1个停止位。

(2)数据帧格式
地址码功能

数据

CRC校验

1字节1字节n字节2字节
地址码:地址码在帧的开始部分,由一个字节(8位二进制码)组成,十进制为0~255,在水表中只使用1~247,其它地址保留。

这些位标明了用户指定的终端设备的地址,该设备将接收来自与之相连的主机数据。

每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应包含了该地址的查询。

当终端发送回一个响应,响应中的从机地址数据便告诉了主机哪台终端正与之进行通信。

功能码:功能码告诉了被寻址到的终端执行何种功能。

下表列出了该系列仪表用到的功能码,以及它们的意义和功能。

数据区:数据区包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。

这些数据的内容可能是数值、参考地址或者设置值。

例如:功能码告诉终端读取一个寄存器,数据区则需要指明从哪个寄存器开始及读取多少
个数据,内嵌的地址和数据依照类型和从机之间的不同内容而有所不同。

CRC校验码:错误校验(CRC)域占用两个字节,包含了一个16位的二进制值。

CRC值由传输设备计算出来,然后附加到数据帧上,接收设备在接收数据时重新计算CRC值,然后与接收到的CRC域中的值进行比较,如果这两个值不相等,就发生了错误。

生成一个CRC的流程为:
1、预置一个16位寄存器为0FFFFH(全1),称之为CRC 寄存器。

2、把数据帧中的第一个字节的8位与CRC寄存器中的低字节进行异或运算,结果存回CRC寄存器。

3、将CRC寄存器向右移一位,最高位填以0,最低位移出并检测。

4、如果最低位为0,重复第三步(下一次移位);如果最低位为1,将CRC寄存器与一个预设的固定值(0A001H)进行异或运算。

5、重复第三步和第四步直到8次移位。

这样处理完了一个完整的八位。

6、重复第2步到第5步来处理下一个八位,直到所有的字节处理结束。

7、最终CRC寄存器的值就是CRC的值。

此外还有一种利用预设的表格计算CRC的方法,它的主要特点是计算速度快,但是表格需要较大的存储空间,该方法此处不再赘述,请参阅相关资料。

通信应用格式详解
(1)功能码03H:读寄存器
此功能允许用户获得设备采集与记录的数据及系统参数。

主机一次请求的数据个数没有限制,但不能超出定义的地址范围。

下面的例子是从01号从机读1个采集到的基本数据(数据帧中每个地址占用2个字节)。

采集的数据为总用水量(占用4个字节),其地址为00H
(2)功能码10H:写寄存器
功能码10H允许用户改变多个寄存器的内容,该仪表中地址、通讯速率等可用此功能号写入。

主机一次最多可以写入16个(32字节)数据。

地址变量名

读写属

数据格式
0000H 0001H 总用水

R 每个表占用4个字节
0015H 高字节通信地

R/W 001-247 char
0015H 低字节通信波
特率
R/W
01 ——
2400bps(默认)
02 ——
4800bps
03 ——
2400bps
04 ——
1200bps
char
附:1、读写属性:“R”只读,读参量用03H号命令;“R/W”可读可写,写参量用10H号命令。

禁止向未列出的或不具可写属性的地址写入。

2、表的通讯地址和通讯速率出厂时给出,亦可通过本公司提供的软件读出。

也可以通过协议设置。

3、表中所测读数占4个字节,单位为m3。

高位在前,低位在后,若读出值为0012D687H(1234567),则计量值为
1234567×0.01=12345.67m3。

2400,无校验,8,1。

起始地址为1,读2个字节。

相关文档
最新文档