Modbus协议

合集下载

modbus协议

modbus协议

modbus协议协议名称:Modbus协议1. 引言Modbus协议是一种通信协议,用于在自动化领域中的设备之间进行数据传输。

本协议旨在规范数据传输的格式和通信规则,以实现设备间的互联互通。

本协议适用于各种工业自动化设备,包括传感器、执行器、控制器等。

2. 目的本协议的目的是定义一套标准的通信规则,使得不同厂商生产的设备能够互相通信和交换数据。

通过使用Modbus协议,可以简化设备之间的集成和通信配置,提高自动化系统的可靠性和效率。

3. 术语和定义在本协议中,以下术语和定义适用:3.1 主站(Master):指发起通信请求的设备。

3.2 从站(Slave):指响应主站通信请求的设备。

3.3 寄存器(Register):指存储和传输数据的内存单元。

3.4 线圈(Coil):指存储和传输布尔类型数据的内存单元。

3.5 功能码(Function Code):指用于标识通信请求类型的数值。

4. 协议格式Modbus协议采用简单的请求-响应模式进行通信。

通信数据包由以下几个部分组成:4.1 地址字段(Address Field):用于标识从站设备的地址。

4.2 功能码字段(Function Code Field):用于标识通信请求的类型。

4.3 数据字段(Data Field):用于传输数据。

4.4 校验字段(Checksum Field):用于校验数据的完整性。

5. 支持的功能码Modbus协议支持以下功能码:5.1 读取线圈状态(Read Coil Status):用于读取从站设备中线圈的状态。

5.2 读取输入状态(Read Input Status):用于读取从站设备中输入的状态。

5.3 读取保持寄存器(Read Holding Registers):用于读取从站设备中保持寄存器的值。

5.4 读取输入寄存器(Read Input Registers):用于读取从站设备中输入寄存器的值。

5.5 强制单个线圈(Force Single Coil):用于设置从站设备中指定线圈的状态。

Modbus协议

Modbus协议

1.Modbus 协议1.1 Modbus协议简介Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年为使用可编程逻辑控制器(PLC)而发表的协议。

是全球第一个真正用于工业现场的总线协议。

现已经成为工业领域通信协议标准,并且成为工业电子设备之间最常用的连接方式。

控制器通过Modbus协议,经串行网络、以太网(或其它网络)和各设备之间进行通信。

Modbus协议主要包括Modbus RTU、Modbus ASCII、Modbus TCP。

Modbus协议是一个master/slave 架构的协议。

有一个节点是master 节点,其他使用Modbus协议参与通信的节点是slave 节点。

每一个slave 设备都有一个唯一的地址。

1.2 Modbus协议特点开放、通用的工业标准;可靠且免费;兼容性好,支持多种物理接口,如:RS-232、RS-485、RS-422、以太网等;支持多种传输介质,如普通线缆、双绞线、光纤、无线等;报文格式简单、紧凑、易懂、容易开发和使用;很容易支持不同接口的协议转换;1.3 Modbus协议架构Modbus协议包括Modbus RTU、Modbus ASCII、Modbus TCP协议。

1.4 Modbus主/从协议在同一时刻,只有一个主节点,一个或多个子节点连接于同一个串行总线。

Modbus 通信总是由主节点发起,子节点在没有收到来自主节点的请求时,从不会发送数据,子节点之间从不会互相通信。

主节点在同一时刻只会发起一个Modbus事务处理。

主节点以特定地址访问某个子节点,子节点接到并处理完请求后,子节点向主节点返回一个报文。

一个Modbus 事务处理包含2个报文:一个来自主节点的请求,一个来自子节点的应答。

每个子节点必须有唯一的地址,这样才能区别于其它节点被独立的寻址。

2.Modbus RTU2.1 Modbus RTU 帧格式报文开始至少需要有3.5个字符的静止时间,根据使用的通讯参数,很容易计算这个静止时间。

Modbus 协议详解

Modbus 协议详解

Modbus 协议详解一、引言Modbus协议是一种通信协议,用于在自动化系统中实现设备之间的通信。

