These docs are for v5.0.0. Click to read the latest docs for v7.6.0.

Drivers, Assets, and Channels

Everyware Software Framework (ESF) introduces a model based on the concepts of Drivers and Assets to simplify the communication with the field devices attached to a gateway.

A Driver encapsulates the communication protocol and its configuration parameters, dealing with the low-level characteristics of the field protocol. It opens, closes and performs the communication with the end field device. It also exposes field protocol specific information that can be used by upper levels of abstraction to simplify the interaction with the end devices.

An Asset is a logical representation of a field device, described by a list of Channels. The Asset uses a specific Driver instance to communicate with the underlying device and it models a generic device resource as a Channel. A register in a PLC or a GATT Characteristic in a Bluetooth device are examples of Channels. In this way, each Asset has multiple Channels for reading and writing data from/to an Industrial Device.

Channel Example

To further describe the concept of Channel and Asset, the following table shows a set of PLC register addresses as provided in a typical PLC documentation.

NameEntityAddress
LED1COILS2049
LED2COILS2050
LED3COILS2051
LED4 REDCOILS2052
LED4 GREENCOILS2053
LED4 BLUECOILS2054
Counter 3INPUT REGISTERS515
Quad CounterINPUT REGISTERS520
Toggle 4DISCRETE INPUTS2052
Toggle 5DISCRETE INPUTS2053
Toggle 6DISCRETE INPUTS2054
Reset Counter 3COILS3075
Reset Quad CounterCOILS3084

The corresponding Channels definition in the Asset is as follows:

1768

As shown in the previous image, the Channel definition in an Asset results easily mappable to what available in a generic PLC documentation.

Once defined the Channels in an Asset, a simple Java application that leverages the Asset API can easily communicate with the Field device by simply referring the specific Channel of interest.