Upgrade from 4.0.x
- Last UpdatedSep 28, 2022
- 2 minute read
This release contains substantial updates to the core I/O handling mechanism that the interface uses to collect data from Modbus devices. The most important changes are summarized here:
-
Users can improve performance substantially using the new /maxrequests parameter. Previous versions of the interface would send only one request at a time to each configured device. Starting with version 4.2.x, the interface now sends up to /maxrequests requests simultaneously, where this parameter can be set differently on each device. For backwards compatibility the default value of /maxrequests is 1, but many devices can handle multiple simultaneous requests without any problems. To take full advantage of this improvement in throughput, users are encouraged to set /maxrequests for each device equal to the NumberMaxOfServerTransaction parameter specified in the device’s documentation, or to experiment with values of /maxrequests between 1 and 16 if this parameter is not known.
-
The distribution of PI points among scan classes no longer makes a significant difference to performance. It is not necessary to optimize this distribution in order to achieve high throughput.
-
Users who had previously configured /polldelay or /writedelay might not need these parameters anymore. Specifically, this version of the interface prevents Windows from bunching multiple Modbus packets together into the same TCP segment, which previously caused problems for Modbus devices that expect only a single Modbus message per segment. For such a device, the user can now safely omit /polldelay and /writedelay.
-
If users do need to guarantee a minimum delay between outgoing requests (to avoid overwhelming a slow PLC with back-to-back requests, for example), they should set the new /mindelay parameter, which replaces /polldelay and /writedelay. The latter two parameters, though obsolete, have been kept for backwards compatibility.
-
It is now possible to configure byte- and word-swapping independently. In particular, the user can now configure points to properly read multiple-register values from 16-bit, 32-bit, and 64-bit little-endian PLCs.
-
For a full list of new features and bug fixes, please refer to the release notes for this release.