Optimizing The Update Rate With PLC Block Pack

Tags: FAQModbus

Optimizing The Update Rate With PLC Block Pack

This feature allows the HMI
programmer to enhance the update rate of data received from the PLC. When the
addresses of PLC

registers displayed on a screen are blocked close together, the HMI can
optimize the update rate by getting the data from several PLC

Registers (a
block) at
one time. The value in the
PLC Block
field represents the maximum number of
‘skips’ between register

addresses allowed before the HMI considers a PLC
register to be part of a different block.

The default setting is 0. This
means that the HMI sends a command to the PLC requesting data for each register
that is displayed on

screen. For instance, if five data fields are configured on
the HMI to monitor %R1, %R2, %R3, %R4, and %R5 (consecutive registers) of a

PLC, then the HMI sends five separate commands to the PLC to update these

This is the slowest method of
updating the registers, but it does have the advantage that the update rate does
not depend on having

the PLC registers in a consecutive block. In other words,
if monitoring %R1, %R10, %R65, %R156, and %R2048, the update rate would be

exactly the same as monitoring %R1-%R5.

Setting the Block Pack field to a
non-zero value allows you to take advantage of any groups or ‘blocks’ of
registers, which results in a

smaller number of update commands to the PLC.
The HMI can obtain data from up to 32 consecutive PLC Registers with one update

command. The actual number of registers will depend on the number of PLC
registers on the HMI’s screen and the

For example, suppose we wish to
monitor the following 7 PLC registers on one screen:

%R1, %R2, %R4, %R7, %R12, %R14
and %R100.

– If Block Pack is set to 0, the HMI sends
seven separate commands to get the data.

– If Block Pack is set to 1, the HMI checks
the spacing between the requested register addresses. If the spacing is more
than 1, then a

separate command is sent. In this example, the OIT sends four
commands- one command to read R1, R2, and R4; one command to

read %R7, one
command to read %R12 and %R14, and one command to read %R100.

With most PLC protocol drivers,
more time is spent with ‘overhead’ data than getting the actual data that you
need. With the example

above, setting the Block Pack to 1 probably reduces the
time required to update the PLC data by as much as 40%! So properly setting

Block Pack
can have a major impact on the update rate of the OIT.

– If the Block Pack setting were
adjusted to 4 or greater, the OIT sends only two commands- one command to read
%R1, %R2,%R4, %R7,

and %R12; and another command to get %R100. The update rate
is now probably three times as fast!

You might think that the best
setting is 10, so why not have the
always set to 10? In some situations, a
setting of 10 may

actually slow down the update rate. For example, if a screen
is configured to display the following PLC Registers

%R1, %R10, and %R40.


Block Pack = 10

HMI sends 2

– Get %R1 – %R10

– Get %R40


Block Pack = 0

HMI sends 3

– Get %R1

– Get %R10

– Get %R40

In Configuration 1, the HMI
sends 2 commands, and receives two sets of data. However, one set of data
contains information that isn’t

needed (registers %R2 – %R9). So, although only
2 sets of overhead were processed, we also processed 8 words of unneeded


In Configuration 2, the HMI
sends 3 commands, and receives three sets of data. This time, however, we
processed only the required

data, even though three sets of overhead data were

The trade-off will vary
depending on the selected PLC, as different PLC Communication Protocols have
differing amounts of overhead


The most efficient way to
optimize the Update Rate is to display consecutive PLC Register Addresses on the
HMI screens, and set the

field to 1. If the Update Rate is not
satisfactory, try different

Content Created by Jeff Robertson
Scroll to Top