Why are there two Engiby Modbus drivers (Modbus1 and Modbus2)?
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.1). This performance is also due to the excellent compatibility ensured by Saia Burgess Controls for their Saia PCD® systems and the programming tools.
However, to be able to respond to new requirements and to include new features it becomes 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 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 while the Stations refer to the Link function. 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.
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 has implemented the Modbus protocol in the firmware and a new library, using the FW function 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 and maintain 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 |
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 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 |
Runs on "non NT-systems" |
YES |
YES |
NO! |
Support of PCD3.F2xx modules |
OK |
OK |
OK |
Support of high baud rates 57,6 and 115,2 kbds |
- |
OK |
OK |
Change of baud rates and bit settings in runtime (Serial) |
- |
OK |
IL only |
Management of disconnected slaves |
- |
OK |
- |
Multicast function |
- |
OK |
- |
Remap addresses and functions |
- |
Unlimited |
10 mapping per UID |
Lock access to some variables ranges (for Slave) |
- |
Unlimited |
10 mapping per UID |
Read+Auto Send on change function |
- |
OK |
- |
Avoid inter-character gaps (problem with web server) |
- |
OK |
OK |
Indirect Modbus function, number of elements, source and destination address |
- |
OK |
OK |
Virtual Slave with up to 16k registers (for DB access) |
- |
OK |
- |
Functions 20 / 21 / 23 |
20/21 OK |
20 / 21 OK |
- |
Gateway Modbus to Modbus |
- |
On request |
- |
What will happen with updates and future compatibility?
New features (as shown below) are only implemented on Modbus 2. 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 2.0 and PG5 2.1 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.