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).
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: |