GET_TYPE_FROM_VARNAME-Baustein

Kurz-Information

Name

GET_TYPE_FROM_VARNAME

→POE-Typ

→Funktion

Kategorie

IEC-Baustein, MemoryEnh, Baustein mit interner Fehlerdiagnose

Konform zur →IEC-Norm

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/add.svg nicht in IEC-Norm vorgesehen

Grafische Schnittstelle

images/download/thumbnails/414781825/GET_TYPE_FROM_VARNAME-version-1-modificationdate-1535026982401-api-v2.png

Verfügbar ab

Version 1.42.0 (für logi.CAD 3) und Version 2.3.1701 von logi.RTS
images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/warning.svg Dieser Baustein wird nur für die integrierte SPS unterstützt.

Funktionalität

Der Baustein liefert den Datentyp einer Variable, deren Instanzpfad am Eingang NAME in Großbuchstaben eingegeben wird. Der Datentyp wird als UDINT-Wert geliefert.
Es wird empfohlen, den GET_TYPE_FROM_VARNAME-Baustein für die anzufordernde Variable nur einmal aufzurufen. Einerseits kann das Zeitverhalten bei der Anforderung unvorhersehbar sein, andererseits kann das Ermitteln des Datentyps einen längeren Zeitraum in Anspruch nehmen.

Einschränkungen für die Verwendung:

  • Die angeforderte Variable muss mit einem elementaren Datentyp oder einem →ARRAY dieser elementaren Datentypen deklariert sein. Die elementaren Datentypen sind: REAL, LREAL, USINT, UINT, UDINT, ULINT, SINT, INT, DINT, LINT, TIME, BOOL, BYTE, WORD, DWORD, LWORD, STRING, CHAR, DATE_AND_TIME, DATE oder TIME_OF_DAY

  • Für die angeforderte Variable muss ein Instanzpfad vorhanden sein. Das bedeutet, dass die folgenden Variablen nicht angefordert werden können:

  • Die angeforderte Variable muss aus jeder Stelle der Anwendung beschreibbar sein (d.h., innerhalb und außerhalb der POE, in der die Variable deklariert ist). Das bedeutet, dass die folgenden Variablen nicht angefordert werden können:

  • Es ist nur zulässig, den Aufruf des Bausteins auf der rechten Seite des Zuweisungsoperators ":=" für →Zuweisungen zu verwenden.

Eingänge, Ausgänge, Ergebniswert


Bezeichner

→Datentyp

Beschreibung

Eingänge:

NAME

STRING

Instanzpfad der Variable (in Großbuchstaben)
Als Trennzeichen ist . zu verwenden.

Ausgänge:

LEN

UINT

Länge (= Speichergröße) der Variable (in Bytes) oder 0

STATUS

USINT

Status der Operation (Ergebniscode):

  • 16#00: erfolgreiche Operation

  • 16#80: Der Dienst ist nicht verfügbar.

  • 16#81: Die Variable wurde nicht gefunden.

  • 16#87: Der Datentyp ist ungültig.

Ergebniswert:

UDINT

Datentyp der angeforderten Variable

  • 0: unbekannten Datentyp (im Fehlerfall)

  • 6: CHAR

  • 7: STRING

  • 8: TIME

  • 9: BOOL

  • 10: SINT

  • 11: INT

  • 12: DINT

  • 13: LINT

  • 14: USINT

  • 15: UINT

  • 16: UDINT

  • 17: ULINT

  • 18: REAL

  • 19: LREAL

  • 20: TIME_OF_DAY

  • 21: DATE_AND_TIME

  • 22: DATE

  • 23: BYTE

  • 24: WORD

  • 25: DWORD

  • 26: LWORD

Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.

Informieren Sie sich unter:

Interne Fehlerdiagnose für Baustein

Der Baustein prüft, ob eine der oben genannten Einschränkungen verletzt wird. In einem solchen Fehlerfall wird der Ausgang ENO des Bausteins auf den Wert FALSE (oder eine Entsprechung) zurückgesetzt. Zusätzlich liefert der Ausgang STATUS den entsprechenden Ergebniscode (siehe die vorhergehende Tabelle unter STATUS), der Ausgang LEN den Wert 0 und der Baustein selbst liefert den Wert 0 (als Ergebniswert).

Beispiel für Verwendung im ST-Editor

Verwendungsbeispiel des GET_TYPE_FROM_VARNAME-Bausteins
PROGRAM DocumentationExamples
VAR
iExampleGetTypeFromVarname : ExampleGetTypeFromVarname;
END_VAR
iExampleGetTypeFromVarname();
END_PROGRAM
 
FUNCTION_BLOCK ExampleGetTypeFromVarname
VAR
requestedVar : INT;
dataType : UDINT;
CheckSize : UINT;
CheckState : USINT;
CheckENO : BOOL;
END_VAR
IF dataType = 0 THEN
dataType := GET_TYPE_FROM_VARNAME(NAME := 'DOCUMENTATIONEXAMPLES.IEXAMPLEGETTYPEFROMVARNAME.REQUESTEDVAR', LEN => CheckSize, STATUS => CheckState, ENO => CheckENO);
END_IF;
ENO := dataType = 11;
END_FUNCTION_BLOCK

Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.