它是一种开放的协议,广泛应用于工业控制领域。

本文将详细解释Modbus协议的工作原理、通信方式和数据传输格式。

二、工作原理Modbus协议采用主从结构,其中一个设备作为主站,其他设备作为从站。

主站负责发起通信请求,从站则响应请求并提供所需的数据。

通信可以通过串行或以太网进行。

三、通信方式1. 串行通信Modbus协议支持RS-232、RS-485和RS-422等串行通信方式。

在串行通信中,使用二进制传输数据。

主站通过发送请求帧来向从站请求数据,从站则通过发送响应帧来回复请求。

2. 以太网通信Modbus协议还支持基于以太网的通信方式,使用TCP/IP协议进行数据传输。

在以太网通信中,主站通过建立TCP连接向从站发送请求,从站则通过TCP连接回复响应。

四、数据传输格式Modbus协议定义了几种常用的数据传输格式,包括寄存器读写、线圈读写和离散输入读取。

1. 寄存器读写寄存器读写是最常用的数据传输方式之一。

主站可以通过读取和写入寄存器来获取或修改从站的数据。

读取寄存器时,主站发送读取请求帧,从站则回复包含所需数据的响应帧。

写入寄存器时,主站发送写入请求帧,从站则回复确认帧。

2. 线圈读写线圈读写用于读取和写入从站的开关状态。

主站可以通过读取和写入线圈来获取或修改从站的开关状态。

读取线圈时,主站发送读取请求帧,从站则回复包含开关状态的响应帧。

写入线圈时,主站发送写入请求帧,从站则回复确认帧。

3. 离散输入读取离散输入读取用于读取从站的离散输入状态。

主站可以通过读取离散输入来获取从站的输入状态。

读取离散输入时,主站发送读取请求帧,从站则回复包含输入状态的响应帧。

五、通信协议Modbus协议定义了一套通信规则,包括帧格式、地址解析和错误处理。

1. 帧格式Modbus协议的帧格式包括起始符、地址、功能码、数据和校验等字段。

modbus协议

modbus协议

modbus协议协议名称:Modbus协议一、引言Modbus协议是一种通信协议,用于在不同设备之间进行数据传输和通信。

该协议最初由Modicon公司于1979年开发,用于PLC(可编程逻辑控制器)与其他外部设备之间的通信。

Modbus协议现已成为工业自动化领域中最常用的通信协议之一,并广泛应用于监控系统、工业控制、能源管理等领域。

二、目的本协议的目的是定义Modbus通信协议的标准格式,以确保不同厂商的设备可以互相通信和交换数据。

该协议旨在提供一种简单、可靠、高效的通信方式,使不同设备之间的数据传输更加便捷和可靠。

三、协议规范1. 物理层Modbus协议可以通过串行通信(如RS-232、RS-485)或以太网通信进行传输。

具体的物理层规范应根据实际应用场景和设备要求来确定。

2. 数据帧格式Modbus协议采用了一种简单的主从结构,其中包括了读取和写入操作。

数据帧格式如下:- 起始符:起始符标识了一个数据帧的开始,通常为一个字节。

- 地址:地址用于指定通信中的从设备或寄存器。

地址通常为一个字节。

- 功能码:功能码用于指定所需执行的操作类型,如读取或写入数据。

- 数据:数据字段包含了要读取或写入的实际数据。

- 校验和:校验和用于验证数据在传输过程中的完整性。

3. 功能码Modbus协议定义了一系列功能码,用于指定不同的操作类型。

常见的功能码包括:- 读取线圈状态:用于读取线圈(开关量输出)的状态。

- 读取输入状态:用于读取输入(开关量输入)的状态。

- 读取保持寄存器:用于读取保持寄存器(16位数据)的值。

- 读取输入寄存器:用于读取输入寄存器(16位数据)的值。

- 写入单个线圈:用于写入单个线圈的状态。

- 写入单个寄存器:用于写入单个寄存器的值。

- 写入多个线圈:用于同时写入多个线圈的状态。

- 写入多个寄存器:用于同时写入多个寄存器的值。

4. 数据类型Modbus协议支持多种数据类型的读写操作,包括布尔型、整型、浮点型等。

MODBUS协议详细讲解

MODBUS协议详细讲解

MODBUS协议详细讲解MODBUS协议是一种用于工业自动化领域的通信协议,它被广泛应用于各种设备间的数据交换和通信。

本文将详细介绍MODBUS协议的原理、结构和工作方式,以及其常见的应用场景和优势。

一、协议概述MODBUS协议是一种基于主从结构的通信协议,它定义了一系列规范和命令格式,用于实现不同设备之间的数据传输和通信。

该协议最早由Schneider Electric公司于1979年提出,目前已成为工业自动化领域最常用的通信协议之一。

MODBUS协议主要分为MODBUS ASCII和MODBUS RTU两种传输模式,其中MODBUS RTU是应用最广泛的一种模式,采用二进制编码来进行数据传输,具有较高的效率和可靠性。

二、协议结构MODBUS协议主要由两个部分组成:应用层和传输层。

1. 应用层:应用层定义了MODBUS协议中的命令格式和数据格式。

它主要包含了读取和写入数据的命令,如读取线圈状态、读取输入状态、读取保持寄存器和读取输入寄存器等。

这些命令可以通过主设备向从设备发送,并获取相应的响应。

2. 传输层:传输层定义了MODBUS协议中数据的传输方式和物理层面的连接。

MODBUS RTU采用串行通信方式,使用RS-485或RS-232接口进行连接,而MODBUS ASCII则采用ASCII字符进行传输。

三、工作方式MODBUS协议的工作方式通常涉及一个主设备和多个从设备之间的通信。

1. 主设备:主设备负责发送命令并接收从设备的响应。

它可以是一个计算机、PLC或其他支持MODBUS协议的设备。

2. 从设备:从设备接收主设备发送的命令,并做出相应的响应。

从设备通常是传感器、执行器、数据采集设备等。

在通信过程中,主设备通过MODBUS协议中定义的命令向从设备发送读取或写入数据的请求,从设备接收到命令后进行处理,并将结果通过响应报文返回给主设备。

四、应用场景MODBUS协议在工业自动化领域有广泛的应用,特别适用于以下场景:1. 监控系统:MODBUS协议可用于实时监控和控制工业设备,如温度监测、湿度监测、电流监测等。

Modbus通讯协议详解

Modbus通讯协议详解

Modbus通讯协议详解一、引言Modbus通讯协议是一种在工业自动化领域广泛使用的通信协议,用于实现设备之间的数据交换。

本文将详细介绍Modbus通讯协议的基本原理、通信方式、数据格式等方面的内容。

二、协议概述1. Modbus协议是一种客户-服务器通信协议,基于主从结构。

通常情况下,主设备(也称为主站)负责发起通信请求,而从设备(也称为从站)则负责响应请求并提供数据。

2. Modbus协议支持多种物理层和传输层,包括串行通信和以太网通信。

常用的物理层包括RS-232、RS-485和以太网,传输层则包括ASCII和RTU两种格式。

3. Modbus协议使用简单的请求/响应模式进行通信。

主设备通过发送请求帧来获取或设置从设备的数据,从设备则通过发送响应帧来回应主设备的请求。

三、通信方式1. 串行通信Modbus协议支持使用串行通信方式进行数据传输。

在串行通信中,主设备和从设备之间通过一对串行线路进行数据交换。

常用的串行通信物理层包括RS-232和RS-485。

2. 以太网通信Modbus协议也可以通过以太网进行数据传输。

在以太网通信中,主设备和从设备通过TCP/IP协议栈进行数据交换。

以太网通信具有较高的传输速率和较大的通信距离。

四、数据格式1. 帧格式Modbus协议使用帧格式进行数据传输。

每个帧由起始字符、从设备地址、功能码、数据域和校验字段组成。

2. 功能码功能码用于标识请求的类型。

常用的功能码包括读取线圈状态、读取输入状态、读取保持寄存器、读取输入寄存器、写单个线圈、写单个保持寄存器等。

3. 数据域数据域用于存储请求或响应的数据。

数据域的长度取决于功能码的类型。

4. 校验字段为了确保数据的准确性,Modbus协议使用校验字段进行数据校验。

常用的校验方式包括CRC校验和LRC校验。

五、通信流程1. 主设备发送请求帧主设备通过串行线路或以太网发送请求帧给从设备。

请求帧包括从设备地址、功能码和数据域。

modbus协议

modbus协议

modbus协议协议名称:Modbus协议1. 引言Modbus协议是一种通信协议,用于在自动化设备之间进行数据传输。

该协议最初由Modicon(现在是施耐德电气)开发,已成为工业自动化领域中最常用的通信协议之一。

本协议旨在确保设备之间的可靠通信,并提供灵活性和可扩展性。

2. 范围本协议适用于在Modbus网络上进行通信的设备,包括传感器、执行器、控制器、监视器等。

3. 术语和定义在本协议中,以下术语和定义适用:- 主站(Master):发送请求并接收响应的设备。

- 从站(Slave):接收请求并发送响应的设备。

- 寄存器(Register):存储和传输数据的内存单元。

- 线圈(Coil):用于控制输出设备的开关。

- 离散输入(Discrete Input):用于传输输入设备的状态。

4. 通信规范4.1 物理层Modbus协议可以在不同的物理层上实现,如串行通信(RS-232、RS-485)和以太网通信。

在选择物理层时,应考虑设备之间的距离、数据传输速率和环境条件。

4.2 帧格式Modbus协议使用一种简单的帧格式来传输数据。

每个帧包含以下字段:- 地址:用于标识从站设备的地址。

- 功能码:指示请求的类型(读取、写入等)。

- 数据:包含请求或响应的数据。

- CRC校验:用于验证数据的完整性。

4.3 数据传输主站通过发送请求帧来与从站进行通信。

从站接收请求后,执行相应的操作,并发送响应帧回主站。

数据传输可以是单播(一对一)或广播(一对多)。

5. 功能码Modbus协议定义了一系列功能码,用于不同类型的请求和响应。

以下是常用的功能码:5.1 读取保持寄存器(Read Holding Registers):主站向从站请求读取保持寄存器中的数据。

5.2 写入单个保持寄存器(Write Single Holding Register):主站向从站发送写入单个保持寄存器的请求。

5.3 写入多个保持寄存器(Write Multiple Holding Registers):主站向从站发送写入多个保持寄存器的请求。

Modbus协议讲解

Modbus协议讲解

Modbus协议讲解协议名称:Modbus协议1. 引言Modbus协议是一种通信协议,用于在工业自动化领域中实现设备之间的通信。

本协议旨在提供一种简单、可靠且易于实施的通信方式,适用于各种设备和通信介质。

本文将详细介绍Modbus协议的基本原理、消息格式、功能码和通信示例。

2. 基本原理Modbus协议采用主从结构,其中主设备负责发起通信请求,从设备则响应请求并提供所需的数据。

主设备可以是计算机、PLC或其他控制设备,而从设备可以是传感器、执行器或其他外围设备。

3. 消息格式Modbus协议使用简单的二进制格式进行通信。

每个消息由多个字节组成,包括地址域、功能码、数据域和校验码。

以下是一个典型的Modbus消息格式示例:| 地址域 | 功能码 | 数据域 | 校验码 ||--------|--------|--------|--------|| 1字节 | 1字节 | n字节 | 2字节 |- 地址域:用于标识从设备的地址,主设备使用该地址来选择要通信的从设备。

- 功能码:指示所请求的操作类型,如读取数据、写入数据等。

- 数据域:包含传输的数据,可以是读取的数据或要写入的数据。

- 校验码:用于验证消息的完整性和准确性。

4. 功能码Modbus协议定义了一系列功能码,用于指示所需的操作类型。

以下是一些常用的功能码:- 读取保持寄存器:功能码为03,用于从从设备中读取连续的保持寄存器。

- 写入单个寄存器:功能码为06,用于向从设备中写入单个寄存器。

- 写入多个寄存器:功能码为16,用于向从设备中写入多个寄存器。

5. 通信示例为了更好地理解Modbus协议的应用,以下是一个简单的通信示例:假设我们有一个主设备和一个从设备,主设备的地址为01,从设备的地址为02。

主设备希望读取从设备中的保持寄存器。

- 主设备发送请求消息:| 地址域 | 功能码 | 起始地址 | 寄存器数量 | 校验码 ||--------|--------|----------|------------|--------|| 01 | 03 | 0000 | 0001 | XX |- 从设备响应请求消息:| 地址域 | 功能码 | 字节数 | 数据 | 校验码 ||--------|--------|--------|----------|--------|| 02 | 03 | 02 | 1234 | XX |在此示例中,主设备向从设备发送了一个读取保持寄存器的请求消息,从设备则响应了一个包含所需数据的消息。

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

果错误发生,数据区中将包括例外情况编码,主机能够根据这一编码决 定下一步的行动。 在有些信息中,允许数据域不包含任何数据(长度为0)。例如,对于 主机的查询,从机以通讯事件的记录(功能编码为0B,十六进制)作响 应从机不需要任何附加信息,ACS140/ACS400不支持功能编码0B(十 六进制)。仅一个功能编码就是以说明这项动作要求。 ●错误校验域 在标准的Modbus网络中,有两种错误校验方法可以采用。错误校验域 的内容与使用的校验方法有关 ●ASCII。 使用ASCII方式定义字符的帧结构时,校验区包括了两个ASCII字符。 校验字符是采用纵向冗余校验(LRC)计算的结果。它总是以“colon”开 头,以“CRLF”字符终止。 LRC校验字符附加于信息的最后一段,位于CRLF之前。 ●RTU 使用RTU方式定义字符的帧结构时,错误校验域 包含一个16位数当作 两个8位字节执行,错误校验值是根据传送信息的内容,利用循环冗余 校验CRC计算的结果。 CRC域位于信息的最后,当CRC生成之后,低字节在前,高字节在后, 在发送信息时,最后传输CRC的高字节。 关于错误校验的附加信息,参见随后的附录内容。 ●字符的串行传输 在标准的Modbus网络上串行传输信息时字符或字节都按一定的顺序发 送(从左到右): 最低标志位(LSB)-最高标志位(MSB) ●RTU方式字符的位顺序是: 有奇偶校验
CRC域不正确,将导致产生一个故障。下图是一帧信息的标准结构。
开始
地址域
功能域 数据域 CRC校验 结束
T1-T2-T3-T4 8位
8位
N*8位
图2 信息的帧结构
16位
T1-T2-T3-T4
●地址域 信息的地址域包括8位(RTU)。从机的有效地址范围为0-247(十进
制)。单个从机的地址范围为1-247。主机寻址从机的方法就是将从机 的地址信息放在地址域中。从机返回响应信息时,也将自己的地址放在 地址域,以便让主机知道是从哪台从机返回的。 地址0表示广播方式,所有的从机都认可。在更高一级网络中应用 Modbus协议时,广播方式其他方式取代有可能不允许或被。例如, Modbus Plus使用全局共享的数据库,通过令牌的循环进行数据更新。 ●功能域 信息的功能包括8位(RTU)。有效码为1-255(十进制)。其中,有些 适用于所有Modicon控制器,有些仅适用于某些特定的模式,还有一些 为将来保留它用。ACS140/ACS400变频器支持3、6和16形式的编码(十 六进制为0*03、0*06和0*10)。 当一帧数据由主机传送到从机时,功能域的编码会告诉从机去干什么。 示例是读一组输出数据。 ?????响应,也使用功能编码的方式进行,或表示响应正常(无错 误),或表示???(称为例外情况响应)。正常响应时,从机将原来 功能编码的最高位置1后返回。例如主机发送到从机的从机的一条信息 是要读一组保持寄存器,功能编码可能如下:
设定。在ACS400有标准的RS485串行口,RS485/232适配器只在使用
RS232总线时才需要。
Modebus网络的执行过程
Modicon控制器使用的是与RS232C兼容的标准通讯接口。它定义了插头
外型、接线管脚、信号等级、传输波特率和奇偶校验等。控制器可以直
接与网络联接,也可以通过调制解调器联接。
注意!ACS140/ACS400变频器只支持 RTU模式。本手册也只对RTU模 式进行介绍。
●RTU模式 当控制器在Modbus网络上被设定为采用RTU(远程终端单元)模式进 行通讯时,信息中的每一个8位字节包括两个4位的十六进制字符。这种 方式的最大好处就是字符的密度可以更高,相同波特率的数据流量比 ASCII模式更大。每个信息必须在一个连续的数据流中进行传输。 RTU模式中每个字节的格式是:
息放入一个起点和终点已知的框架中。这样接收设备就知道从信息的起
始点开始,取出其中的地址信息,确定用于哪个设备(广播信息针对所
有设备),并判断信息是否结束。不完整的信息会被发现并当做故障处
理。
●RTU的帧结构
在RTU模式中,新的信息总是以至少3.5 个字符的静默时间开始。在以
波特率计算传输速率的网络上,以字符为单位计算时间显得很容易(如
用来标志本次的信息传输已经结束。在此之后,又将开始一个新的信
息。
整帧的信息必须以一个连续的数据流进行传输。如果信息结束前存在超
过1.5个字符以上的间隔时间,接收设备将清除这些不完整的信息,并
错误的认为随后一个字符是新一帧信息的地址部分。
同样地,如果一帧新信息的开始与前一信息的间隔小于3.5个字符时
间,接收设备将认为它是前一信息的继续。由于信息的错乱,最终的
1100 0101 其中逻辑1的个数为4。如果采用偶校验,逻辑1的数量累加的最后仍是 偶数(4个)。如果采用奇校验,累加的最后仍是一个奇数(5个)。 数据传输时奇偶位经过计算放在每个字符框架中。接收设备也要计算逻 辑1的数量,如果发现和预置的奇偶性不一致,就认定发生了错误。 Modbus网络中的所有装置必须采用相同的奇偶性校验。 ●请注意,只有当字符增加或减少的位数是奇数时,错误才可能被奇偶 校验发现。例如,采用奇校验时,某个字符中原来的三个逻辑1多了2个 (偶数),累加的结果仍为奇数(无法发现错误)。 如果不使用奇偶校验,就无奇偶位传输,也不进行奇偶检查。字符框架 中空出的位置由停止位填充。 ●Modbus功能格式 本章详细说明了ACS140/ACS400变频器支持的所有Modbus信息的数据 内容。 如何表达数字值 除非另有说明,正文的数字(诸如地址、编码或者数据)都以十进制的 形式表达,信息域中则以十六进制表达。 ●Modbus信息的数据地址 Modbus信息的数据地址都以0为参考。第一个发出的数据项从0开始, 例如:
0000 0011 (十六进制03) 如果从机准确无误的执行了所要求的动作,返回主机的功能编码相同, 如果例外情况发生,从机返回的功能编码是:
1000 0011 (十六进制83) 除此之外,从机还在返回的数据域设置了一个特殊代码,告诉从机发生 了什么样的错误,或者发生例外情况的原因是什么。主机的应用程序负 责处理响应。一般的处理方法是:发出重复信息,实验从机对诊断信息 的反应,或者提示操作人员。 ●数据域 数据域由多组这样的数据构成的:两个十六进制数为一组,范围在00FF之间,按照串行的网络结构,这些数据产生于RTU字符。 主机发给从机的数据域中包括了从机完成功能域的动作时必需的附加信 息,可能包括这样一些项目,如:数字寄存器和保持寄存器地址、将要 处理的项目数量和实际的数据字节数。 例如,主机要求从机读一组保持寄存器(功能码03),数据域就指定了 起始寄存器、需要读多少个寄存器;如果主机要向从机中的一组寄存器 写入数值(功能编码为10,十六进制),数据域就规定了起始寄存器、 要向多少个寄存器写入数据、数据字节数、以及写入寄存器什么样的数 据。 如果没有发生什么错误,从机在响应的数据域中包括了要求的数据,如
下面图所示的T1-T2-T3-T4).紧接着传送第一个域:设备地址。
每个域的允许传输字符都是0-9,A-F的十六进制数。网络设备始终监视
着通讯总线的活动,即使在静默间隔时间内。当接收到第一信息域后
(地址信息),每个网络设备都对此进行译码,以确定自己是不是所寻
址的设备。
随着最后一个字符传输结束,又有一段类似的3.5个字符的间隔时间,
Modebus协议概述
Modebus协议是一种串行的主从通讯协议。本手册的内容仅限于ACS140
和ACS400传动控制所涉及到的Modebus通讯协议部分。Modebus协议定
义了串行通讯中传输哪些信号。ACS140/ACS400 的物理接口是半双工
的。ACS140必须使用RS485/232适配器,信号等级由RS485/232适配器
主机退出协议之前,将按照用户预先设定的时间进行延时等待,这个时 间间隔,要保证每台从机都能够做出正确的响应。如果从机发现传输错 误,信息将不被执行,从机也不对主机做出响应。这样设定的时间就会 超出,主机程序会加以处理。请注意,如果向并不存在的从机发出信息 时也会产生超时,对于ACS140/ACS400适当的超时设定值应大于 100ms。 ●奇偶校验 用户可以根据自己的需要将控制器设定为起;奇校验或偶校验,或无奇 偶校验。这将影响每个字符的奇偶位设置。 奇偶校验时将对字符中逻辑1位的个数进行累加(RTU,8位)。根据累 加值的奇偶性,设置校验位为1或0。 例如,在RTU字符中包括以下8个数据位:
Modbus协议
本手册介绍了Modbus串行通讯协议。希望能对Modbus主机编程的用户
提供一定的帮助。
本章的版权属于Modicon,已经过Schneider Automation(modicon)同意。
Modicon出版的《Modicon
Modbus通讯协议参考手册(PI-MBUS-
300Rev.e)》包含本章的内容。
单独访问的主机查询,从机都要返回一个信息(称为响应);对于主机
发出的广播信息,不需要从机的响应。
Modbus协议定义了主机查询的格式,包括:从机的编址方法(或广
播)、要求动作的功能代码、传输数据和错误校验等。从机的响应也是
采用Modbus协议结构,包括:动作却认、返回数据和错误校验等。如
果从机在接受信息时发生错误,或不能完成主机要求的动作,它将组织
可编程控制器中已知为1的“线圈”,在Modbus信息中被编址为“线 圈”0000。
“线圈”127(十进制)的地址为007E(十六进制,十进制是126) 保持寄存器40001在信息中被编址为寄存器0000。功能区的编码已经 确定
一个故障信息作为响应。
图1 主机-从机与查询-响应 从机的响应信息 错误校验 8位数据字节 功能代码 错误校验 8位数据字节 功能代码 主机的查询信息 设备地址 设备地址
查询:查询中的功能代码告诉指定的从机完成什么样的动作。数据字节 中包含了从机执行任务时所需的附加信息。例如,功能代码03表示读从 机的保持寄存器并返回其中的内容。数据区必须告诉从机应该从哪个寄 存器开始读,需要读多少个寄存器。错误校验区为从机指定了信息完整 性校验的方法。 响应:正常情况下,从机响应的功能代码与查询的功能代码相对应,数 据区包含从机根据查询要求收集到的数据,如寄存器的值或状态等。当 发生通讯错误时,功能代码就转而指示该响应为故障响应,数据字节则 包含故障描述代码。错误校验域允许主机确认信息内容是否有效。 两种串行传输格式 在标准Modbus网络中,控制器可以配置为ASCII或RTU中的任意一种通 讯模式。在配置处理器时,用户选择一种自己需要的一种模式,设置串 行通讯接口的通讯参数(波特率、奇偶校验模式等)。在同一Modbus 网络中,所有设备的传输模式和通讯参数必须相同。ASCII或RTU模式 的选择仅适用于标准Modbus网络,它定义了传输信息中的每一位含 义,决定了信息的组织发送和解码方式。
相关文档
最新文档