Sección: InstRefs
La sección InstRefs
define referencias a instancias de FB o instancias de estructura.
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
Los detalles sobre la sintaxis de los tipos de definición se describen en la sección Declaración del módulo.
Inst_Ref.Variable
define la ruta de la instancia de entrada de una variable de tipoPOINTER TO <T>
o de tipo<interface>
. (<T>
es cualquier estructura o tipo de FB)InstRef_Multi.Variable
define la ruta de instancia de entrada de tipoPOINTER TO POINTER TO <T>
o de tipoPOINTER TO <interface>
. (<T>
es cualquier estructura o tipo de FB)Dos entradas InstRef o InstRef-Multi diferentes no deben usar la misma variable.
El destino debe identificar de forma exclusiva la referencia de la instancia. Esto significa que no deben existir dos declaraciones de referencia de instancia diferentes (sección
InstRef
yInstRef_Multi
) con el mismo objetivo (la ortografía en mayúsculas o minúsculas no es relevante).La variable entera de entrada definida por
Var_Count
solo se puede usar una vez en todoVarCounts
deSlot_Multi
oInstRef_Multi
. Solo variables enteras definidas porVar_Count
deVarArray
se puede usar en paraleloVar_Counts
deSlot_Multi
oInstRef_Multi
.
SEC InstRef_Multi : Elements Variable := piElems ; Var_Count := uiArraySize ; Desc := TL.Elems_Desc ; Cardinality := [1 .. 10] ; END_SEC
Entre otras declaraciones, la parte de declaración del bloque de funciones debe contener: uiArraySize : UINT; piElems : POINTER TO Interface;
piElems
apunta a un creado globalmente, correctamente inicializado ARRAY[0..uiArraySize-1] OF interface
o OF POINTER TO <T>
, que apunta a las instancias individuales. Como resultado, se puede acceder al i-ésimo objeto por medio de piElems[i]
.