|
The Modbus Device Driver allows AggreGate Server to communicate with devices supporting Modbus Protocol. These devices may be connected to the system and, like with all other types of devices, their data is converted into a unified form, so they can be accessed from different AggreGate facilities. See Devices article for more information about the "normalized" representation of devices in Tibbo AggreGate.
The Modbus driver supports both network versions (Modbus TCP and Modbus UDP) and serial versions (Modbus RTU, Modbus ASCII and Modbus BIN) of the protocol. Modbus serial devices should be connected to the COM ports of the PC running AggreGate Server.

|
To connect Modbus serial devices to an IP network, use Tibbo's programmable module (such as DS203) running the Modbus Converter application.
|
Configuring AggreGate Server For Serial Communications
See Enabling Serial Communications if you have troubles connecting to Modbus Serial devices.
Driver Information
Driver Plugin ID:
|
com.tibbo.linkserver.plugin.device.modbus
|
Global Settings
None defined.
User Level Settings
None defined.
Device Properties
Connection Settings
Connection settings define how AggreGate Server communicates with a certain Modbus device. These settings may be accessed using the Edit Device Properties action of Device Context. The following connection properties are available:
Property
|
Description
|
Modbus Version
|
A choice of Modbus TCP, Modbus UDP and Modbus Serial.
|
Unit ID
|
Modbus Unit ID. Identification of a remote slave connected on a serial line or on other buses.
|
IP address or host name
|
Address of Modbus device (for Modbus TCP/UDP).
|
Port
|
Modbus device port (IP port number defaulting to 502 for Modbus TCP/UDP; Serial port name for Modbus Serial).
|
Encoding
|
A choice of RTU, ASCII or BIN (for Modbus Serial).
|
Baud Rate
|
Baud Rate (for Modbus Serial).
|
Incoming Flow Control
|
Incoming flow control type: None, CTS/RTS, or XON/XOFF (for Modbus Serial).
|
Outgoing Flow Control
|
Outgoing flow control type: None, CTS/RTS, or XON/XOFF (for Modbus Serial).
|
Data Bits
|
Serial data bits (for Modbus Serial).
|
Stop Bits
|
Serial stop bits (for Modbus Serial).
|
Parity
|
Serial parity (for Modbus Serial).
|
Timeout
|
Command timeout (default is 5 seconds).
|
Device Registers
This property contains a list of Modbus device registers that are accessed and managed by AggreGate. Once a new Modbus device is added, one or more registers have to be configured to make device data available for the system. Each Modbus register is represented by a single variable of Device Context.

|
Modbus devices do not provide metadata, so AggreGate Server cannot learn about available Modbus registers of a particular device. That is why it's necessary to configure Device Registers manually.
|
Here is a list of properties of each Modbus register:
Property
|
Description
|
Name
|
Register name. This will be used as a Device Context variable used to access the register, so it may contain only letters, digits and underscore.
|
Description
|
Register textual description. Will be used as the description of the Device Context variable.
|
Type
|
Modbus register type. Possible values are Coil, Discrete Input, Input Register and Holding Register.
|
Register Address (decimal)
|
Address of the Modbus register in decimal form.
|
Size
|
Number of same-type registers to read by a single modbus I/O operation and store in one AggreGate Server context variable. This setting has the default value of 1. The default should not be changed in most cases.
It may be useful to read multiple registers at once in the following cases:
| • | If they logically represent an array |
| • | If they logically represent different parts of a whole, e.g. four 16-bit registers are used to store a 64-bit value |
|

|
If you wish to connect several similar Modbus devices to AggreGate, you could fill in the Device Registers table only once and then copy it to other devices using the Replicate action.
|
Device Settings
Modbus device driver creates one Device setting variable per device register.
Type Conversion
The following table shows how Modbus Registers are converted to Device context variables:
Modbus Register Type
|
AggreGate Server Variable Format
|
Coil
|
Readable/Writable, 1 Row, 1 Column of type Boolean
|
Discrete Input
|
Read-Only, 1 Row, 1 Column of type Boolean
|
Input Register
|
Readable/Writable, 1 Row, 1 Column of type Integer
|
Holding Register
|
Read-Only, 1 Row, 1 Column of type Integer
|
Device Operations
No operations provided by the driver.
Device Events
No events provided by the driver.
Connection Handling
This driver makes the device Online if:
| • | Serial port was opened successfully (for Modbus Serial devices) |
| • | TCP connection with the device was successfully established (for Modbus TCP devices) |
| • | Always (for Modbus UDP devices) |
Synchronization Details
Synchronization between AggreGate Server and Modbus device includes the following steps:
| • | Creating a Settings Cache according to the Device Registers list. Each variable is used to access a single Modbus device register. |
| • | Reading Modbus register values and storing these values in settings cache. |
|