Object: Action
Symbol: 
You can add actions to a function block or a program. Every action has a name.
The action object implements additional code, which may be programmed in a different language than the base implementation of the superordinate POU. Actions are often implemented in SFC. An action does not have its own variable declaration. It works with the data of its superordinate base implementation and uses its variables (VAR, VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT).
In object-oriented programming, it is possible to inherit a function block together with its subordinate actions.
For more information, see: Input support when generating inheriting POUs
Insert Action
Add an Action to a function block or a program with the Project → Add Object → Action command and define the properties of the new action in the dialog which opens.
Name | Name of the action |
Implementation language | Selected from the list box with the available implementation languages |
Call
Syntax:
<program name> . <action name> ( <parameter passing> )
or
<name of function block instance> . <action name> ( <parameter passing> )
| Optional Instance path with the name of the program When an action is called in the corresponding base implementation of the program, it is sufficient to specify the action name. |
| Optional Instance path with name of the function block instance When an action is called in the corresponding basic implementation of the function block, it is sufficient to specify the action name. |
| Required Name of the action |
| Optional When parameters are passed, arguments can be passed to the input and output variables in the same way as for the respective function block. See Function block The variables available in the action are declared in the superordinate POU. All the same, parameters can be passed when an action is called. The variables ( When an action is called in a graphical editor, all I/Os of the base POU are therefore displayed. |
Calling the Reset action (Counter function block) from another POU.
Instantiation of the function block
PROGRAM PLC_PRG
VAR
Inst : Counter;
END_VARCalling the Reset action in IL
CAL Inst.Reset(In := FALSE) LD Inst.Out ST ERG
Calling the Reset action in ST
Inst.Reset(In := FALSE); Erg := Inst.out;
Calling the Reset action in FBD

Declaration of the function block FB_Test
FUNCTION_BLOCK FB_Test
VAR_INPUT
i_xTest : BOOL;
i_lrTest : LREAL;
END_VAR
VAR_OUTPUT
q_xTest : BOOL;
q_lrTest : LREAL;
END_VAR
VAR
xSet : BOOL;
xReset : BOOL;
SR_0 : SR;
R_TRIG_0 : R_TRIG;
END_VARImplementation of the Act_Text action (in FBD) with access to the I/Os of the respective function block

Tip
Actions are often used in the SFC implementation language.