Selecting "Action GEN" enters the sub-area in which it’s possible to create and manage "GEN" Actions.
These are the basic element of all AdaMo automation and they are made up of pages in which to define conditions, update the logical output channels, trigger "RSTCP" Actions (i.e. those that determine communication with stand-alone external instrumentation), manage the logical flow either continue sequentially or wait for conditions or skip forward or backward or exit permanently.
The "GEN" Actions can be triggered by:
The Actions share exclusive variables, called "Counters", which can be read and written only on the pages of Actions and Sequences thus becoming the shared and private memory level that allows the realization of various automation strategies through Versatile Actions Sequences parameterized to depending on use (advanced function).
If an Action with an high priority is triggered during the execution of an Action with normal priority, as soon as the current page is exited the Normal Action is interrupted and the management passes completely to the High Priority Action or to all those with this priority active in the execution queue.
Once this queue has run out, the management returns to Normal Action from the next page to the interruption page.
Details are shown on the following paragraphs.
In this image we see the editor setting for an Action.
In this image we see the area where counters can be updated, by propagating the previous value or by assigning the value of a constant or a logical channel; these values become current before the Action page is executed.
If, on the other hand, the counters are modified in the "True operation" or in the "False operation" their values are updated on the occasion of the exit from the page of the Action or once the page is finished.The Counters are not true logical channels because, as mentioned, they are only available at the level of Actions and Sequences.
In this image we can see the environment where the conditions that determine the execution of the "True Operation" or "False Operation" are defined.
In the absence of a condition, the "True Operation" is always executed.
The condition can also be a popup message with a button ("True Operation" only) or two buttons (chosen between "True Operation" and "False Operation"); in this case the condition is not algorithmic but based on a choice of the operator.The details of the algorithmic conditions are detailed in the following pages; these are based on one or more comparison evaluations, possibly linked by logical sequences of "AND" and "OR".
In this image we see the area where each line of the condition is defined.
The appropriate logical channels are associated with the lowercase letters used in each "Formula" (not to be confused with the logical channels Formulas), i.e. each element of the comparison can be the (local) result of a calculation.
The type of comparison can be both numeric and text.
Depending on the outcome of the
eventual condition, the "Operation True" (in any case in absence of
condition) or the "False Operation" is performed; the content of this
environment determines the operational personality from the Action page:
This picture shows the area where
the update of an output channel is defined.
The new value can be written as a
constant or combined with a logical channel (referred to by a lowercase
letter); it’s also possible to perform local calculations.
If the new value is text type and is written here as a constant string, this string must be enclosed in quotation marks ("...").
It’s possible to write characters not available on the keyboard, meaning all the characters of the ASCII table, using the "\ Code" mode (advanced function).
In this image details for associated channels are shown.