Website Search

Support Center - Help topic

Home > Support Center > Search > Help Topic
Contact Us
Can't find what you're looking for in our Tech Support Library? Send us a message.
Contact Us
Optimizing The Update Rate With PLC Block Pack
Tags: FAQ Modbus

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 Pack 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

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

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 Block Pack setting.

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

the 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 Block Pack 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.

Configuration 1

Block Pack = 10

HMI sends 2 Commands:

- Get %R1 - %R10

- Get %R40

Configuration 2

Block Pack = 0

HMI sends 3 Commands:

- 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 processed.

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

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

Content Created by Derek Thompson