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_SEC
Les détails concernant la syntaxe des types de définition sont décrits dans la section Déclaration des modules.
Inst_Ref.Variable
dé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.Variable
dé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
InstRef
etInstRef_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_Count
ne peut être utilisé qu'une seule foisVarCounts
deSlot_Multi
ouInstRef_Multi
. Seules les variables entières définies parVar_Count
deVarArray
peut être utilisé en parallèle avecVar_Counts
deSlot_Multi
ouInstRef_Multi
.
SEC InstRef_Multi : Elements Variable := piElems ; Var_Count := uiArraySize ; Desc := TL.Elems_Desc ; Cardinality := [1 .. 10] ; END_SEC
Entre 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]
.