Placeholder

Search

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 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
(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 RAM 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.