__VARINFO

Definition

Dieser Operator wird in der Norm IEC 61131-3 nicht beschrieben.

Syntax in der Deklaration

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

Syntax für den Aufruf

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

Funktion

Der Operator __VARINFO liefert Informationen über eine Variable des Projekts während der Laufzeit. Diese Informationen werden als Datenstruktur in einer Variablen des Datentyps __SYSTEM.VAR_INFO gespeichert.

Beispiel

Während der Laufzeit enthält die Variable MyVarInfo die Informationen über die Variable MyVar.

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

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

Typ SYSTEM.VAR_INFO

Eine Variable mit dem Datentyp __SYSTEM.VAR_INFO enthält die folgenden Elemente:

Element

Datentyp

Initialisierung

Beschreibung

ByteAddress

DWORD

0

Adresse der Variablen.

HINWEIS: Für den Bitzugriff auf eine Variable <variable name>.<bit index> wird die Adresse der Variablen mit dem Bit angegeben.

ByteOffset

DWORD

0

Offset der Variablenadresse (in Bytes).

Area

DINT

0

Nummer des Speicherbereichs (im Laufzeitsystem).

BitNr

INT

0

Anzahl an Bits (in Bytes).

HINWEIS: Wenn die Variable kein Ganzzahldatentyp (Integer) ist, dann BitNr = -1.

BitSize

INT

0

Größe der Variablen (in Bits).

BitAddress

UDINT

0

Bit-Adresse der Variablen.

Nur gültig, wenn sich die Variable in einem %I-, %Q- oder %M-Bereich befindet.

TypeClass

TYPE_CLASS

TYPE_BOOL

Datentypklasse der Variablen.

Beispiel: TYPE_INT, TYPE_ARRAY

HINWEIS: Für benutzerdefinierte Datentypen oder Funktionsbausteininstanzen wird TYPE_USERDEF als Datentypklasse übergeben.

TypeName

STRING[79]

‘’

Datentyp der Variablen.

NumElements

UDINT

0

Für Arrays: Anzahl der Array-Elemente.

BaseTypeClass

TYPE_CLASS

TYPE_BOOL

Für Arrays: Datentypklasse der Elemente im Array.

ElemBitSize

UDINT

0

Für Arrays: Bitgröße eines Array-Elements.

MemoryArea

MEMORY_AREA

MEM_MEMORY

Informationen über den Speicherbereich:

  • MEM_GLOBAL: Globaler Speicherbereich

  • MEM_LOCAL: Lokaler Speicherbereich

  • MEM_MEMORY: %M

  • MEM_INPUT: %I

  • MEM_OUTPUT: %Q

  • MEM_RETAIN: Retain-Speicherbereich

Symbol

STRING[39]

‘’

Variablenname

Comment

STRING[79]

‘’

Kommentar zur Variablendeklaration