Sezione: Rif.Ist
La sezione InstRefs
definisce i riferimenti alle istanze FB o alle istanze della struttura.
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
I dettagli riguardanti la sintassi dei tipi di definizione sono descritti nella sezione Dichiarazione del modulo.
Inst_Ref.Variable
definisce il percorso dell'istanza di input di una variabile di tipoPOINTER TO <T>
o di tipo<interface>
. (<T>
è qualsiasi struttura o tipo FB)InstRef_Multi.Variable
definisce il percorso dell'istanza di input di tipoPOINTER TO POINTER TO <T>
o di tipoPOINTER TO <interface>
. (<T>
è qualsiasi struttura o tipo FB)Due voci InstRef o InstRef-Multi diverse non devono utilizzare la stessa variabile.
La destinazione deve identificare in modo univoco il riferimento all'istanza. Ciò significa che non devono esistere due diverse dichiarazioni di riferimento all'istanza (sezione
InstRef
EInstRef_Multi
) con lo stesso target (l'ortografia maiuscola o minuscola non è rilevante).La variabile intera di input definita da
Var_Count
può essere utilizzato solo una volta alla voltaVarCounts
DiSlot_Multi
OInstRef_Multi
. Solo variabili intere definite daVar_Count
DiVarArray
può essere utilizzato in parallelo aVar_Counts
DiSlot_Multi
OInstRef_Multi
.
SEC InstRef_Multi : Elements Variable := piElems ; Var_Count := uiArraySize ; Desc := TL.Elems_Desc ; Cardinality := [1 .. 10] ; END_SEC
Tra le altre dichiarazioni, la parte dichiarazione del blocco funzione deve contenere: uiArraySize : UINT; piElems : POINTER TO Interface;
piElems
punta a un file creato globalmente, inizializzato correttamente ARRAY[0..uiArraySize-1] OF interface
O OF POINTER TO <T>
, che fa riferimento ai singoli casi. Di conseguenza, è possibile accedere all'i-esimo oggetto tramite piElems[i]
.