Previous Topic

Next Topic

Book Contents

Book Index

System Architecture

System Design

Basic components and system architecture of the Modbus module.

mbs_modbus_sysarch

System Components

Currently supported transport types are Modbus TCP and Modbus Serial.

Module Workflows

Device Detection Workflow

As stated before, the notion "discovery" is used in a very flexible manner. Discovery can be done even manually, by registering a device, using the console commands of the driver layer. After the discovery process is activated, either automatic or manually, the Discovery layer would create a Modbus Link, using the API of the Driver Layer. Using this link some verification can be done, to make sure the device, corresponding to this Modbus Link actually fulfills the requirements and criteria of the product. If this device is suitable for the needs of the system being built, than a Modbus Device must be registered. The discovery layer should provide all of the information required by the Adapter Layer. This can be done using the device properties and the data points of the device. This is the main responsibility of the Discovery Layer. Of course a lot more logic can be done here, like health verification of the system, device configuration changes detection and so on.

After a device is registered, the Driver Layer, takes care to persist the information and forward it to the Adapter Layer. Another responsibility of the driver layer is to keep track of the state of the underlying connection. Any change of the underlying connection is forwarded to the Adapter Layer. If the discovery layer detect any change in the configuration of the device, it must inform the Driver Layer, so the Driver Layer can reflect them and forward this changes to the Adapter Layer. The Driver Layer uses the EventAdmin service to make all of the notifications.

Device Utilization Flow

After a device is registered and the Adapter Layer is notified it is up to the Adapter to make the connection between the end user and the device available. This is done by registering Functional Items or Device Class Object with appropriate properties and operations, properly mapped to the underlying Modbus Device's data points and properties. The Adapter Layer uses the Driver Layer in two ways.