Alias

Überblick

Ein benutzerdefinierter Datentyp alias ermöglicht die Deklaration eines alternativen Namens für einen Basistyp, Datentyp oder Funktionsbaustein.

Wählen Sie Typ = Alias im Dialogfeld DUT hinzufügen aus.

Deklaration eines Alias in einem DUT

TYPE A_MESSAGE : STRING[50];
END_TYPE

Syntax

TYPE <DUT name> : <type name>;
END_TYPE

Die folgenden Typen sind zulässig für <type name>:

  • <basic type name>

  • <data type name>

  • <function block name>

Beispiel für Variablen des Typs STRING oder ARRAY mit spezifischer Länge

Deklarationsteil:

TYPE FRAME : ARRAY[0..1499] OF BYTE; END_TYPE
TYPE SYMBOL : STRING(512); END_TYPE

Aufruf:

PROGRAM PLC_PRG
VAR
    frameF : FRAME;
    symbolS : SYMBOL;
END_VAR

Beispiel für Variablen, die einen anderen Initialwert benötigen

Dieses Beispiel gilt für einen alias-Datentyp für Variablen, für die ein anderer Initialwert als der vom Compiler bereitgestellte benötigt wird.

TYPE INDEX : DINT := -1; END_TYPE

Beispiel für Variablen, die eine Teilmenge von Werten anwenden

Dieses Beispiel gilt für einen alias-Datentyp für Variablen eines bestimmten Typs, auf die eine bestimmte Teilmenge von Werten des ursprünglichen Typs angewendet werden soll.

{attribute 'qualified_only'}
VAR_GLOBAL CONSTANT
    c_diMaxRune : DINT := DINT#16#0010FFFF;
END_VAR
TYPE RUNE : DINT(0..GVL.c_diMaxRune); END_TYPE

Beispiel für Typen aus einem anderen Namensraum

Dieses Beispiel gilt z. B. für Typen aus einer untergeordneten Bibliothek, um sie im aktuellen Namensraum verfügbar zu machen.

TYPE ENCODING: SBB.ENCODING; END_TYPE (*ENUM*)
TYPE RUNE : UTF8.RUNE;  END_TYPE (*SUBTYPE*)
TYPE INFO : STR.INFO;  END_TYPE (*STRUCT*)
TYPE IBuilder : SBB.IBuilder; END_TYPE (*INTERFACE*)
TYPE Range: SBB.Range; END_TYPE (*FUNCTION_BLOCK*)

Da die Typen untergeordneter Bibliotheken Teil Ihrer eigenen Bibliothek werden, wird eine Containerbibliothek in den meisten Fällen überflüssig.