The following describes the module-level parameters related to the algorithm.
A_ABT_ON_NEW_CMD — determines how the module responds to a change in A_COMMAND while executing the previous value of A_COMMAND. If TRUE then the module immediately aborts the current command and begins the new one. The default value is FALSE which means that the algorithm finishes the current command before executing the new one.
A_CMD_CHANGED — Indicates a different A_COMMAND has been issued or that A_RESTART has been set before the current A_COMMAND completed.
A_COMMAND — defines which command block should be executed. This is a named set parameter type. It accepts command names as defined in the associated named set.
A_ERROR — indicates SFC errors and timeouts. Set to True if the running SFC generated an error or if the COMMAND block timed out.
A_MAX_TIME_EXPD — indicates that the maximum amount of time that the active state should take to complete has been exceeded. This is based on the CFM_MAX_TIME parameter described below. If this condition occurs, the A_STATE is set to Idle and A_ERROR is set to TRUE
A_RESTART — If set TRUE then aborts the command which is currently executing and reruns the command from the start. The action does not depend upon the value of A_ABT_ON_NEW_CMD.
A_RESTART_REQ — If set TRUE requests that the command which is currently executing abort and reruns the command from the start. If A_ABT_ON_NEW_CMD is true then the current command aborts immediately. If A_ABT_ON_NEW_CMD is false then user logic must terminate the current command when A_CMD_CHANGED is true..
A_PV — indicates the current PV of the module. A value other than Undefined (or whatever the 255 word is in the named set) indicates that the COMMAND block completed without error (A_ERROR=False).
A_STATE — indicates the runtime status of the algorithm. The states are derived from the $phase_state named set (for example: Idle, Running, and so on.).
A_TARGET — an internal parameter that indicates the value of the currently executing A_COMMAND.
A_TIME — indicates the amount of time in seconds that a particular COMMAND block has been running.
The following table shows the relationship of the algorithm parameter values at various points of SFC operation.
Algorithm parameter |
Initial state |
Starting SFC logic |
SFC logic running |
SFC completed |
SFC completed with error |
SFC disabled |
SFC timed out |
|---|---|---|---|---|---|---|---|
A_ABT_ON_NEW_CMD |
<configured> |
<user_value> |
<user_value> |
<user_value> |
<user_value> |
<user_value> |
<user_value> |
A_CMD_CHANGED |
False |
False |
See Note 1 |
<unchanged> |
<unchanged> |
<unchanged> |
<unchanged> |
A_COMMAND |
255 |
Command name |
Command name |
255 |
255 |
255 |
255 |
A_ERROR |
False |
False |
False |
False |
True |
False |
True |
A_MAX_TIME_EXPD |
False |
False |
False |
False |
False |
False |
True |
A_PV |
255 |
255 |
255 |
Command name |
255 |
255 |
255 |
A_RESTART |
False |
False |
<user_value> |
<user_value> |
<user_value> |
<user_value> |
<user_value> |
A_RESTART_REQ |
False |
False |
<user_value> |
<user_value> |
<user_value> |
<user_value> |
<user_value> |
A_STATE |
Idle |
Starting |
Running |
Complete |
Idle |
Idle |
Idle |
A_TARGET |
255 |
Command name |
Command name |
Command name |
Command name |
Command name |
Command name |
A_TIME |
0 |
0 |
<time> |
<complete_time> |
<error_time> |
0 |
<timeout_time> |
Note 1: Set True if A_COMMAND is changed or A_RESTART or A_RESTART_REQ is set. |
|||||||