Each step is associated with a number of actions. An action can assign a parameter value, set a variable, or run a function block. Therefore, there are three different types of actions:
Assignment assigns the result of an expression to a variable. When an assignment action is active, the specified expression is evaluated, causing the destination parameter to be written with the result. No special action is taken when the transition to inactive occurs.
Boolean references a module-level Boolean parameter of the module you are defining. The associated Action Text is the Boolean parameter. The action qualifier determines when the parameter is set to TRUE.
Non-Boolean references a function block that is in the module hierarchy. The Action Text is the function block name. The action qualifier defines when the function block executes.
You cannot write directly to a classic Device Signal Tag (DST) value in an action, even though the action parser allows you to configure it.
Each action must have a configured action qualifier, which helps define when the action is active. Whether or not an action is active can be determined given its action qualifier and the step that is associated with the action. The step that is associated with an action is the step that initiated the action.
If an action modifies a destination while that destination is currently being updated by an active action, the results will be unpredictable.
There are two basic types of action qualifiers: non-stored and stored. An additional type of qualifier, the reset action qualifier ( R ), is used in conjunction with stored qualifiers to reset a stored action.
Non-Stored Action Qualifiers:
Stored Action Qualifiers:
Actions with a non-stored type of qualifier are only active while the associated step is active or for a portion of the time that the step is active, depending on the specific qualifier.
Actions with a stored type of qualifier either are active for only a portion of the time that the associated step is active or remain active after the associated step has gone inactive, depending on the specific qualifier.
Actions within a step are initially executed at step time=0 seconds. This affects the execution of time-relation actions. For example, if you configure a step action with a time delay of 10 seconds (time>=10), that step action is idle from step time=0 to step time=10. When the step time>=10 seconds, the action is executed. It is important to use the >= operator to ensure that the transition will trip when running on a heavily loaded system or when the system is being downloaded. Using time=10 operator requires that the time be 10 seconds and no more or less. If the timer count is 10.1 due to a download, then the action will not trip. Using >= allows that step to trip at any point immediately after 10 seconds.
A third type of action qualifier, the overriding reset (R) qualifier is used to reset a stored Boolean or Non-Boolean action. For example, if you want to start an action in Step 1 and continue it until Step 5, you can either use a non-stored qualifier for the first four steps, or you can use a stored qualifier in Step 1 and a reset in Step 5. You can also reset a stored qualifier by performing an assignment action and setting the active parameter of the action to False. This is the only way to reset a stored assignment action.
The order of execution of actions in a given SFC step is effectively in parallel. The order of the actions in the Action View does not imply any execution order in the controller.