在 CFC、FBD 和 LD 图形编辑器中对pragma进行评估,使受影响功能块的输入/输出顺序按指定顺序显示。您可以按照所需的顺序将输入/输出的名称分配给属性,从而对顺序进行编程。
语法
{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>'}
-
*终端字符可作为通配符,用于所有未在显示顺序中指定的输入/输出。如果缺少终端字符,则会在末尾添加缺少的输入/输出。
-
( ... )?括号中的内容可有可无。
-
( ... )*括号中的内容又是可选的,因此可以完全不出现、一次出现或多次出现。
-
插入位置:功能块声明部分的第一行。




注意

当使用 pragma{attribute 'pingroup' := '<Group_Name>'} 时,不会评估此 pragma。
示例
{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
在功能模块实例pouBase_A 的表示法中,pragmas导致输入和输出引脚的如下排列:
