首页 理论教育 Modbus和ModbusPlus通信协议

Modbus和ModbusPlus通信协议

时间:2023-07-01 理论教育 版权反馈
【摘要】:Modbus Plus是Modbus通信协议的改进版,其网络规范有许多不同于Modbus通信协议的地方,其功能和性能也得到了改进。图3-39采用ASCII格式的Modbus Plus报文帧采用RTU格式的Modbus Plus报文帧如图3-40所示。图3-40采用RTU格式的Modbus Plus报文帧Modbus Plus在传输介质为屏蔽双绞线时,如果不使用中继器,最多可以连接32个设备。Modbus Plus还支持在网段之间采用网桥连接,以形成更大规模的网络。

Modbus和ModbusPlus通信协议

Modbus通用协议也是工业控制网络中用于对自控设备进行访问控制的主从式通信协议,由Modicon公司开发,在工业控制中得到广泛应用。它有以下特点:

(1)物理接口符合EIA-485规范。

(2)组成主从访问的单主控制网络。

(3)通过简单的通信报文完成对从节点的读写操作。

(4)通信速率可达19.2kbit/s。

(5)在主节点也可以对网段上所有的从节点进行广播通信。

Modbus通信协议具有两种报文帧格式:ASCII和RTU(Remote Terminal Unit)报文帧格式。采用ASCII格式的报文以“:”开始,以两个回车换行符结束。中间的信息为Modbus协议的内容。而采用RTU格式的报文则以传递一段空闲时间开始,这段时间不短于3.5倍的字符发送时间,一般取4T,并以同样4T的标志来表示报文的结束。一个采用RTU格式的Modbus通信协议报文格式如图3-38所示。该报文以T1~T4标志报文的开始和结束,中间包括地址域、功能域、数据域和CRC校验域等。

图3-38 Modbus通信协议的一种报文格式

Modbus通信协议定义了在这些网络上连续传输的报文帧的每一位,定义了怎样将数据打包成报文帧以及如何解码。

1.地址域

地址域是被查询的从节点的地址,它所表示的从节点的有效地址范围是0~247,其中0表示广播地址。

2.功能域

8位功能域的有效编码为1~255,用于说明从节点要完成的功能。例如功能编码为03H为读寄存器,用于读取从节点的寄存器;06H为设置单个寄存器,用于设置从节点的某个寄存器的值;10H为设置多个寄存器,用于设置从节点的一组连续的寄存器等。

3.数据域

数据域包括本帧数据域的字节数量、数据字节1~数据字节n,这些数据可以是I/O值、状态数据或其他测量控制信息。

4.校验域(www.xing528.com)

在Modbus通信协议中的针校验通常采用CRC循环冗余校验。整个信息帧以连续的数据位流进行传输,CRC校验从地址域开始对报文帧的所有数据进行校验。

从节点的正常应答是发送相同的报文帧,以便让主节点做确认。从节点的应答帧包括:前导标志码,从节点地址,功能确认,返回数据,校验码以及帧结束码。

Modbus Plus是Modbus通信协议的改进版,其网络规范有许多不同于Modbus通信协议的地方,其功能和性能也得到了改进。

Modbus Plus对介质的访问控制除了主从方式外,还允许采用令牌环方式。网络上的节点作为逻辑环上的一个点,通过从令牌环获得令牌来取得对总线的控制权。令牌的传递顺序由网络节点地址来决定。即:令牌由节点地址最低的节点开始传递,到节点地址最高的节点结束,循环一周后重新开始。值得注意的是,节点报文可以由一个网段到另一个网段,但令牌只在本网段内传递。

例如,当节点A持有令牌时,就可以向节点B发送报文,每帧报文的长度可以多达500字节。当目的节点B正确地收到该报文后,会立即发送一个应答。

应答中的地址还是节点B的地址。如果节点B给出的是一个正确的响应,则功能码不变;如果接收到的信息有误,则功能码会做出相应的改变,以通知节点A重发报文。这时数据位的内容就是对于出错信息的描述。

当节点A发送一条信息后,应该能够在预定的时间内得到目的节点B的应答。如果在预定的时间内没有收到应答,节点A会再发生两次该信息,由应用程序进行相应的处理。当一个节点得到传递令牌时,它会两次检测下一个节点是否处于活动状态,如果该节点不处于活动状态,则网络会重新初始化,丢弃该节点,生成新令牌环,并开始新令牌环中令牌的传递过程。

然后节点B会根据节点A的要求执行相应的操作,而当节点B持有令牌时就可以将操作的结果返回给节点A。

对报文接收的节点来说,如果出现1.5倍单个字节传输时间内没有字符传递,接收方就会丢弃这个信息,重新开始接收下一个信息。

Modbus Plus也有ASCII和RTU两种帧格式。采用ASCII格式的Modbus Plus报文帧如图3-39所示。其地址和功能域变为2字节。由于一帧报文最多可以有500字节,因而其数据域的最大字节数n为491。数据域中还可以包括要读写数据的数据首地址和读写数据的数据个数。

图3-39 采用ASCII格式的Modbus Plus报文帧

采用RTU格式的Modbus Plus报文帧如图3-40所示。由于一帧报文最多可以有500字节,因而其数据域的最大字节数n为486。

图3-40 采用RTU格式的Modbus Plus报文帧

Modbus Plus在传输介质为屏蔽双绞线时,如果不使用中继器,最多可以连接32个设备。两个节点之间的最长传输距离为450m;如果使用中继器可使Modbus Plus网段最多可以支持64个节点,传输距离最长可达1500m。Modbus Plus网段的地址范围是1~64,节点的地址与节点所在的实际物理位置没有关系,节点地址无需连续,但不能重复。Modbus Plus还支持在网段之间采用网桥连接,以形成更大规模的网络。

Modbus Plus具有较高的数据更新和传输速率,其传输速率最高可达1Mbit/s。它在工业控制中得到了广泛应用。它所构成的监控网络具有简单可靠、经济实用的特点,是构建小型工业监控系统时可供选择的一种方案。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