modbus协议中文手册
MODBUS协议中文版

MODBUS协议中文版Modbus是一种通信协议,用于在监控与控制设备中传递数据。
它是一种简单、可靠且广泛应用的协议,在工业自动化和物联网等领域中得到广泛应用。
Modbus协议使用RS-485串行通信,在计算机和设备之间传输数据。
Modbus协议主要分为两种模式:ASCII和RTU。
ASCII模式使用可打印的ASCII字符来表示数据,而RTU模式使用二进制表示数据,通常在工业环境中更常用。
本文将重点介绍RTU模式。
Modbus RTU协议使用二进制编码来传输数据。
它使用一个起始位和一个停止位作为帧的标识符。
数据以字节的形式传输,并使用奇偶校验进行错误检测。
每个数据帧由四个不同的部分组成:从站地址、功能码、数据域和校验和。
从站地址用于标识Modbus网络中的设备。
功能码指示所需执行的操作,如读取或写入数据等。
数据域是实际传输的数据。
校验和用于检测数据传输中的错误。
整个数据帧的长度可根据需要进行变化。
Modbus RTU协议支持多种功能码。
例如,功能码03用于读取寄存器,功能码06用于写入寄存器。
寄存器是Modbus设备中存储数据的地方,可以是输入寄存器、保持寄存器、线圈寄存器或离散输入寄存器。
Modbus协议的优点之一是它的简单性和可靠性。
它使用广泛的串行通信标准RS-485进行数据传输,可以在长距离上实现高速通信,并且支持多个设备之间的通信。
此外,Modbus协议还具有良好的兼容性,可以与各种设备和系统进行集成。
Modbus协议的应用非常广泛。
它可以用于工业自动化领域中的传感器、执行器、PLC等设备之间的通信。
它还可以用于建筑自动化系统中的温度、湿度等数据的监测与控制。
此外,在物联网中,Modbus协议也可以用于设备的互联和数据的传输。
总结起来,Modbus是一种简单、可靠且广泛应用的协议。
它使用RS-485串行通信,在计算机和设备之间传输数据。
Modbus协议分为ASCII和RTU两种模式,其中RTU模式是其基本形式。
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 应用层
标准MODBUS通信协议说明书

标准MODBUS协议说明书一.我公司现有产品中需要和组态软件进行通信的有二种产品:①总线探头②控制器主机。
三种产品分别使用了二种不格式的MODBUS协议。
但是其都符合MODBUS的通信格式:1.1接口标准:接口标准:TIA/EIA-485硬件连接:2线模式(非4线模式)1.2通讯格式:传输方式是指一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与MODBUS 协议RTU方式相兼容的传输方式。
每个字节的位:•1个起始位•8个数据位(低有效位在前)•无奇偶校验位•1个停止位错误检测(Error checking):CRC(循环冗余校验)1.3通讯速率:9600bps。
1.4通讯方式:主从方式。
1.5 要求通信波特率可以从9600 4800 1200 600中任意选择。
二.总线探头通信格式说明2.1主机发送格式地址编码功能码寄存器地址数据个数CRC高位CRC低位Address Function AddrH AddrL NumH NumL CRCH CRCL 2.2从机应答格式地址编码功能码字节数数据CRC高位CRC低位CRCH CRCL Address Function byte Data0H,Data0L………………………………………………………. DataNH,DataNL2. 3 格式说明实例假设总线探头地址为01 探头采用值为1组态软件发送数据:01 03 00 65 00 01 CRCL CRCH探头返回数据:01 03 02 00 01 CRCL CRCH3.协议使用说明:3.1关于设置:○1仪器地址设置由按键在菜单设置完成,设置范围1到247,一般默认为1。
.具体操作详见具体仪器使用说明书。
○2传输波特率设置由按键在菜单设置完成,设置范围600、1200、2400、4800、9600、一般默认为9600。
具体操作详见相关仪器使用说明书。
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
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)

