部分: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_Count
Slot_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;
。