部分:VarArray s
参数 VarArrays 允许创建具有可配置大小的数组。
SEC VarArrays //optional: yes, modifier: [UPDATE]]
SEC VarArray : <slot identifier> //optional: yes, modifier []
Variable := <variable name>; //optional: no, type: InstancePath
Var_Count := <variable count>; //optional: no, type: InstancePath
Inst_Name := <instance name>; //optional: yes, type: StringLiteral
Pragmas := [<pragma1>, <pragma2>,...]; //optional: yes, type: Pragmalist
Var_Decl_Flags := <Flag1> | <Flag2> | ... ; //optional: yes, type: Flags
END_SEC
END_SEC有关定义类型语法的详细信息,请参阅 部分 模块声明。
定义
Variable是相对于模块功能块的输入实例路径。数据类型是POINTER TO <ELEMTYPE>。<ELEMTYPE>可以是任何数据类型。一个部分的目标
VarArray必须唯一标识变量数组。Var_Count定义整数的输入实例路径Variable模块功能块的。为了在编辑器中可用以进行配置,必须将该变量定义为参数。或者变量Var_CountSlot_Multi 或 InstRef_Multi 可用于定义该变量。多个 VarArray 可以使用相同的Var_Count多变的。如果数组大小为0,则不会生成数组,并且数组的指针将设置为0。Inst_Name定义创建的数组变量的名称。占位符%Instancename%和%VariablePath%(大小写拼写无关)将被替换为模块实例的实例名称。指针变量的实例路径。点将被下划线替代。如果省略定义则使用默认值AC_ARRAY_%VariablePath%。用来。如果模块的两个不同的 VarArray 具有相同的值,则会产生错误
Inst_Name,其中不包括占位符%VariablePath%。Pragmas包含编译器编译指示列表,它将插入到生成的数组变量之前。Var_Decl_Flags可用于指定创建的数组的变量类型。可能的标志是NONE,RETAIN, 和PERSISTENT。这些标志被添加到变量部分VAR_INPUT,其中创建了数组。 (例如:对于标志RETAIN,VAR_INPUT RETAIN)。
SEC VAR_ARRAYS
SEC VAR_ARRAY : NameList
Variable := psNameList;
Var_Count := uiArraySize;
END_SEC
...
SEC PARAM : ArraySize
Variable := uiArraySize;
Name := TL.ArraySize_Name;
Desc := TL.ArraySize_Desc;
END_SEC
END_SEC在其他声明中,功能块的声明部分必须包含: uiArraySize: UINT := 7; psNameList: POINTER TO STRING;。