Groups, Global features, Initial data values – Micromod MOD: 1800P - MOD 30ML Identity Module (Version 2) System, I/O and Communications Functions User Manual

Page 16

Advertising
background image

Logic Functions - Book 1

DATABASE DESCRIPTION

2-4

The loop block specifies which of the scan rates, specified in the interface block, are used
when executing the function blocks in the loop. All block groups having the same scan rate
are implicitly grouped. Within a group, loop blocks, and the function blocks following each
loop block, are executed in the order in which they are specified in the database.

2.2.3 Groups

A group is a collection of one or more loops, which runs at a specified rate. There are five
configurable group execution rates as specified in the interface block. Rates are allowed to be
a multiple of the base interval (50 milliseconds) from 50 milliseconds up to a maximum time of
about 1193 hours. A loop is specified to run at one of the specified rates by entering the
group number of the desired rate in the interface block into the scan group attribute of the loop
block. Loops are then implicitly grouped. Synchronization of data collection within a group is
not required; but it may be desirable for best results.

Groups are prioritized in order of their execution rates and group level; the group with the
shortest execution interval has the highest priority. If groups one and two have the same scan
rate, then group one (the lower number) has the higher priority. When a higher priority group
interrupts a lower priority group, the high priority group must run to completion before the
lower priority group can resume.

All groups must be able to run to completion within their specified execution interval. If a
group is rescheduled before it has completed, the instrument goes into an overrun situation.
When this happens, the base interval is increased by a fixed amount, and thus the execution
rate of the entire instrument is reduced. If overruns still occur, the base rate is continually
increased, until all groups can complete or until a maximum overrun base interval is reached.
If excessive idle time is present, the base interval is reduced until the original base value is
reached, or until overruns begin to occur again.

Groups run asynchronously with each other and with communications and process I/O.
Therefore, input source references from one group to another are double buffered to insure
the integrity and consistency of data within a group. When a block attribute is specified as an
input source for another block within the same group, the source attribute’s value is read
directly from the source block when the destination block is executed. When the source
attribute is from another group, the value is read from an input buffer which is filled with a
"snapshot" of data values from the output buffers of other groups when the this group begins.
Any outputs from this group, which are used as inputs by other groups, are placed into an
output buffer for this group. Data that comes from or goes to external communications, be it
the ICN or process I/O is also double buffered.

2.3

GLOBAL FEATURES

2.3.1

Initial Data Values

Some function blocks require that an initial data value be configured (e.g. Initial Data Value in
an analog input block, Initial Timer Value in a timer block, or Initial Result Value in an
expression block). This establishes the initial value for the data (or equivalent) field in the
block when the database is downloaded to the instrument. Generally, the initial data value is
replaced by new data as soon as the block is executed. In some cases, the initial data value
is retained and used. For instance, if the mode in an analog input module block is configured
to be auto, the initial data value will be written over by the analog process input when the

Advertising