Modbus

Top  Previous  Next

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.

note_tip-wt

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.

note_further-wt

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

note_tip-wt

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.