The pragmas are evaluated in the CFC, FBD, and LD graphical editors, causing the order of inputs/outputs of the affected function block to be displayed as specified. You program the order by assigning the names of the inputs/outputs to the attribute in the desired order.
Syntax
{attribute 'pin_presentation_order_inputs' := '<First_Input_Name>, (<Next_Input_Name>, )* ( *, )? (<Next_Input_Name>,)* <Last_Input_Name>'} {attribute 'pin_presentation_order_outputs' := '<First_Output_Name>, (<Next_Output_Name>,)* ( *, )? (<Next_Output_Name>,)* <Last_Output_Name>'}
-
*
The terminal character serves as a wildcard for all inputs/outputs that are not specified in the display order. If the terminal character is missing, then the missing inputs/outputs are appended at the end.
-
( ... )?
The contents of the parentheses are optional.
-
( ... )*
The contents of the parentheses are optional again and can therefore occur not at all, one time, or several times.
-
Insert location: First line in the declaration part of a function block.




NOTICE

This pragma is not evaluated when pragma {attribute 'pingroup' := '<Group_Name>'}
is used.
Example
{attribute 'pin_presentation_order_inputs' := 'input_2,*,input_1'} {attribute 'pin_presentation_order_outputs' := 'output_2, output_1'} FUNCTION_BLOCK POU_BASE VAR_INPUT input_1 : BOOL; input_2 : INT; input_3 : INT; input_4 : INT; END_VAR VAR_OUTPUT output_1 : BOOL; output_2 : INT; output_3 : INT; output_4 : BOOL; END_VAR FUNCTION_BLOCK PLC_PRG VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR pouBase_A: POU_BASE; END_VAR
In the representation of function module instance pouBase_A
, the pragmas result in the following arrangement of input and output pins:

See also