Specify how any Scanning Gaps are Handled
The Advanced Modbus driver typically scans each contiguous group of points for data at a particular retrieval interval. The driver calculates the group at the start of the poll, based on the points for which data needs retrieving. Each group comprises a particular address range, for example, holding registers, or input registers. In some instances, there may be gaps in the point Addresses within the group of points that the driver is to scan. This could occur, for instance, if it is not possible or practical to group the data points into tight contiguous point Address ranges.
In such a situation, it may be preferable to scan a wider range of points in a single scan, rather than split those points into smaller scan groups, using the gap in point Addresses to separate each group. A single scan is more efficient if the overhead of making multiple requests outweighs the extra unused bytes in a single read request.
Use the Scanning Gaps section on the '<Driver Type' tab to specify how Geo SCADA Expert determines the maximum Address gap size before splitting a read request:
- User Defined—Select this check box if you want to manually specify the circumstances in which Geo SCADA Expert should split a poll. Use the rest of the fields in the Scanning Gaps section to specify the settings that determine whether a poll should be split into multiple read requests.
Leave the check box clear for the driver to automatically calculate whether to split a poll. The driver calculates the optimum maximum gap size based on the speed and latency of the communications link. The calculation compares the expected time to read each of the registers, coils, or discrete inputs in one request, versus the expected time if the poll was split at the first large Address gap.
If the driver deems it more efficient to perform multiple read requests, it splits the poll at that Address gap and sends a read request for the data up to that gap. The driver then performs a similar calculation on the remaining items. If further Address gaps exist, the driver ascertains whether to split the request for the remaining data into more than one read request. In each case, the driver performs the number of read requests that is deemed to have the least overhead. For more information, see The Type of Calculation that the Driver Performs. (If your system is running an Advanced Modbus Extension Driver, the guide for that extension driver might contain additional information about the type of calculation that the driver performs.)
- Register—Only applies when the User Defined check box is selected.
Use the Register field to specify the maximum acceptable gap in any group of registers that the driver is to poll (scan).
Whenever the Advanced Modbus driver is to scan a group of registers in which there are a number of unused registers:
- If the gap size is less than or equal to the specified unused Register gap, the driver will scan the registers in one read request (providing that this does not exceed the maximum number of registers that can be read in one request).
- If the gap is greater than the unused Register gap, the driver will split the poll into multiple read requests—one for the group of registers before each large gap, and another for the group of registers after each large gap.
- Coil/Discrete Input—Only applies when the User Defined check box is selected.
Use the Coil/Discrete Input field to specify the maximum acceptable gap in a group of coils or discrete inputs that the driver is to poll (scan). The value that you specify has to be a multiple of 8 (as coils and input discretes are returned in one-byte blocks (which equates to 8 coils or input discretes)).
Whenever the Advanced Modbus driver is to scan a group of coils or discrete inputs in which there are a number of unused coils or discrete inputs:
- If the gap size is less than or equal to the specified unused Coil/Discrete Input gap, the driver will scan each of the coils or discrete inputs in one read request.
- If the gap is greater than this unused Coil/Discrete Input gap, the driver will split the poll into multiple read requests—one for the group of coils or discrete inputs before each large gap, and another for the group of coils or discrete inputs after each large gap.
Further Information
The maximum number of registers that can be read in one request: see Modbus Function Codes Supported by the Geo SCADA Expert Advanced Modbus Driver.