Modbus Comparison
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
(different files)
OK
(same file)
OK
(same file)
Maximum number of Master drivers
One per serial line
One per serial line+
20 TCP/UDP
Total 4
(serial lines or TCP)
Maximum number of simultaneously open TCP connections as Master
–
1 per driver
Total 20
10 per driver
Total 26
Maximum number of addressed slaves as Master (serial line)
253 per serial line
253 per serial line
253 per serial line
(PCD1.Room: 10)
Maximum number of connected slaves as Master (Modbus TCP)
–
253 per IP address
253 per IP address
(if > 10 IP addresses are used, TCP idle disconnect must be set to 0)
Maximum number of Slave drivers
One per serial line
One per serial line+
20 TCP/UDP ports
Total 4
(serial lines or TCP)
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
Master and Slave
Decoded and Raw
NO
Runs on “non NT-systems” PCD1, PCD2, PCD4, PCD6
YES
YES
NO!
Support of PCD3.F2xx modules
OK
(up to 9600bds)
OK
(check FW version)
OK
(check FW version)
Support of high baud rates 57,6 and 115,2 kbds
NO
OK
OK
Change of baud rates and bit settings in runtime (Serial)
NO
YES
IL only
Management of disconnected slaves
NO
YES
YES
Multicast function (particular address used like broadcast)
NO
YES
NO
Remap addresses and functions (for Slave)
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 DB (local address for master)
NO
YES
NO
Avoid inter-character gaps (problem with web server)
NO
YES
YES
Indirect Modbus function, number of elements, source and destination address (change in runtime)
NO
YES
YES
Virtual Slave with up to 16k registers (for DB access)
NO
YES
NO
Functions 20 / 21
OK
OK
NO
Function 23 (combined Read/Write)
As slave only
OK
NO
Gateway Modbus to Modbus (e.g. TCP->Serial)
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.