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.
Block Pack = 10
HMI sends 2 Commands:
- Get %R1 - %R10
- Get %R40
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.