埃美柯水表MODBUS-RTU通讯协议
- 格式:pdf
- 大小:88.64 KB
- 文档页数:3
®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为尾数的小数点部分。
编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载rtu通讯协议甲方:___________________乙方:___________________日期:___________________rtu通讯协议篇一:485rtu通讯协议71cb为cRc码)gnd:工作电源-(232通讯时连接电脑的串口5针)unsignedcharcodeauchcRclo[]={篇二:modbusRtu通讯协议要实现modbusRtu通信,一、需要step7-micro/win32V3.2 以上版本的编程软件,而且须安装step7-micro/win32V3.2instructionlibrary(指令库)。
modbusRtu功能是通过指令库中预先编好的程序功能块实现的。
modbusRtu从站指令库只支持cpu上的通信0 口(port0 )基本步骤:1. 检查micro/win 的软件版本,应当是step7-micro/winV3.2 以上版本。
2. 检查micro/win 的指令树中是否存在modbusRtu从站指令库(图1),库中应当包括mbus_init 和mbus_slaVe两个子程序。
如果没有,须安装micro/win32V3.2 的instructionlibrary (指令库)软件包;1.时使用sm0.1调用子程序mbus_init进行初始化,使用sm0.0调用mbus_slaVe ,并指定相应参数。
关于参数的详细说明,可在子程序的局部变虽表中找到;调用modbusRtu通信指令库图中参数意义如下: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. 保持寄存器区起始地址:以1920xx84001.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.5.功能码10h:连续写多个寄存器值第1字节adR第2字节86h第3字节错误数息码第4、5字节:从机地址码(=001〜254):写寄存器值出错功能码:见信息码表:从字节1到3的cRc16校验和当从机接收正确时,从机回送:当从机接收错误时,从机回送:第1字节adR第2字节90h第3字节错误信息码第4、5 字节::::从机地址码(=001〜254)写寄存器值出错见信息码表从字节1到3的cRc16校验和1.8寄存器定义表:(注:寄存器地址编码为16进制)。
超声水表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。
图文详解Modbus-RTU协议前世今生照例简单说下这个协议的历时,Modicon公司于1979年制定了Modbus协议标准,并用在其PLC产品上。
后来Modicon公司被施耐德收购。
已成为一种事实标准协议,同时也被IEC-61158工业通信总线规范收录于type 15子集。
所谓一流的企业做标准,二流的企业做品牌,三流的企业做产品。
这些标准国人都基本是使用者,而非缔造者,所以使用一下,产品上印个标志,做做相关的测试认证都要给老外交钱。
这里只是顺带牢骚几句,与本文想说的无关。
打住!Modbus的应用除了常见的过程控制系统,在其他很多领域都有其身影,比如一些楼宇控制,消防控制等等都有大量的产品采用Modbus协议,因为这个协议实现简单,工作可靠,还是标准化的协议!Modbus分很多实现版本,总的来说是一种应用层协议。
从OSI七层模型来看,位于第七层应用层。
它定义了在不同类型的总线或网络上连接的设备之间提供”客户端/服务器“通信。
对于使用串口的版本,也定义了layer 1 和 layer 2,实现在主站和一个或多个从站之间交换MODBUS 报文。
具体有哪些版本呢?其实主要分两种:Modbus RTU(Remote Terminal Unit 远程终端单元):这种方式常采用RS-485做为物理层,一般利用芯片的串口实现数据报文的收发,报文数据采用二进制数据进行通信。
Modbus ASCII :报文使用 ASCII 字符。
ASCII 格式使用纵向冗余校验和。
Modbus ASCII 报文由冒号 (":")开始和换行符 (CR/LF)结尾构成。
当然其他还根据所使用的物理层不一样,有这么些做法:Modbus TCP/IP 或 Modbus TCP :这是一种 Modbus 变体版本,使用 TCP/IP 网络进行通信,通过 502 端口进行连接。
报文不需要校验和计算,因为以太网底层已经实现了CRC32 数据完整性校验。
RTU通讯协议一、协议介绍RTU通讯协议是一种用于远程终端单元(Remote Terminal Unit,简称RTU)与主站之间进行数据通信的协议。
该协议旨在实现可靠、高效的数据传输,以满足现代工业自动化系统对数据采集、监控和控制的需求。
二、协议设计目标1. 可靠性:确保数据的完整性和准确性,防止丢包和数据损坏。
2. 实时性:保证数据的及时传输和响应,满足实时监控和控制的需求。
3. 可扩展性:支持多种通信介质和设备类型,适应不同应用场景。
4. 安全性:提供数据加密和身份验证等安全机制,防止数据泄露和非法访问。
三、协议通信流程1. 建立连接:a. RTU向主站发送连接请求。
b. 主站收到连接请求后,发送连接确认。
c. RTU收到连接确认后,建立连接。
2. 数据传输:a. RTU向主站发送数据请求。
b. 主站收到数据请求后,发送数据响应。
c. RTU收到数据响应后,传输数据。
3. 断开连接:a. RTU向主站发送断开连接请求。
b. 主站收到断开连接请求后,发送断开连接确认。
c. RTU收到断开连接确认后,断开连接。
四、协议数据格式1. 帧头:标识数据帧的起始,包含固定的起始字符或字节序列。
2. 地址:标识RTU或主站的唯一地址。
3. 功能码:指示数据帧的类型和操作。
4. 数据长度:表示数据部分的长度。
5. 数据:包含实际的数据内容。
6. 校验码:用于验证数据的完整性和正确性。
7. 帧尾:标识数据帧的结束,包含固定的结束字符或字节序列。
五、协议功能码1. 数据读取:a. 读取单个数据:主站发送读取请求,RTU返回对应的数据。
b. 读取多个数据:主站发送读取请求,RTU返回多个数据。
2. 数据写入:a. 写入单个数据:主站发送写入请求和待写入的数据,RTU返回写入结果。
b. 写入多个数据:主站发送写入请求和待写入的多个数据,RTU返回写入结果。
3. 报警和事件:a. 报警查询:主站发送报警查询请求,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 rtu通讯协议格式详细说明MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规约进行数据通讯或传输,不同的系统就可以通讯。
目前,在RS232/RS485通讯过程中,更是广泛采用这种规约。
常用的MODBUS 通讯规约有两种,一种是MODBUS ASCII,一种是MODBUS RTU。
一般来说,通讯数据量少而且主要是文本的通讯则采用MODBUS ASCII规约,通讯数据数据量大而且是二进制数值时,多采用MODBUS RTU规约。
在实际的应用过程中,为了解决某一个特殊问题,人们喜欢自己修改MODBUS规约来满足自己的需要(事实上,人们经常使用自己定义的规约来通讯,这样能解决问题,但不太规范)。
更为普通的用法是,少量修改规约,但将规约格式附在软件说明书一起,或直接放在帮助中,这样就方便了用户的通讯。
modbus rtu通讯传送方式通讯传送分为独立的信息头,和发送的编码数据。
以下的通讯传送方式定义也与MODBUS RTU通讯规约相兼容:初始结构= 4字节的时间地址码= 1 字节功能码= 1 字节数据区= N 字节错误校检= 16位CRC码结束结构= 4字节的时间地址码:地址码为通讯传送的第一个字节。
这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。
并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。
主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。
功能码:通讯传送的第二个字节。
ModBus通讯规约定义功能号为1到127。
本仪表只利用其中的一部分功能码。
作为主机请求发送,通过功能码告诉从机执行什么动作。
作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。
如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。
RTU通讯协议协议名称:RTU通讯协议协议编号:RTU/2022/001生效日期:2022年1月1日1. 引言RTU通讯协议是为了确保远程终端单元(Remote Terminal Unit,简称RTU)与其他设备之间的通信顺畅、高效而制定的标准。
本协议旨在定义RTU通讯的数据格式、通信协议、错误处理及安全机制等方面的要求,以确保通信的稳定性和可靠性。
2. 术语和定义在本协议中,以下术语和定义适合于所有相关方:- RTU:指远程终端单元,用于采集、处理和传输数据的设备。
- 主站:指控制和管理RTU的中央设备。
- 通信协议:指RTU与主站之间进行数据传输的规范和约定。
- 数据格式:指RTU传输数据的结构和编码方式。
3. 通信协议要求3.1 数据格式3.1.1 数据帧格式RTU通讯采用二进制数据帧格式进行传输。
数据帧由起始符、数据域、校验码和结束符组成,具体格式如下:起始符 | 数据域 | 校验码 | 结束符(1字节) | (可变长度) | (1字节) | (1字节)3.1.2 数据域数据域包含了传输的实际数据,其格式根据具体业务需求而定。
数据域长度不超过1024字节。
3.1.3 校验码校验码用于验证数据的完整性和准确性。
采用CRC16算法计算校验码,校验码长度为2字节。
3.1.4 结束符结束符标识数据帧的结束,采用ASCII码表示,固定为"\r\n"。
3.2 通信协议3.2.1 建立连接RTU与主站之间通过串口进行通信。
通信波特率为9600bps,数据位为8位,无校验位,住手位为1位。
3.2.2 数据传输数据传输采用请求-应答模式。
主站向RTU发送请求帧,RTU接收到请求帧后进行处理,并将结果封装在应答帧中返回给主站。
3.2.3 错误处理在数据传输过程中,如果发生错误,RTU应向主站发送错误帧,错误帧中包含错误码和错误信息,以便主站进行相应的处理。
4. 安全机制为了保证通信的安全性,RTU通讯协议采用以下安全机制:4.1 认证机制RTU与主站之间的通信需进行双向认证。
MODBUS_RTU通讯规约MODBUS_RTU通讯规约(本协议采用主从问答方式)PDM系列仪表/变送器:PDM系列仪表/变送器采用全新的设计,革命性地改变了传统电表的概念;具有多功能、高精度、数字式、可编程、结构紧凑、多画面显示的特点,它可以满足电力工业未来对电表的需求。
MODBUS通讯协议:ModBus通讯规约允许PDM系列仪表/变送器与施耐德、西门子、AB、GE等多个国际著名品牌的可编程顺序控制器(PLC)、RTU、SCADA系统、DCS或与第三方具有ModBus兼容的监控系统之间进行信息交换和数据传送。
PDM系列仪表/变送器只要简单地增加一套基于计算机(或工控机)的监控软件(如:组态王、Intouch、FIX、synall等)就可以构成一套电力监控系统。
广泛的系统集成: PDM系列仪表/变送器提供了标准的RS-485/422通讯接口及ModBus通讯协议,这个通讯协议已广泛被国内外电力行业及工控行业作为系统集成的标准。
通讯数据的类型及格式:信息传输为异步方式,并以字节为单位。
在主站和从站之间传递的通讯信息是11位的字格式:字格式(串行数据) 11位二进制起始位 1位数据位 8位奇偶校验位 1位:有奇偶校验位/无:无奇偶校验位停止位 1位:有奇偶校验位/2位:无奇偶校验位● 通讯数据(信息帧)格式数据格式: 地址码 功能码 数据区 错误校检数据长度: 1字节 1字节 N字节 16位CRC码(冗余循环码)★ 注:1、1个字节由8位二进制数组成(既8 bit)。
2、ModBus是Modicon公司的注册商标。
3、“从机”在本文件中既为PDM。
一、通讯信息传输过程:当通讯命令由发送设备(主机)发送至接收设备(从机)时,符合相应地址码的从机接收通讯命令,并根据功能码及相关要求读取信息,如果CRC校验无误,则执行相应的任务,然后把执行结果(数据)返送给主机。
返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码。