Skip to main content

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.

. Specifica:
  • Inst_Ref.Variable definisce il percorso dell'istanza di input di una variabile di tipo POINTER TO <T> o di tipo <interface>. (<T> è qualsiasi struttura o tipo FB)

  • InstRef_Multi.Variable definisce il percorso dell'istanza di input di tipo POINTER TO POINTER TO <T> o di tipo POINTER 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 E InstRef_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 volta VarCounts Di Slot_Multi O InstRef_Multi. Solo variabili intere definite da Var_Count Di VarArray può essere utilizzato in parallelo a Var_Counts Di Slot_Multi O InstRef_Multi.

Esempio 28. Esempio
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].