Modbus协议中文版(比较完善)
Modbus协议规范(中文)
3
GB/T ××××—××××
4
总体描述 4.1 协议描述
MODBUS 协议定义了一个与基础通信层无关的简单协议数据单元(PDU) 。特定总线或网络上 的 MODBUS 协议映射能够在应用数据单元(ADU)上引入一些附加域。
ADU 地址域 功能码 PD U
图 3:通用 MODBUS 帧 启动 MODBUS 事务处理的客户机创建 MODBUS 应用数据单元。 功能码向服务器指示将执行哪 种操作。 MODBUS 协议建立了客户机启动的请求格式。 用一个字节编码 MODBUS 数据单元的功能码域。有效的码字范围是十进制 1-255(128-255 为 异常响应保留) 。当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。 向一些功能码加入子功能码来定义多项操作。 从客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义 的操作。这个域还包括离散项目和寄存器地址、处理的项目数量以及域中的实际数据字节数。 在某种请求中,数据域可以是不存在的(0 长度) ,在此情况下服务器不需要任何附加信息。功 能码仅说明操作。 如果在一个正确接收的 MODBUS ADU 中,不出现与请求 MODBUS 功能有关的差错,那么服 务器至客户机的响应数据域包括请求数据。如果出现与请求 MODBUS 功能有关的差错,那么域包 括一个异常码,服务器应用能够使用这个域确定下一个执行的操作。 例如,客户机能够读一组离散量输出或输入的开/关状态,或者客户机能够读/写一组寄存器的数 据内容。 当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称 为异常响应) 。对于一个正常响应来说,服务器仅对原始功能码响应。
Modbus 协议规范 45 页
MODBUS 应用层
WEINVIEW modbus通讯协议 中文版
摘要:工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。
Modbus 就是工业控制器的网络协议中的一种。
关键词: Modbus 协议;串行通信; LRC 校验; CRC 校验; RS-23 2C一、 Modbus 协议简介Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
当在一 Modbus 网络上通信时,此协议决定了每一个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息并用Modbus 协议发出。
在其它网络上,包含了 Modbus 协议的消息转换为在此网络上使用的帧或者包结构。
这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
1、在 Modbus 网络上转输标准的 Modbus 口是使用一 RS-232C 兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。
控制器能直接或者经由 Modem 组网。
控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
典型的主设备:主机和可编程仪表。
典型的从设备:可编程控制器。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。
Modbus 协议建立了主设备查询的格式:设备(或者广播)地址、功能代码、所有要发送的数据、一错误检测域。
Modbus协议中文版(GB)
差错码
异常码
图 5 MODBUS 事务处理(异常响应) F 注释:需要管理超时,以便明确地等待可能不会出现的应答。
串行链路上第一个 MODBUS 执行的长度约束限制了 MODBUS PDU 大小(最大 RS485ADU=256 字节)。
因此,对串行链路通信来说,MODBUS PDU=256-服务器地址(1 字节)-CRC(2 字节)=253 字节。
MODBUS 是一个请求/应答协议,并且提供功能码规定的服务。MODBUS 功能码是 MODBUS 请求/应答 PDU 的元素。本文件的作用是描述 MODBUS 事务处理框架内使用的功能码。
1.2 规范性引用文件
1.RFC791,互联网协议,Sep81 DARPA 2.MODBUS 协议参考指南 Rev J,MODICON,1996 年 6 月,doc#PI_MBUS_300 MODBUS 是一项应用层报文传输协议,用于在通过不同类型的总线或网络连接的设备之间的客 户机/服务器通信。 目前,使用下列情况实现 MODBUS: 以太网上的 TCP/IP。 各种媒体(有线:EIA/TIA-232-E、EIA-422、EIA/TIA-485-A;光纤、无线等等)上的异步串行 传输。 MODBUS PLUS,一种高速令牌传递网络。
IETF 因特网工程工作组
I/O 输入/输出设备
IP
互连网协议
MAC 介质访问控制
MB MODBUS 协议
MBAP MODBUS 协议
PDU 协议数据单元
PLC 可编程逻辑控制器
TCP 传输控制协议
GB/T ××××—××××
3 背景概要 MODBUS 协议允许在各种网络体系结构内进行简单通信。
MODBUS 通信
MODBUS协议中文版
设备地址 功能代码 8位 数据字节
错误校验
从机响应信息
错则码查响误修询应03校改::查从将验功机询查区能正中询的码常的从一,响功机指些应能,明信时代并为息,码读错响,为保误为应被持响功从寻寄应能机址存。码提的器并是供从。图在查一并机数询种用设2:据功校寄备主字能验存应从节码方器执查中的法的行询含应,内的响有答以容动应一,保作作周个数证响类期代据信应型码字息。。该,节内数数来包容据据说含的字区明从完节必错机整中须误采性包含,集。含有错的从误告数机检之据须查从,执区机如行读允寄功许取存能寄主器的机存值各确器或附认的状加态有起信始。效息如地的,出址信如现及息功错数内能误量容代,,。
RTU 模式
点是控在制相器同以波特RT率U下模其式传在输M的o字db符us的总密线度上高进于行通AS讯C时II 模,信式息,中每的个每信息8 位必字须节连分续成传输2 个。 4 位 16 进制的字符,该模式的主要优
RTU编模码式系中统每:个8字位节二的进格制式,:十六进制 , 0-9 A-F
数据位:
在查从息信的一询息控台响级制从应,器机周尽。设期管备:网返络回通一讯个方响法应是,对类等似的,,当但一M台o控db制us器协接议受仍信采息用时主,从它方就式组,织若一一个台从控机制设器备作的为响主应机信设息备,发并送返一回个至信原息发,送则信可
主机查询信息
设备地址 功能代码 8位 数据字节 错误校验
2 Modbus Protocol
PI-MBUS-300
提供了图设1 备说间明能了够采交用换不数同据通的讯公技共术的的语多言层。网络中设备的互连方法。在信息交换中,嵌入到每个网络数据包中的 Modbus 协议, 主处理器
去( MB+) 去 S980( MAP)
MODBUS协议中文版
式的主当要控优制点器是以允A许SC字II符模之式间在的M时od间bu间s 隔总长线达上进IS行,通也讯不时会,出一现个错信误息。中的每 8 位字节作为 2 个 ASCII 字符传输的,这种模
ASCII 码每一个字节的格式:
错误编数校码验据系区统位:::(纵1奇17L6起位向R/进偶始C数冗制校)位据余,验1,校位A时低验S带C1位校I位I先验字;送符无1 停奇0-止9偶,A位校-F;验无时校0验位2 止位 1 个 16 进制
设备地址 功能代码 8位 数据字节
错误校验
从机响应信息
错则码查响误修询应03校改::查从将验功机询查区能正中询的码常的从一,响功机指些应能,明信时代并为息,码读错响,为保误为应被持响功从寻寄应能机址存。码提的器并是供从。图在查一并机数询种用设2:据功校寄备主字能验存应从节码方器执查中的法的行询含应,内的响有答以容动应一,保作作周个数证响类期代据信应型码字息。。该,节内数数来包容据据说含的字区明从完节必错机整中须误采性包含,集。含有错的从误告数机检之据须查从,执区机如行读允寄功许取存能寄主器的机存值各确器或附认的状加态有起信始。效息如地的,出址信如现及息功错数内能误量容代,,。
在其它总线上传输数据
在 M除AP标网准络的上M通o讯db。us 功能外,有些 Modcon 控制器内置端口或总线适配器,在 Modbus+总线上实现通讯或使用网络适配器, 制器既在可这作些为总从线机上,,也控可制作器为间主采机用,对常等提的供技多术重进的行内通部讯通,道即,任允意许一并个列控处制理器主可机向和其从它机控传制输器数启据动数据传送。因此,一台控
AT9/H84CA-9/B84
和
HOSS9T85/MMHI
编程器
4设个备或M网od络us
modbus协议中文版
GB/T ××××—××××
前
http://www.cechinamag.com 言
-----------串行链路和 TCP/IP 上的 MODBUS 标准介绍 该标准包括两个通信规程中使用的 MODBUS 应用层协议和服务规范: ·串行链路上的 MODBUS MODBUS 串行链路取决于 TIA/EIA 标准:232-F 和 485-A。 ·TCP/IP 上的 MODBUS MODBUS TCP/IP 取决于 IETF 标准:RFC793 和 RFC791 有关。 串行链路和 TCP/IP 上的 MODBUS 是根据相应 ISO 层模型说明的两个通信规程。 下图强调指出了该标准的主要部分。绿色方框表示规范。灰色方框表示已有的国际标准 (TIA/EIA 和 IETF 标准) 。
MODBUS ON TCP/IP 网关 网关 网关
MODBUS ON RS232
MODBUS ON RS485
MODBUS ON MB+
PLC HMI 驱动器
PLC I/O I/O 驱动器
I/O
I/O
驱动器
图 2:MODBUS 网络体系结构的实例 每种设备(PLC、HMI、控制面板、驱动程序、动作控制、输入/输出设备)都能使用 MODBUS 协议来启动远程操作。 在基于串行链路和以太 TCP/IP 网络的 MODBUS 上可以进行相同通信。 一些网关允许在几种使用 MODBUS 协议的总线或网络之间进行通信。 4 总体描述 4.1 协议描述
以太网 II/802.3 IEEE 802.2
TIA/EIA-232-F
TIA/EIA-485-A
以太网物理层
MODBUS 标准分为三部分。第一部分( “Modbus 协议规范” )描述了 MODBUS 事 物处理。第二部分( “MODBUS 报文传输在 TCP/IP 上的实现指南” )提供了一个有助于 开发者实现 TCP/IP 上的 MODBUS 应用层的参考信息。第三部分( “MODBUS 报文传 输在串行链路上的实现指南” )提供了一个有助于开发者实现串行链路上的 MODBUS 应用层的参考信息。
ModbusRTU协议文档(中文)
图 2 – 3 读 DO1~DO6 状态的响应数据帧
2.2 读数字输入状态(功能码 02)
查询数据帧
此功能允许用户获得 DI 的状态 ON / OFF(1 = ON , 0 = OFF),除了从机地址和功能 域,数据帧还需要在数据域中包含将被读取 DI 的初始地址和要读取的 DI 数量。SRTU510 中 DI 的地址从 0000H 开始(DI1=0000H,DI2=0001H 依此类推)。具体地址请查看第三章。
以便通过协议正确地建立与它们通讯的特定应用程序。
本章所述协议将尽可能的使用如图 2 – 1 所示的格式,(数字为 16 进制)。
Addr 06H
Fun
Data
Data Data #of Data #of CRC16
CRC16
start
start regs hi regs lo
Hi
Lo
reg hi reg lo
行为 获得数字(继电器)输出的当前状态(ON/OFF) 获得数字输入的当前状态(ON/OFF) 获得一个或多个寄存器的当前二进制值 控制数字(继电器)输出状态(ON/OFF) 设定二进制值到一系列多寄存器中
1.2.4 数据(Data)域
数据域包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这 些数据的内容可能是数值、参考地址或者设置值。例如:功能域码告诉终端读取一个寄存器, 数据域则需要指明从哪个寄存器开始及读取多少个数据,内嵌的地址和数据依照类型和从机 之间的不同内容而有所不同。
图 2 – 4 的例子是从地址为 17 的从机读取 DI1 到 DI16 的状态。 (例如:SRTU510 有 16 个 DI,DI 的数量为 1~16)
Addr 11H
MODBUS协议中文版(比较完善)
GB/T ××××—××××前言-----------串行链路和TCP/IP 上的MODBUS标准介绍该标准包括两个通信规程中使用的MODBUS应用层协议和服务规范:·串行链路上的MODBUSMODBUS串行链路取决于TIA/EIA标准:232-F和485-A。
·TCP/IP 上的MODBUSMODBUS TCP/IP取决于IETF标准:RFC793 和RFC791 有关。
串行链路和 TCP/IP 上的 MODBUS 是根据相应 ISO 层模型说明的两个通信规程。
下图强调指出了该标准的主要部分。
绿色方框表示规范。
灰色方框表示已有的国际标准(TIA/EIA和IETF标准)。
Modbus 协议规范 45 页MODBUS应用层MODBUS报文传输在TCP/IP 上的实现指南 49页在 TCP/IP上的 MODBUS 映射TCP IETF RFC 793MODBUS 报文传输在串行链路上的实现指南 45页IP IETF RFC 791串行链路主站/从站以太网 II/802.3 IEEE 802.2TIA/EIA-232-FTIA/EIA-485-A以太网物理层MODBUS标准分为三部分。
第一部分(“Modbus 协议规范”)描述了MODBUS事物处理。
第二部分(“MODBUS报文传输在TCP/IP上的实现指南”)提供了一个有助于开发者实现 TCP/IP 上的 MODBUS 应用层的参考信息。
第三部分(“MODBUS 报文传输在串行链路上的实现指南”)提供了一个有助于开发者实现串行链路上的 MODBUS 应用层的参考信息。
modicon_MODBUS协议最新中文版
第一章Modbus协议□介绍Modbus协议介绍□两种串行传输模式□信息帧□错误检查方法Modbus协议介绍Modbus可编程控制器之间可相互通讯,也可与不同网络上的其他设备进行通讯,支撑网络有Modicon的Modbus和Modbus+工业网络。
网络信息存取可由控制器内置的端口,网络适配器以及Modicon提供的模块选件和网关等设备实现,对OEM(机械设备制造商)来说,Modicon可为合作伙伴提供现有的程序,可使Modbus+网络紧密地集成到他们的产品设计中去。
Modicon的各种控制器使用的公共语言被称为Modbus协议,该协议定义了控制器能识别和使用的信息结构。
当在Modbus网络上进行通讯时,协议能使每一台控制器知道它本身的设备地址,并识别对它寻址的数据,决定应起作用的类型,取出包含在信息中的数据和资料等,控制器也可组织回答信息,并使用Modbus协议将此信息传送出去。
在其他网络上使用时,数据包和数据帧中也包含着Modbus协议。
如,Modbus+或MAP网络控制器中有相应的应用程序库和驱动程序,实现嵌入式Modbus协议信息与此网络中用子节点设备间通讯的特殊信息帧的数据转换。
该转换也可扩展,处理节点地址,路由,和每一个特殊网络的错误检查方法。
如包含在Modbus协议中的设备地址,在信息发送前就转换成节点地址,错误检查区也用于数据包,与每个网络的协议一致,最后一点是需用Modbus协议,写入嵌入的信息,定义应处理的动作。
图1说明了采用不同通讯技术的多层网络中设备的互连方法。
在信息交换中,嵌入到每个网络数据包中的Modbus协议,提供了设备间能够交换数据的公共的语言。
图1:Modbus 协议应用示意图* MB+为 ModbusModbus 上的数据传输Modicon 控制器上的标准Modbus 端口是使用一个RS-232兼容的串行接口,定义了连接器,接线电缆,信号等级,传输波特率,和奇偶校验,控制器可直接或通过调制解调器(以后简称Modems)接入总线(网络)。
Modbus中文版协议
网络由以下来定义:□拓扑(总线,令牌环,星形,树状,网状等等)□物理局限(长度,速率,用户数量,等等)□所采用的传输媒体(线缆,光缆,无线电波等)□网络接入类型(随机接入,主从站,带或不带故障管理的令牌环,等等)□传输模式(同步/异步,分组,串行/并行,NRZ/曼彻斯特编码,等)□协议(TCP/IP,FIP,MODBUS,等)。
系统每秒钟的波特和比特数当选用线缆时所要考虑的重要的参数是带宽。
带宽与由波特表示的调制速率有关。
波特经常被错误的表示为每秒的比特数。
该参数对用户非常有用。
两者容易混淆是由于它们的比价通常为1。
比价为2表示吞吐量是通讯速率的二倍。
结构体系(以推荐的SubD9连接,波特率1200时最大长度3000米,波特率9600时最大长度300米,总线拓扑。
)(以SubD9或25pts 连接,波特率19200时最大长度15米。
)(以推荐的SubD9连接,波特率19200时最大长度1200米。
)(以推荐的SubD9连接,波特率19200时最大长度1200米,总线拓扑。
)拓扑总线 环 星形点对点从电源电压(12V或24V)获得的20mA电流流经回路。
对于正常线路(20mA:线路静止状态)连接每个站大约损失1²5V。
□从站的发送器通常和主站的接收器串行连接(正常线路,20mA静止状态):主站从站从站从站□从站的发送器能和主站的接收器并行连接。
在此例中,线路的静止状态是0mA:主站从站从站从站实际的DB25-DB25连接定义:DTE(数据终端设备)表示终端或计算机。
定义:DCE(数据通讯设备)表示调制解调器(或打印机)。
□用直接的PIN-TO-PIN电缆连接不同类型的设备(DTE-DCE)。
□用特殊电缆连接相同类型的设备:²DTE-DTE,用NUL-调制解调器电缆,²DCE-DCE,用NUL-终接电缆。
注意:术语“DCE”和“DTE”与连接器的类型和性别无关。
标准的RS232C不能明确定义连接器是插头型还是插座型。
Modbus通信协议中文版
Modbus通信协议工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代工业控制器连网也为网络管理提供了方便。
Modbus就是工业控制器的网 络协议中的一种。
一、Modbus 协议简介Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息并用Modbus协议发出。
在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。
这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
1、在Modbus网络上转输标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。
控制器能直接或经由Modem组网。
控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
典型的主设备:主机和可编程仪表。
典型的从设备:可编程控制器。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。
Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。
从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。
Modbus通信协议中文版
Modbus通信协议
页码,1/10
工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也 为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。 一、Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器 相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标 准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述 了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记 录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发 来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。 在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展 了根据具体的网络解决节地址、路由路径及错误检测的方法。 1、在Modbus网络上转输 标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波 特率、奇偶校验。控制器能直接或经由Modem组网。 控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设 备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设 备:可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一 消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格 式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测 域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并 把它作为回应发送出去。 2、在其它类型网络上转输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单 独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生 的传输进程。 在消息位,Modbus协议仍提供了主—从原则,尽管网络通信方法是“对等”。如果一控制器发送 一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建 立一从设备回应格式并返回给发送的控制器。 3、查询—回应周期 (1)查询 查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的 任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含 要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种 验证消息内容是否正确的方法。 (2)回应 如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数 据段包括了从设备收集的数据:象寄存器值或状态。如果有错误发生,功能代码将被修改以用于 指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认 消息内容是否可用。
modbus_标准通讯协议中文版
同样一个信息后,立即发送的一个新信息,(若无 3。5 个字符的静止时间)这将会产生一个错误。是因为合并信息的 CRC 校验码无效而产生的错误。
开始 T1-T2-T3-T4
地址 8 B位S
功能 8B位S
数据 N×8 B 位 S
校验 16B 位 S
终止 T1-T2-T3T-4
图 4 RTU 信息帧
Modbus 信息帧(Continued)
地址设置
信息地址包括 2 个字符(ASCII)或 8 位(RTU),有效的从机设备地址范围 0-247,(十进制),各从机设备的寻址范围为 1-247。 主机把从机地址放入信息帧的地址区,并向从机寻址。从机响应时,把自己的地址放入响应信息的地址区,让主机识别已 作出响应的从机地址。
在信息级,尽管网络通讯方法是对等的,但 Modbus 协议仍采用主从方式,若一台控制器作为主机设备发送一个信息,则可 从一台从机设备返回一个响应,类似,当一台控制器接受信息时,它就组织一个从机设备的响应信息,并返回至原发送信 息的控制器。
查询响应周期:
主机查询信息
设备地址 功能代码
8位 数据字节
错误校验
2 字符
数据
n 字符
纵向冗余 检查
2 字符
上海埃蒙特自动化系统有限公司 021-64131551 结束
2 字符
例外:对于 584 和 984A/B/X 控制器,一个 ASCII 信息可在 LRC 区后正常终止,而不需发送 CRLF 字符,此时出现>IS 的时 间间隔,控制器也将认为是正常中断。
RTU 模式中每个字节的格式: 编码系统:8 位二进制,十六进制 0-9,A-F
ModBus协议(中文pdf文件)
Modbus通信协议摘 要:工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。
Modbus就是工业控制器的网络协议中的一种。
关键词:Modbus协议;串行通信;LRC校验;CRC校验;RS-232C一、Modbus 协议简介Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息并用Modbus协议发出。
在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。
这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
1、在Modbus网络上转输标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。
控制器能直接或经由Modem组网。
控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
典型的主设备:主机和可编程仪表。
典型的从设备:可编程控制器。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。
Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。
Modbus协议规范中文版
2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @ 珠联璧合 xlzhu xlzhu@
Modbus 协议规范中文版
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
主处理器 MAP
984-685 (到 MB PLUS) S980(到 MAP) Modbus Plus
信息帧功能代码包括字符(ASCII)或 8 位(RTU)。有效码范围 1-225(十进制),其中有 些代码适用全部型号的 Modicon 控 制器, 而有些代码仅适用于某些型号的控制器。 还有一 些代码留作将来使用,有关功能代替码的设置将在第 2 章说明。 当主机向从句发送信息时, 功能代码向从机说明应执行的动作。 如读一组离散式线圈或 输入信号的 ON/OFF 状态, 读 一组寄存器的数据, 读从机的诊断状态, 写线圈 (或寄存器) , 允许下截、记录、确认从机内的程序等。当从机响应主机时, 功能代码可说明从机正常响 应或出现错误(即不正常响应),正常响应时,从句简单返回原始功能代码;不正常响应时, 从机 返回与原始代码相等效的一个码,并把最高有效位设定为“1” 。 如,主机要求从机读一组保持寄存器时,则发送信息的功能码为: 0000 0011 (十六进制 03) 若从机正确接收请求的动作信息后,则返回相同的代码值作为正常响应。发现错时, 则 返回一个不正常响信息: 1000 0011(十六进制 83) 从机对功能代码作为了修改,此外,还把一个特殊码放入响应信息的数据区中,告诉主 机出现的错误类型和不正常响 应的原因。主机设备的应用程序负责处理不正常响应,典型 处理过程是主机把对信息的测试和诊断送给从机,并通知操作者。 1.3.5 数据区的内容
例外:对于 584 和 984A/B/X 控制器,一个 ASCII 信息可在 LRC 区后正常终止,而 不需发送 CRLF 字符,此时出现>IS 的时 间间隔,控制器也将认为是正常中断。 1.3.2 RTU 帧
中文MODBUS协议
第一章Modbus协议□介绍Modbus协议介绍□两种串行传输模式□信息帧□错误检查方法PI-MBUS-300 Modbus Protocol 1Modbus协议介绍Modbus可编程控制器之间可相互通讯,也可与不同网络上的其他设备进行通讯,支撑网络有Modicon的Modbus和Modbus+工业网络。
网络信息存取可由控制器内置的端口,网络适配器以及Modicon提供的模块选件和网关等设备实现,对OEM(机械设备制造商)来说,Modicon可为合作伙伴提供现有的程序,可使Modbus+网络紧密地集成到他们的产品设计中去。
Modicon的各种控制器使用的公共语言被称为Modbus协议,该协议定义了控制器能识别和使用的信息结构。
当在Modbus网络上进行通讯时,协议能使每一台控制器知道它本身的设备地址,并识别对它寻址的数据,决定应起作用的类型,取出包含在信息中的数据和资料等,控制器也可组织回答信息,并使用Modbus协议将此信息传送出去。
在其他网络上使用时,数据包和数据帧中也包含着Modbus协议。
如,Modbus+或MAP网络控制器中有相应的应用程序库和驱动程序,实现嵌入式Modbus协议信息与此网络中用子节点设备间通讯的特殊信息帧的数据转换。
该转换也可扩展,处理节点地址,路由,和每一个特殊网络的错误检查方法。
如包含在Modbus协议中的设备地址,在信息发送前就转换成节点地址,错误检查区也用于数据包,与每个网络的协议一致,最后一点是需用Modbus协议,写入嵌入的信息,定义应处理的动作。
2Modbus Protocol PI-MBUS-300PI-MBUS-300Modbus Protocol3图1说明了采用不同通讯技术的多层网络中设备的互连方法。
在信息交换中,嵌入到每个网络数据包中的Modbus 协议,图1:Modbus 协议应用示意图 * MB+为 Modbus主处理器4个Modus设备或网络编程器编程器(去MB+) S980(去MAP)AT/HC-984 和 HOST/MMHIAT/HC-984 HOST/MMHI 984A/B 和 S985Modbus ProtocolPI-MBUS-3004Modbus 上的数据传输Modicon 控制器上的标准Modbus 端口是使用一个RS-232兼容的串行接口,定义了连接器,接线电缆,信号等级,传输波特率,和奇偶校验,控制器可直接或通过调制解调器(以后简称Modems)接入总线(网络)。
MODBUS中文协议
该转换也可扩展,处理节点地址,路由,和每一个特殊网络的错误检查方法。如包含在 Modbus 协议中的设备地址,在 信息发送前就转换成节点地址,错误检查区也用于数据包,与每个网络的协议一致,最后一点是需用 Modbus 协议,写入嵌 入的信息,定义应处理的动作。
RTU 帧
RTU 模式中,信息开始至少需要有 3.5 个字符的静止时间,依据使用的波特率,很容易计算这个静止的时间(如下图中 的 T1-T2-T3-T4)。接着,第一个区的数据为设备地址。
各个区允许发送的字符均为 16 进制的 0-9,A-F。
网络上的设备连续监测网络上的信息,包括静止时间。当接收第一个地址数据时,每台设备立即对它解码,以决定是 否是自己的地址。发送完最后一个字符号后,也有一个 3.5 个字符的静止时间,然后才能发送一个新的信息。
Modicon 的各种控制器使用的公共语言被称为 Modbus 协议,该协议定义了控制器能识别和使用的信息结构。当在 Modbus 网络上进行通讯时,协议能使每一台控制器知道它本身的设备地址,并识别对它寻址的数据,决定应起作用的类型, 取出包含在信息中的数据和资料等,控制器也可组织回答信息,并使用 Modbus 协议将此信息传送出去。
在其它总线上传输数据
除标准的 Modbus 功能外,有些 Modcon 控制器内置端口或总线适配器,在 Modbus+总线上实现通讯或使用网络适配器, 在 MAP 网络上通讯。
在这些总线上,控制器间采用对等的技术进行通讯,即任意一个控制器可向其它控制器启动数据传送。因此,一台控 制器既可作为从机,也可作为主机,常提供多重的内部通道,允许并列处理主机和从机传输数据
Modbus协议 中文
第一章 Modbus协议□介绍Modbus协议介绍□两种串行传输模式□信息帧□错误检查方法Modbus协议介绍Modbus可编程控制器之间可相互通讯,也可与不同网络上的其他设备进行通讯,支撑网络有Modicon的Modbus和Modbus+工业网络。
网络信息存取可由控制器内置的端口,网络适配器以及Modicon提供的模块选件和网关等设备实现,对OEM(机械设备制造商)来说,Modicon可为合作伙伴提供现有的程序,可使Modbus+网络紧密地集成到他们的产品设计中去。
Modicon的各种控制器使用的公共语言被称为 Modbus协议,该协议定义了控制器能识别和使用的信息结构。
当在Modbus网络上进行通讯时,协议能使每一台控制器知道它本身的设备地址,并识别对它寻址的数据,决定应起作用的类型,取出包含在信息中的数据和资料等,控制器也可组织回答信息,并使用Modbus协议将此信息传送出去。
在其他网络上使用时,数据包和数据帧中也包含着Modbus协议。
如,Modbus+或MAP网络控制器中有相应的应用程序库和驱动程序,实现嵌入式Modbus协议信息与此网络中用子节点设备间通讯的特殊信息帧的数据转换。
该转换也可扩展,处理节点地址,路由,和每一个特殊网络的错误检查方法。
如包含在Modbus协议中的设备地址,在信息发送前就转换成节点地址,错误检查区也用于数据包,与每个网络的协议一致,最后一点是需用Modbus协议,写入嵌入的信息,定义应处理的动作。
图1说明了采用不同通讯技术的多层网络中设备的互连方法。
在信息交换中,嵌入到每个网络数据包中的Modbus 协议,图1:Modbus 协议应用示意图 * MB+为 Modbus主处理器4个Modus设备或网络编程器编程器(去MB+) S980(去MAP)AT/HC-984 和 HOST/MMHIAT/HC-984 HOST/MMHI 984A/B 和 S985Modbus 上的数据传输Modicon 控制器上的标准Modbus 端口是使用一个RS-232兼容的串行接口,定义了连接器,接线电缆,信号等级,传输波特率,和奇偶校验,控制器可直接或通过调制解调器(以后简称Modems)接入总线(网络)。
MODBUS通讯协议中文版
GB/T ××××—××××0 前 言-----------串行链路和TCP/IP 上的MODBUS 标准介绍该标准包括两个通信规程中使用的MODBUS 应用层协议和服务规范: ·串行链路上的MODBUSMODBUS 串行链路取决于TIA/EIA 标准:232-F 和485-A 。
·TCP/IP 上的MODBUSMODBUS TCP/IP 取决于IETF 标准:RFC793和RFC791有关。
串行链路和TCP/IP 上的MODBUS 是根据相应ISO 层模型说明的两个通信规程。
下图强调指出了该标准的主要部分。
绿色方框表示规范。
灰色方框表示已有的国际标准(TIA/EIA 和IETF 标准)。
MODBUS 标准分为三部分。
第一部分(“Modbus 协议规范”)描述了MODBUS 事物处理。
第二部分(“MODBUS 报文传输在TCP/IP 上的实现指南”)提供了一个有助于开发者实现TCP/IP 上的MODBUS 应用层的参考信息。
第三部分(“MODBUS 报文传输在串行链路上的实现指南”)提供了一个有助于开发者实现串行链路上的MODBUS 应用层的参考信息。
欢迎来到控制中文网http://www.cechinamag.comGB/T ××××—××××1第一部分:Modbus 协议欢迎来到控制中文网http://www.cechinamag.comGB/T××××—××××2 第一部分:Modbus协议1 引言1.1 范围MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。
自从1979年出现工业串行链路的事实标准以来,MODBUS使成千上万的自动化设备能够通信。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GB/T ××××—××××前言-----------串行链路和TCP/IP上的MODBUS标准介绍该标准包括两个通信规程中使用的MODBUS应用层协议和服务规范:·串行链路上的MODBUSMODBUS串行链路取决于TIA/EIA标准:232-F和485-A。
·TCP/IP上的MODBUSMODBUS TCP/IP取决于IETF标准:RFC793和RFC791有关。
串行链路和TCP/IP上的MODBUS是根据相应ISO层模型说明的两个通信规程。
下图强调指出了该标准的主要部分。
绿色方框表示规范。
灰色方框表示已有的国际标准(TIA/EIA和IETF标准)。
Modbus协议规范45页MODBUS应用层MODBUS报文传输在TCP/IP 上的实现指南49页在TCP/IP上的MODBUS映射TCPIETF RFC 793MODBUS报文IPIETF RFC 791传输在串行链路上的实现指南45页串行链路主站/从站以太网II/802.3IEEE 802.2TIA/EIA-232-F TIA/EI A-485-A 以太网物理层MODBUS标准分为三部分。
第一部分(“Modbus协议规范”)描述了MODBUS事物处理。
第二部分(“MODBUS报文传输在TCP/IP上的实现指南”)提供了一个有助于开发者实现TCP/IP上的MODBUS应用层的参考信息。
第三部分(“MODBUS报文传输在串行链路上的实现指南”)提供了一个有助于开发者实现串行链路上的MODBUS应用层的参考信息。
GB/T ××××—××××第一部分:Modbus协议1GB/T ××××—××××第一部分:Modbus协议1 引言1.1 范围MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。
自从1979年出现工业串行链路的事实标准以来,MODBUS使成千上万的自动化设备能够通信。
目前,继续增加对简单而雅观的MODBUS结构支持。
互联网组织能够使TCP/IP栈上的保留系统端口502访问MODBUS。
MODBUS是一个请求/应答协议,并且提供功能码规定的服务。
MODBUS功能码是MODBUS 请求/应答PDU的元素。
本文件的作用是描述MODBUS事务处理框架内使用的功能码。
1.2 规范性引用文件1.RFC791,互联网协议,Sep81DARPA2.MODBUS协议参考指南Rev J,MODICON,1996年6月,doc#PI_MBUS_300MODBUS是一项应用层报文传输协议,用于在通过不同类型的总线或网络连接的设备之间的客户机/服务器通信。
目前,使用下列情况实现MODBUS:以太网上的TCP/IP。
各种媒体(有线:EIA/TIA-232-E、EIA-422、EIA/TIA-485-A;光纤、无线等等)上的异步串行传输。
MODBUS PLUS,一种高速令牌传递网络。
MODBUS应用层基于TCP的Modbu sTCPIP其它MODBUS+/HDL 主站从站/以太网II/802.3以太网物理层其它物理层EIA/TIA-232或EIA/TIA-485图1:MODBUS通信栈2 缩略语ADU 应用数据单元2HDLC 高级数据链路控制 HMI 人机界面IETF 因特网工程工作组I/O 输入/输出设备 IP 互连网协议 MAC 介质访问控制MB MODBUS协议MBAP MODBUS 协议 PDU 协议数据单元 PLC 可编程逻辑控制器 TCP 传输控制协议GB/T ××××—××××3 背景概要MODBUS协议允许在各种网络体系结构内进行简单通信。
MODBUS通信驱动器PLCHMII/OI/OPLCI/OMODBUS ON TCP/IP网关 MODBUS ON MB+I/OPLC HMI 驱动器I/ON 2驱动器 网关5PLC I/O I/O驱动器图2:MODBUS网络体系结构的实例 每种设备(PLC 、HMI 、控制面板、驱动程序、动作控制、输入/输出设备)都能使用MODBUS 协议来启动远程操作。
在基于串行链路和以太 TCP/IP网络的 MODBUS上可以进行相同通信。
一些网关允许在几种使用 MODBUS协议的总线或网络之间进行通信。
4 总体描述4.1协议描述MODBUS 协议定义了一个与基础通信层无关的简单协议数据单元(PDU )。
特定总线或网络上 的 MODBUS协议映射能够在应用数据单元(ADU )上引入一些附加域。
3网关MO D B U S O R S 2 3 M O D B U SO NR S 48GB/T ××××—××××ADU地址域 功能码数据 差错校验PDU图 3:通用MODBUS帧启动MODBUS事务处理的客户机创建MODBUS应用数据单元。
功能码向服务器指示将执行哪 种操作。
MODBUS协议建立了客户机启动的请求格式。
用一个字节编码 MODBUS数据单元的功能码域。
有效的码字范围是十进制 1-255(128-255 为 异常响应保留)。
当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。
向一些功能码加入子功能码来定义多项操作。
从客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义 的操作。
这个域还包括离散项目和寄存器地址、处理的项目数量以及域中的实际数据字节数。
在某种请求中,数据域可以是不存在的(0 长度),在此情况下服务器不需要任何附加信息。
功 能码仅说明操作。
如果在一个正确接收的MODBUSADU中,不出现与请求MODBUS功能有关的差错,那么服 务器至客户机的响应数据域包括请求数据。
如果出现与请求 MODBUS 功能有关的差错,那么域包括一个异常码,服务器应用能够使用这个域确定下一个执行的操作。
例如,客户机能够读一组离散量输出或输入的开/关状态,或者客户机能够读/写一组寄存器的数 据内容。
当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称 为异常响应)。
对于一个正常响应来说,服务器仅对原始功能码响应。
客户机服务器启动请求接收响应功能码数据请求操作码 执行操作启动响应数据响应图4:MODBUS事务处理(无差错)对于异常响应,服务器返回一个与原始功能码等同的码,设置该原始功能码的最高有效位为逻 辑 1。
4GB/T ××××—××××客户机服务器启动请求功能码数据请求在操作中检测的差错启动差错接收响应差错码异常码图5 MODBUS事务处理(异常响应)F 注释:需要管理超时,以便明确地等待可能不会出现的应答。
串行链路上第一个MODBUS执行的长度约束限制了MODBUS PDU大小(最大RS485ADU=256字节)。
因此,对串行链路通信来说,MODBUS PDU=256-服务器地址(1字节)-CRC(2字节)=253字节。
从而:RS232 / RS485 ADU = 253字节+服务器地址(1 byte) + CRC (2字节) = 256字节。
TCP MODBUS ADU = 249字节+ MBAP (7字节) = 256字节。
MODBUS协议定义了三种PDU。
它们是:l MODBUS请求PDU,mb_req_pdul MODBUS响应PDU,mb_rsp_pdul MODBUS异常响应PDU,mb_excep_rsp_pdu定义mb_req_pdu为:mb_req_pdu = { functio n_code, request_data},其中function_code - [1个字节] MODBUS功能码request_data - [n个字节],这个域与功能码有关,并且通常包括诸如可变参考、变量、数据偏移量、子功能码等信息。
定义mb_rsp_pdu为:mb_rsp_pdu = { function_code, response_ data},其中function_code - [1个字节] MODBUS功能码response_data - [n个字节],这个域与功能码有关,并且通常包括诸如可变参考、变量、数据偏移量、子功能码等信息。
定义mb_excep_rsp_pdu为:mb_excep_rsp_pdu = { function_cod e, request_data},其中function_code - [1个字节] MODBUS 功能码+ 0x80exception_code - [1个字节],在下表中定义了MODBUS异常码。
4.2 数据编码l MODBUS使用一个…big-Endian‟ 表示地址和数据项。
这意味着当发射多个字节时,首先发送最高有效位。
例如:寄存器大小值5GB/T ××××—××××16 –比特0x1234 发送的第一字节为0x12 然后0x34F 注释:更详细的信息参见[1]。
4.3 MODBUS数据模型MODBUS以一系列具有不同特征表格上的数据模型为基础。
四个基本表格为:输入与输出之间以及比特寻址的和字寻址的数据项之间的区别并没有暗示任何应用操作。
如果这是对可疑对象核心部分最自然的解释,那么这种区别是可完全接受的,而且很普通,以便认为四个表格全部覆盖了另外一个表格。
对于基本表格中任何一项,协议都允许单个地选择65536个数据项,而且设计那些项的读写操作可以越过多个连续数据项直到数据大小规格限制,这个数据大小规格限制与事务处理功能码有关。
很显然,必须将通过MODBUS处理的所有数据放置在设备应用存储器中。
但是,存储器的物理地址不应该与数据参考混淆。
要求仅仅是数据参考与物理地址的链接。
MODBUS功能码中使用的MODBUS逻辑参考数字是以0开始的无符号整数索引。
l MODBUS模型实现的实例下例实例示出了两种在设备中构造数据的方法。
可能有不同的结构,这个文件中没有全部描述出来。
每个设备根据其应用都有它自己的数据结构。
实例1:有4个独立块的设备下例实例示出了设备中的数据结构,这个设备含有数字量和模拟量、输入量和输出量。
由于不同块中的数据不相关,每个块是相互独立。