部分:InstRefs
这部分 InstRefs 定义对 FB 实例或结构实例的引用。
SEC InstRefs                                     //optional: yes, modifier: [UPDATE]
    SEC InstRef : <identifier>                   //target: yes, optional: yes, modifier [HIDE,UPDATE]
            Variable := <variable name>;             //optional: no, type: InstancePath
            Desc := <description>;                   //optional: no, type: text
            Optional := TRUE/FALSE;                  //optional: yes, type: BoolFlag
    END_SEC
...
    SEC InstRef_Multi : <identifier>              //optional: yes, modifier [HIDE,UPDATE]
            Variable := <variable name>;             //optional: no, type: InstancePath
            Var_Count := <variable for count>;       //optional: no, type: InstancePath
            Desc := <description>;                   //optional: no, type: text
            Cardinality := [<minimum> .. <maximum>]; //optional: no, type: Cardinality
    END_SEC
END_SEC有关定义类型语法的详细信息,请参阅 部分 模块声明。
Inst_Ref.Variable定义类型变量的输入实例路径POINTER TO <T>或类型<interface>。 (<T>是任何结构或FB类型)InstRef_Multi.Variable定义类型的输入实例路径POINTER TO POINTER TO <T>或类型POINTER TO <interface>。 (<T>是任何结构或FB类型)两个不同的 InstRef 或 InstRef-Multi 条目不得使用相同的变量。
目标必须唯一标识实例引用。这意味着不能存在两个不同的实例引用声明(部分
InstRef和InstRef_Multi) 具有相同的目标(大小写拼写不相关)。输入整型变量定义为
Var_Count总共只能使用一次VarCounts的Slot_Multi或者InstRef_Multi。仅由以下定义的整型变量Var_Count的VarArray可以并行使用Var_Counts的Slot_Multi或者InstRef_Multi。
SEC InstRef_Multi : Elements
        Variable    := piElems ;
        Var_Count   := uiArraySize ;
        Desc        := TL.Elems_Desc ;
        Cardinality := [1 .. 10] ;
END_SEC在其他声明中,功能块的声明部分必须包含: uiArraySize : UINT; piElems : POINTER TO Interface;
piElems 指向全局创建的、正确初始化的 ARRAY[0..uiArraySize-1] OF interface 或者 OF POINTER TO <T>,它指向各个实例。结果,第 i 个对象可以通过以下方式访问: piElems[i]。