__VARINFO

Definizione

Questo operatore non è specificato dallo standard IEC 61131-3.

Sintassi nella dichiarazione

<name of the info variable> : __SYSTEM.VAR_INFO; // Data structure for info variable

Sintassi della chiamata

<name of the info variable> := __VARINFO( <variable name> ); // Call of the operator

Funzione

L'operatore __VARINFO fornisce informazioni su una variabile del progetto al runtime. Le informazioni vengono memorizzate come struttura dati in una variabile di tipo di dati __SYSTEM.VAR_INFO.

Esempio

Al runtime, la variabile MyVarInfo contiene le informazioni sulla variabile MyVar.

//Declaration
VAR
   MyVarInfo: __SYSTEM.VAR_INFO
   MyVAR: INT;
END_VAR

//Program code
MyVarInfo:= __VARINFO (MyVar);

Tipo SYSTEM.VAR_INFO

Una variabile con tipo di dati __SYSTEM.VAR_INFO contiene gli elementi seguenti:

Elemento

Tipo di dati

Inizializzazione

Descrizione

ByteAddress

DWORD

0

Indirizzo della variabile.

NOTA: Per l'accesso in bit di una variabile <variable name>.<bit index>, viene fornito l'indirizzo della variabile che contiene il bit.

ByteOffset

DWORD

0

Offset dell'indirizzo della variabile (in byte).

Area

DINT

0

Numero dell'area di memoria (nel sistema di runtime).

BitNr

INT

0

Numero di bit (in byte).

NOTA: Se la variabile non è un tipo di dati intero, BitNr = -1.

BitSize

INT

0

Dimensioni della variabile (in bit).

BitAddress

UDINT

0

Indirizzo bit della variabile.

Valido solo se la variabile si trova in un'area %I, %Q o %M.

TypeClass

TYPE_CLASS

TYPE_BOOL

Classe del tipo di dati della variabile.

Esempio: TYPE_INT, TYPE_ARRAY

NOTA: Per i tipi di dati definiti dall'utente o le istanze di blocco funzione, TYPE_USERDEF viene recapitato come classe del tipo di dati.

TypeName

STRING[79]

‘’

Tipo di dati della variabile.

NumElements

UDINT

0

Per gli array: numero di elementi array.

BaseTypeClass

TYPE_CLASS

TYPE_BOOL

Per gli array: classe del tipo di dati degli elementi nell'array.

ElemBitSize

UDINT

0

Per gli array: dimensione bit di un elemento dell'array.

MemoryArea

MEMORY_AREA

MEM_MEMORY

Informazioni sull'area di memoria:

  • MEM_GLOBAL: area di memoria globale

  • MEM_LOCAL: area di memoria locale

  • MEM_MEMORY: %M

  • MEM_INPUT: %I

  • MEM_OUTPUT: %Q

  • MEM_RETAIN: area di memoria ritentiva

Symbol

STRING[39]

‘’

Nome della variabile.

Comment

STRING[79]

‘’

Commento della dichiarazione della variabile.