Issue
Enabling Scattered read for Modbus device that doesn't support it can lead to poll fail, with Point Modbus Error: Illegal function code.
Product Line
EcoStruxure Building Operation
Environment
- Building Operation Workstation (1.5 and above)
- Building Operation Automation Server
- Building Operation Automation Server Premium
- Building Operation Automation Server Bundled
- Building Operation Edge Server - Standard
- Building Operation Enterprise Server
Cause
Requirement to optimize 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 client, not as a server. You can enable the scattered read function in the properties of all Modbus devices.
If a device does not support scattered read:
- In V6 or higher: the polls will fail with an Illegal function code, so scattered read needs to be disabled if not supported by the Modbus device.
- In V5 or below: 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.