Elipse Software's Generic SOE Reading Algorithm

<< Click to Display Table of Contents >>

 

Elipse Software's Generic SOE Reading Algorithm

The Modbus protocol does not define a default method for reading events from a device. For this reason, it is a common procedure 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 this Driver.

Event reading on this 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 this Driver's special function Gen SOE, which can be performed both using the old numerical configuration, the N and B parameters, or the new String configuration, the Device and Item fields. 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, because the opposite is more common, by using operation's Write field on the 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 or download of events.

Users can define distinct data formats, or 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 native data type of this Driver. In this case, users cannot define a Timestamp field in the PLC, because the timestamp is sent with the date of reading, and the event contains a single field, which can be represented by a simple Tag or a PLC Tag in Elipse SCADA.

 

NOTE

The 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 the Operations tab.

 

The topics Event Table, Acquisition Procedure in a PLC, and Acquisition Procedure in an Application describe in details this algorithm, its implementation in a PLC software (ladder), and how to perform its reading by using this Driver's Tags, respectively.

Was this page useful?