Section : InstRefs
La section InstRefs définit les références aux instances FB ou aux instances de structure.
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_SECLes détails concernant la syntaxe des types de définition sont décrits dans la section Déclaration des modules.
Inst_Ref.Variabledéfinit le chemin de l'instance d'entrée d'une variable de typePOINTER TO <T>ou de type<interface>. (<T>est n'importe quelle structure ou type de FB)InstRef_Multi.Variabledéfinit le chemin de l'instance d'entrée de typePOINTER TO POINTER TO <T>ou de typePOINTER TO <interface>. (<T>est n'importe quelle structure ou type de FB)Deux entrées InstRef ou InstRef-Multi différentes ne doivent pas utiliser la même variable.
La cible doit identifier de manière unique la référence d'instance. Cela signifie qu'il ne doit pas exister deux déclarations de référence d'instance différentes (section
InstRefetInstRef_Multi) avec la même cible (l'orthographe des majuscules ou des minuscules n'a pas d'importance).La variable entière d'entrée définie par
Var_Countne peut être utilisé qu'une seule foisVarCountsdeSlot_MultiouInstRef_Multi. Seules les variables entières définies parVar_CountdeVarArraypeut être utilisé en parallèle avecVar_CountsdeSlot_MultiouInstRef_Multi.
SEC InstRef_Multi : Elements
Variable := piElems ;
Var_Count := uiArraySize ;
Desc := TL.Elems_Desc ;
Cardinality := [1 .. 10] ;
END_SECEntre autres déclarations, la partie déclaration du bloc fonctionnel doit contenir : uiArraySize : UINT; piElems : POINTER TO Interface;
piElems pointe vers un créé globalement, correctement initialisé ARRAY[0..uiArraySize-1] OF interface ou OF POINTER TO <T>, qui pointe vers les instances individuelles. Par conséquent, le i-ème objet est accessible au moyen de piElems[i].