Why are there two Engiby Modbus drivers (Modbus 1 and Modbus 2)?
There is an historical reason. Modbus is one of the first communication driver developed at Engiby. Despite, this package is still available and supported with the latest PG5 programming tool (PG5 2.3). This performance is also due to the excellent compatibility ensured by Saia-Burgess Controls AG for their Saia PCD® systems and the programming tools.
However, to be able to respond to new requirements and to include new features it was necessary to start on a new basis and redefine the driver structure. The decision to start with a new Modbus 2 package has been taken with the implementation of Modbus/TCP.
The new structure of the Modbus 2 package opens possibilities for adding new features in future versions. Consequently, Modbus 2 includes all former protocols like RTU, ASCII and adds new ones like Modbus/TCP and UDP.
The structure of the Modbus 1 Master driver is simply based on a Master Driver function and a set of Send and Receive functions.
In Modbus 2, the Master Driver is divided in a Link function, a Station management function and a set of Send and Rcv functions. The Send and Rcv functions refer to a Station Fbox while the Stations refer to the Link Fbox. A big advantage is for instance that one can change the Link function from Serial to TCP and keep the rest of the application unchanged.
Since January 2022, Engiby propose a new package called Modbus 2.8. This package includes 3 important new features:
- NG-Configurator = Configuration of Modbus telegrams in an MS-Excel file.
- NG-ModLink = Add-On tool to read/write Modbus Slave data connected to your PCD.
- NG-Trace = Add-On tool to trace Modbus communication in raw and decoded formats.
Why do Engiby and SBC offer different Modbus packages?
There is also an historical reason for that. Modbus is one of the first communication driver developed at Engiby. Later on, in 2009 Saia-Burgess Controls implemented the Modbus protocol in the firmware and a new library, using the FW functions has been developed. The main reason to use the Saia library is to have better performance when the PCD is slave (the master function will not be faster).
Engiby continues to distribute, maintain and extend its Modbus package to ensure support of existing application. One main reason to use the Engiby library is for the old Saia PCD® systems that do not support Modbus Saia. Further advanced features are implemented as shown in the list below. Because no specific FW features are used, the Engiby library can be extended faster to suite particular needs.
One main difference exists in the implementation of the Slave function. In the Saia fimreware implementation all defined units (including mappings) are accessible from all open channels (serial and TCP). In the Engiby version, each slave application (a unit) is directly bound to one channel. This allows you to activate different slave functions for each master (standard slave, virtual slave, gateway).
Features comparison
Feature |
Modbus 1 |
Modbus 2.8 |
Modbus Saia |
RTU+ASCII |
OK |
OK |
OK |
TCP+UDP |
- |
OK |
OK |
Master+Slave |
OK |
OK |
OK |
Multiple Master+Slave |
OK |
OK |
OK |
Maximum number of Master drivers |
One per serial line |
One per serial line+ |
Total 4 |
Maximum number of simultaneously open TCP connections as Master |
- |
1 per driver |
10 per driver |
Maximum number of addressed slaves as Master (serial line) |
253 per serial line |
253 per serial line |
253 per serial line |
Maximum number of connected slaves as Master (Modbus TCP) |
- |
253 per IP address |
253 per IP address |
Maximum number of Slave drivers |
One per serial line |
One per serial line+ |
Total 4 |
Maximum number of Unit ID of slave drivers |
One per serial line |
254 per slave driver |
10 total |
Configuration of Requests in Excel file (for Master) |
NO |
YES |
NO |
NG-ModLink to read connected slave devices (for Master) |
NO |
YES |
NO |
NG-Trace to view Modbus telegrams |
NO |
YES |
NO |
Runs on "non NT-systems" |
YES |
YES |
NO! |
Support of high baud rates 57,6 and 115,2 kbds |
NO |
OK |
OK |
Change of baud rates and bits settings in runtime (Serial) |
NO |
YES |
IL only |
Management of disconnected slaves |
NO |
YES |
YES |
Multicast function |
NO |
YES |
NO |
Remap addresses and functions |
NO |
Unlimited |
10 mapping per UID |
Lock access to some variables ranges (for Slave) |
NO |
Unlimited |
10 mapping per UID |
Read+Auto Send on change function |
NO |
YES |
NO |
Read/Write into/from RAM DB |
NO |
YES |
NO |
Avoid inter-character gaps (problem with web server) |
NO |
YES |
YES |
Indirect Modbus function, number of elements, source and destination address |
NO |
YES |
YES |
Virtual Slave with up to 16k registers (for DB access) |
NO |
YES |
NO |
Functions 20 / 21 |
OK |
OK |
NO |
Function 23 |
As slave only |
OK |
NO |
Gateway Modbus to Modbus |
NO |
On request |
NO |
What will happen with updates and future compatibility?
Since January 2022, new features are only implemented on Modbus 2.8. Modbus 1 must be considered as obsolete. Update for Modbus 1 or upgrade to Modbus 2 cannot anymore be ordered. Users with old Modbus 1 licenses must order a new Modbus 2 license. For PG5 versions 2.0, 2.1, 2.2 and 2.3, a Modbus package version 1.83 is available on request. This package uses the same license key as Modbus 2. Therefore, you can install and register Modbus 2 and keep your application with Modbus 1 unchanged. No extra license must be installed.
Read more about the Modbus 2 driver here : Modbus 2 Driver FAQ
Read more about the obsolete Modbus 1 driver here : Modbus 1 Driver FAQ
Prices of licenses and update : Modbus main page
Subject to change without notification.