3
GB/T ××××—××××
地址域
功能码
ADU
数据
差错校验
PDU
图 3:通用 MODBUS 帧 启动 MODBUS 事务处理的客户机创建 MODBUS 应用数据单元。功能码向服务器指示将执行哪 种操作。 MODBUS 协议建立了客户机启动的请求格式。 用一个字节编码 MODBUS 数据单元的功能码域。有效的码字范围是十进制 1-255(128-255 为 异常响应保留)。当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。 向一些功能码加入子功能码来定义多项操作。
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,一种高速令牌传递网络。
Modbus协议说明中文版
Modbus协议说明中文版Modbus是一种开放的通信协议,用来在工业领域中的设备之间传输数据。
它最早由Modicon公司在1979年开发,用于连接和控制PLC(可编程逻辑控制器)。
现在,Modbus协议已经成为了工业自动化领域最为广泛使用的通信协议之一Modbus协议使用简单、灵活且可靠,适用于各种通信媒介,如串行线缆、以太网和RFID。
它可以通过RS-232、RS-422、RS-485等串行通信方式或TCP/IP协议进行数据传输。
Modbus协议的主要特点包括:1. 简单易用:Modbus协议的指令集简单明了,包括了读和写寄存器的功能。
使用者可以通过设置寄存器的地址和类型来直接读取或写入设备的数据,易于操作。
2. 支持多种数据格式:Modbus协议支持多种数据格式,如二进制、十进制、十六进制和BCD码,便于不同设备之间的数据交换。
3. 支持多个从设备:Modbus协议可以同时连接多个从设备到一个主设备上,方便用户对多个设备进行统一管理和控制。
4. 灵活可扩展:Modbus协议可以根据实际需要进行灵活扩展和定制,包括数据长度、通信速率、通信模式等。
1.主设备发送请求指令:主设备通过通信媒介向从设备发送读写请求指令,包括从设备地址、功能码、寄存器地址和数据等。
2.从设备接收请求指令:从设备接收到请求指令后,根据指令中的寄存器地址和功能码执行相应的操作。
3.从设备发送响应消息:从设备执行完操作后,将结果数据封装成响应消息,包括从设备地址、功能码和数据等,发送给主设备。
4.主设备接收响应消息:主设备接收到响应消息后,解析其中的数据,完成对设备的控制或数据读取操作。
Modbus协议在工业自动化控制中有着广泛的应用,包括了监控和控制系统、远程终端单元(RTU)、人机界面(HMI)等。
它可以实现对灯光、电机、传感器等设备的远程监控和控制,提高工业生产的效率和安全性。
总而言之,Modbus协议作为一种开放的通信协议,通过简单易用、灵活扩展等特点,成为了工业自动化领域中最为广泛使用的通信标准之一、通过使用Modbus协议,工业设备可以方便地实现数据交换和远程控制,提高了工业自动化系统的集成性和可靠性。
MODBUS通讯协议中文版
MODBUS通讯协议中文版
一、简介
MODBUS通讯协议是一种基于主从结构的串行通讯协议,用于在不同
设备之间进行数据通讯。
MODBUS协议最早由Modicon公司于1979年设计,现已广泛应用于工业自动化领域,成为工业通讯领域中最为常用的通讯协
议之一、本文将对MODBUS通讯协议进行详细介绍。
二、MODBUS协议概述
MODBUS协议定义了一套标准的通信帧格式,用于在主设备和从设备
之间传输数据。
MODBUS协议通过使用不同的功能码来实现不同的功能操作,如读取数据、写入数据等。
MODBUS协议支持多种不同的物理介质,
包括串行通信、以太网等。
1.MODBUSASCII模式
2.MODBUSRTU模式
3.MODBUSTCP模式
三、MODBUS协议的数据帧格式
1.MODBUSASCII模式数据帧格式
2.MODBUSRTU模式数据帧格式
3.MODBUSTCP模式数据帧格式
四、MODBUS协议的应用领域
总结:
MODBUS通讯协议是一种广泛应用于工业自动化领域的通讯协议,通过定义一套标准的数据帧格式,实现不同设备之间的数据通讯。
该协议支持多种不同的物理介质,包括串行通信和以太网等。
MODBUS协议在不同的通讯方式下,有着不同的数据帧格式。
MODBUS协议的优点在于简单易用、通信速度快、可靠性高等,常用于设备之间的实时数据传输和参数配置等应用。
MODBUS协议中文版
MODBUS协议中文版
MODBUS协议定义了一组规范,其中包括数据类型、寻址方式和寻址
范围,使不同设备可以在统一的通信协议下进行数据交换。
协议包括多个
功能码,用于不同类型的数据交换操作,如读取和写入数据寄存器、输入
寄存器和线圈等。
MODBUS协议使用简单的二进制格式进行数据传输。
它支持不同的编
码方式,如ASCII码和RTU模式,以适应不同的通信要求。
在RTU模式下,数据以二进制形式传输,效率较高,常用于串口通信。
在ASCII码模式下,数据以ASCII码形式传输,更易于调试和诊断。
总的来说,MODBUS协议是一种通用的串行通信协议,被广泛应用于
工业自动化控制系统。
它基于主从结构,使用简单的二进制格式进行数据
传输,支持多种功能和编码方式。
MODBUS协议的特点包括简单、易用和
可扩展,使得设备之间可以进行灵活的数据交换和控制。
modbus协议中文手册
:
数据 1 ...
回车 换行
址码
量
n节
节
RTU 模式
地址 功 能 代 数 据 数 数据 1 ...
数据 n CRC 高字 CRC 低字
码
量
节
节
所选的 ASCII 或 RTU 方式仅适用于标准的 Modbus 网络,它定义了在这些网络上连续传输的消息段的每 一位,以及决定怎样将信息打包成消息域和如何解码。
例如,如果主设备需要从设备读取一组保持寄存器(功能代码 03),数据域指定了起始寄存器以及要 读的寄存器数量。如果主设备写一组从设备的寄存器(功能代码 10 十六进制),数据域则指明了要写的起 始寄存器以及要写的寄存器数量,数据域的数据字节数,要写入寄存器的数据。
如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码, 主设备应用程序可以用来判断采取下一步行动。
1、在 Modbus 网络上转输
标准的 Modbus 口是使用一 RS-232C 兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特 率、奇偶校验。控制器能直接或经由 Modem 组网。
控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根 据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制 器。
当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为。例如去读取输入的开关 状态,读一组寄存器的数据内容,读从设备的诊断状态,允许调入、记录、校验在从设备中的程序等。
当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应)。 对正常回应,从设备仅回应相应的功能代码。对异议回应,从设备返回一等同于正常代码的代码,但最重 要的位置为逻辑 1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
:
数据 1 ...
回车 换行
址码
量
n节
节
RTU 模式
地址 功 能 代 数 据 数 数据 1 ...
数据 n CRC 高字 CRC 低字
码
量
节
节
所选的 ASCII 或 RTU 方式仅适用于标准的 Modbus 网络,它定义了在这些网络上连续传输的消息段的每 一位,以及决定怎样将信息打包成消息域和如何解码。
控制器能设置为两种传输模式(ASCII 或 RTU)中的任何一种在标准的 Modbus 网络通信。用户选择想 要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个 Modbus 网络上 的所有设备都必须选择相同的传输模式和串口参数。
ASCII 模式
地 功能代 数据数
数 据 LRC 高 字 LRC 低 字
例如,如果主设备需要从设备读取一组保持寄存器(功能代码 03),数据域指定了起始寄存器以及要 读的寄存器数量。如果主设备写一组从设备的寄存器(功能代码 10 十六进制),数据域则指明了要写的起 始寄存器以及要写的寄存器数量,数据域的数据字节数,要写入寄存器的数据。
如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码, 主设备应用程序可以用来判断采取下一步行动。
(2)回应
如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段 包括了从设备收集的数据:象寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出回应消息 是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。
二、两种传输方式
例如:一从主设备发往从设备的消息要求读一组保持寄存器,将产生如下功能代码:
0 0 0 0 0 0 1 1 (十六进制 03H)
对正常回应,从设备仅回应同样的功能代码。对异议回应,它返回:
1 0 0 0 0 0 1 1 (十六进制 83H)
除功能代码因异议错误作了修改外,从设备将一独特的代码放到回应消息的数据域中,这能告诉主设 备发生了什么错误。
1、ASCII 帧
使用 ASCII 模式,消息以冒号(:)字符(ASCII 码 3AH)开始,以回车换行符结束(ASCII 码 0DH,0AH)。 其它域可以使用的传输字符是十六进制的 0...9,A...F。网络上的设备不断侦测“:”字符,当有一个 冒号接收到时,每个设备都解码下个域(地址域)来判断是否发给自己的。 消息中字符间发送的时间间隔最长不能超过 1 秒,否则接收的设备将认为传输错误。一个典型消息帧 如下所示:
主设备应用程序得到异议的回应后,典型的处理过程是重发消息,或者诊断发给从设备的消息并报告 给操作员。
5、数据域
数据域是由两个十六进制数集合构成的,范围 00...FF。根据网络传输模式,这可以是由一对 ASCII 字符组成或由一 RTU 字符组成。
从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的所 为。这包括了象不连续的寄存器地址,要处理项的数目,域中实际数据字节数。
3、查询—回应周期
(1)查询
查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何 附加信息。例如功能代码 03 是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备 的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确 的方法。
整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过 1.5 个字符时间的停顿时间,接收设 备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于 3.5 个字 符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。这将导致一个错误,因为在最后的 CRC 域的值不可能是正确的。一典型的消息帧如下所示:
位
无奇偶校验
启始
停 止停止
12 3 4 5 6 78
每个字节的位
• 1 个起始位 • 8 个数据位,最小的有效位先发送 • 1 个奇偶校验位,无校验则无 • 1 个停止位(有校验时),2 个 Bit(无校验时)
错误检测域
• CRC(CII 或 RTU),传输设备以将 Modbus 消息转为有起点和终点的帧,这就允许接收 的设备在消息起始处开始工作,读地址分配信息,判断哪一个设备被选中(广播方式则传给所有设备), 判知何时信息已完成。部分的消息也能侦测到并且错误能设置为返回结果。
2、在其它类型网络上转输
在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的 通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。
在消息位,Modbus 协议仍提供了主—从原则,尽管网络通信方法是“对等”。如果一控制器发送一消 息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回 应格式并返回给发送的控制器。
最低有效位...最高有效位
使用 ASCII 字符帧时,位的序列是:
有奇偶校验
启始
奇偶停止
12 3 4 56 7
位
位位
无奇偶校验
启始
停止停止
12 3 4 5 6 7
位
位位
图 4. 位顺序(ASCII) 使用 RTU 字符帧时,位的序列是:
有奇偶校验
停 启始
1 2 3 4 5 6 7 8 奇偶位 止 位
起始位
设备地址 功能代码 数据
CRC 校验 结束符
T1-T2-T3-T4 8Bit
8Bit
n 个 8Bit
16Bit
T1-T2-T3-T4
图 3 RTU 消息帧
3、地址域
消息帧的地址域包含两个字符(ASCII)或 8Bit(RTU)。可能的从设备地址是 0...247 (十进制)。单 个设备的地址范围是 1...247。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。 当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一 控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消 息域格局和内容的公共格式。
当在一 Modbus 网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的 消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用 Modbus 协议发出。在其它网络上, 包含了 Modbus 协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节 地址、路由路径及错误检测的方法。
在某种消息中数据域可以是不存在的(0 长度)。例如,主设备要求从设备回应通信事件记录(功能 代码 0B 十六进制),从设备不需任何附加的信息。
6、错误检测域
标准的 Modbus 网络有两种错误检测方法。错误检测域的内容视所选的检测方法而定。
ASCII
当选用 ASCII 模式作字符帧,错误检测域包含两个 ASCII 字符。这是使用 LRC(纵向冗长检测)方法 对消息内容计算得出的,不包括开始的冒号符及回车换行符。LRC 字符附加在回车换行符前面。
在其它网络上(象 MAP 和 Modbus Plus)Modbus 消息被转成与串行传输无关的帧。
1、ASCII 模式
当控制器设为在 Modbus 网络上以 ASCII(美国标准信息交换代码)模式通信,在消息中的每个 8Bit 字节都作为两个 ASCII 字符发送。这种方式的主要优点是字符发送的时间间隔可达到 1 秒而不产生错误。
设备地
起始位
功能代码 数据
址
LRC 校验 结束符
1 个字符 2 个字符 2 个字符 n 个字符 2 个字符 2 个字符
图 2 ASCII 消息帧
2、RTU 帧
使用 RTU 模式,消息发送至少要以 3.5 个字符时间的停顿间隔开始。在网络波特率下多样的字符时间, 这是最容易实现的(如下图的 T1-T2-T3-T4 所示)。传输的第一个域是设备地址。可以使用的传输字符是十 六进制的 0...9,A...F。网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收 到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,一个至少 3.5 个字符时间的 停顿标定了消息的结束。一个新的消息可在此停顿后开始。
代码系统
• 十六进制,ASCII 字符 0...9,A...F • 消息中的每个 ASCII 字符都是一个十六进制字符组成
每个字节的位
• 1 个起始位 • 7 个数据位,最小的有效位先发送 • 1 个奇偶校验位,无校验则无 • 1 个停止位(有校验时),2 个 Bit(无校验时)
错误检测域
• LRC(纵向冗长检测)
RTU
当选用 RTU 模式作字符帧,错误检测域包含一 16Bits 值(用两个 8 位的字符来实现)。错误检测域的内 容是通过对消息内容进行循环冗长检测方法得出的。CRC 域附加在消息的最后,添加时先是低字节然后是 高字节。故 CRC 的高位字节是发送消息的最后一个字节。
7、字符的连续传输
当消息在标准的 Modbus 系列网络传输时,每个字符或字节以如下方式发送(从左到右):
1、在 Modbus 网络上转输
标准的 Modbus 口是使用一 RS-232C 兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特 率、奇偶校验。控制器能直接或经由 Modem 组网。
控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根 据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制 器。