Maximum Limit for the Size of Blocks Supported by the Modbus Protocol

<< Click to Display Table of Contents >>

 

Maximum Limit for the Size of Blocks Supported by the Modbus Protocol

This topic presents the maximum limits for block sizes supported by the Modbus protocol, in its current version 1.1b of the implementation. Please check this specification at protocol's official website.

Notice that, due to Superblock Reading and Automatic Block Partition features, present in this Driver's current version, users hardly need to consider these limits in their applications, as this Driver already performs all optimizations automatically during communication.

However, as there are devices that do not support default limits established by this protocol, users may need to know these limits, and most of all they must know how to evaluate device's limits, in case they are forced to perform a manual grouping. For more information, please check topic Superblock Reading (Grouping). In these cases, information on this topic can be very helpful.

 

Limits Supported by this Protocol

The Modbus protocol defines a simple data unit called PDU, or Protocol Data Unit, which is kept unchanged through several protocol modes and through several communication layers.

A full communication frame, including a PDU and other additional header fields, is called ADU, or Application Data Unit.

Limits supported by the Modbus protocol

Limits supported by the Modbus protocol

According to this protocol's specification, a full Modbus frame, or ADU, can have a PDU with a maximum size of 253 bytes.

Thus, depending on the data type or Modbus function used in communication, this protocol imposes the limits for block Elements at each communication described on the next table.

Limits for Block Elements

Modbus Function

Description

Limit

03, 04

Reading multiple 16-bit registers

125 registers (250 bytes)

16

Writing multiple 16-bit registers (Holding Registers)

123 registers (247 bytes)

01, 02

Reading multiple bits

2000 bits (250 bytes)

15

Writing multiple bits

1968 bits (247 bytes)

20

Reading file registers

124 registers (248 bytes)

21

Writing file registers

122 registers (244 bytes)

 

For more information, please check the protocol's official website.

The article KB-23112: I/O Block's ideal size with Modbus driver in Elipse Knowledgebase presents a summary of questions relative to Tag grouping and block resizing in this Driver, discussed here and on other topics.

Was this page useful?