Issue
How does Modbus scattered read work?
Product Line
EcoStruxure Building Operation
Environment
- EcoStruxure Building Operation Workstation (1.5 and above)
- EcoStruxure Building Operation Modbus
Cause
Requirement to optimise communication over Modbus to improve performance.
Resolution
The following is an extract from Web Help. The complete section can be viewed at Modbus Batch Read Function:
'Scattered read is an enhancement to the batch read function that enables multiple, non-contiguous slave device registers to be read in a single Modbus query. By using the scattered read function, you can enable the Enterprise Server or Automation Server to avoid reading a large block of contiguous registers when it is only necessary to read a few registers. Also, using scattered read avoids the multiple use of group function codes 03 (analog output holding registers) and 04 (analog input registers) in order to read non-contiguous registers. Group function codes 01 (discrete output logic coils) and 02 (discrete input contacts) are not supported for scattered read.
Scattered read is available only for supported devices, for example, Schneider Electric branch circuit power meters with split core CTs. Furthermore, the scattered read function applies only when the Enterprise Server or Automation Server is operating as the master, not as as a slave. You can enable the scattered read function in the properties of all Modbus devices. However, if a device does not support scattered read, the device is polled by the master device in the same way as if you had not enabled scattered read.'
The image below shows the properties dialogue window for a Modbus device and the corresponding setting. The left is version 3.1 and above, the right is version 3.0 and below where it is referred to as 'Non-contiguous read'. Refer to the Modbus TCP Device section on Web Help for more information.