水表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 损坏
  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个字节。

相关文档
最新文档