Elipse Software's Generic SOE Reading Algorithm

Driver Modicon Modbus

Elipse Software's Generic SOE Reading Algorithm

Top  Previous  Next

The Modbus protocol does not define a default method for reading events from a device. For this reason, it is common that manufacturers create their own algorithms for reading events from devices that support Modbus protocol.

The generic algorithm for Sequencing of Events (SOE) of this Driver (Elipse Modbus SOE) was developed by Elipse Software to provide a default alternative for reading events from programmable controllers that do not have a native version of this feature, provided that these controllers meet some basic requirements of memory space and programming features, and also allow the creation of tables and control registers described later.

This algorithm allows storing and reading events from almost all programmable controllers, in an optimized way, by using features already implemented and validated in Modbus Driver.

Event reading on Modbus Driver follows a standard procedure, defined by Elipse Software, reading events from tables created in PLC's memory or in slave devices by its resident application (ladder).

To use this algorithm, users must define Tags using the special function Gen SOE, which can be performed using either the new String configuration (Device and Item fields) or using the old numerical configuration (N and B parameters). Tag configuration is described later on topic Acquisition Procedure in an Application.

During the process of reading events, the special function GenSOE always uses the Modbus function 03 (Read Holding Register) to read registers from a device. For writing during the update of control registers, the default function used is Modbus function 16 (Write Multiple Registers). By using the numerical configuration, users can select the writing function 06 (Write Single Registers), in the rare case of devices that do not support function 16 (the opposite is more common), by using operation's Write field, on Operations tab.

PLC's resident software (ladder or equivalent) must keep updated all control registers that provide information to this Driver, such as the number of events available for reading and the address of the last register to read.

A device can keep more than one event table, in different memory addresses, containing different data types. Each table must be preceded by their respective control registers, in adjacent addresses. This table is formed by a circular buffer in contiguous addresses, accumulating events or data for collecting by this Driver at each collect procedure (download of events).

Users can define distinct data formats (events) for each defined table, which are usually defined as a data structure, and may contain event's timestamp field. Events can also be defined using a Driver's native data type. In this case, users cannot define a Timestamp field in the PLC (the timestamp is sent with the date of reading), and the event contains a single field, which can be represented by a simple Tag (a PLC Tag in Elipse SCADA).

 

NOTE

SOE algorithm always uses Modbus protocol's function 03 (Read Holding Registers) to read registers from a device. For writing registers, the default Modbus function used is 16 (Write Multiple Registers). Users can also select function 06 (Write Single Register) only on numerical configuration, by using the Write field of the respective operation, on Operations tab.

 

The next topics describe in details this algorithm, its implementation in a PLC software (ladder), and how to perform its reading by using Driver's Tags:

·Event Table

·Acquisition Procedure in a PLC

·Acquisition Procedure in an Application

 
Has this section of the documentation helped you configure this Driver?
Yes No
Comments (optional):