Symbol:
-
für ein DUT ohne Textlistenunterstützung
-
für einen Enumerations-Datentyp mit Textlistenunterstützung
Ein DUT (Data Unit Typ) deklariert einen anwenderspezifischen Datentyp.
Sie können ein solches Objekt unterhalb der Applikation oder in der Ansicht „POUs“ hinzufügen. Beim Erstellen des Objekts öffnet sich der Dialog „DUT hinzufügen“. Dort wählen Sie unter den Datentypen „Struktur“, „Enumeration“, „Alias“ oder „Union“ aus.
Außerdem können Enumerationen eine Textliste hinterlegt haben, um die Enumerationwerte zu lokalisieren. Das Objekt verfügt dann zusätzlich über eine Lokalisierungsansicht.
Syntax
TYPE <identifier> : <data type declaration with optional initialization> END_TYPE
Wie die Datentypdeklaration syntaktisch zu erfolgen hat, hängt im Detail vom gewählten Datentyp ab.
Beispiele
Deklaration einer Struktur
TYPE S_POLYGONLINE : STRUCT aiStart : ARRAY[1..2] OF INT := [-99, -99]; aiPoint1 : ARRAY[1..2] OF INT; aiPoint2 : ARRAY[1..2] OF INT; aiPoint3 : ARRAY[1..2] OF INT; aiPoint4 : ARRAY[1..2] OF INT; aiEnd : ARRAY[1..2] OF INT := [99, 99]; END_STRUCT END_TYPE
Erweiterung einer Stuktur
TYPE S_PENTAGON EXTENDS S_POLYGONLINE : STRUCT aiPoint5 : ARRAY[1..2] OF INT; END_STRUCT END_TYPE
Deklaration einer Enumeration
{attribute 'qualified_only'} {attribute 'strict'} TYPE E_TRAFFICSIGNAL : ( eRed, eYellow, eGreen := 10 ); END_TYPE
Enumeration mit Textlistenunterstützung in der Lokalisierungsansicht

Am rechten Rand des Editors befinden sich die Schaltflächen „Textuelle Ansicht“ und
„Lokalisierungsansicht“. Mit Klick auf die Schaltflächen können Sie zwischen den Ansichten wechseln.
Deklaration eines Alias
TYPE A_MESSAGE : STRING[50]; END_TYPE
Deklaration einer Union von Komponenten mit unterschiedlichen Datetypen
TYPE U_DATA : UNION lrA : LREAL; liA : LINT; dwA : DWORD; END_UNION END_TYPE
Dialog 'DUT hinzufügen'
Funktion: Der Dialog dient der Konfiguration eines neuen DUTs (Data Unit Typ).
Aufruf: Menü „Projekt Objekt hinzufügen DUT“, Kontextmenü des Applikationsobjekts.
„Name“ |
Name des neuen Datentyps DUT Beispiel: |
„Struktur“ |
Legt ein Objekt an, das eine Struktur deklariert, die mehrere Variablen mit unterschiedlichen Datentypen zu einer logischen Einheit zusammenfasst. Die innerhalb der Struktur deklarierten Variablen werden als Komponenten bezeichnet. Beispiel: |
„Erweitert“ |
Beispiel: |
„Enumeration“ |
Legt ein Objekt an, das eine Enumeration deklariert, die mehrere Integer-Konstanten zu einer logischen Einheit zusammenfasst. Die innerhalb einer Enumeration deklarierten Konstanten werden auch als Enumerationswert bezeichnet. Beispiel: |
„Textlistenunterstützung hinzufügen“ |
Beispiel: Hinweis: Bei einem bestehenden Enumerationstypen kann die Textlistenunterstützung jederzeit nachträglich hinzugefügt oder wieder entfernt werden: Dazu dienen die Befehle „Textlistenunterstützung hinzufügen“ oder „Textlistenunterstützung entfernen“ im Kontextmenü des Objekts. Tipp: Die lokalisierten Texte können Sie beispielsweise in einer Visualisierung ausgeben.
Dann erscheint in der Textausgabe eines Visualisierungselements statt der numerischen
Enumerationswerte die symbolischen in der aktuellen Sprache. Wenn eine textlistenunterstützte
Enumerationsvariable in der Eigenschaft „Textvariable“ eines Visualisierungselements eingetragen wird, erhält sie den Zusatz Beispiel: Sie verwenden in einer Visualisierung die Variable Tipp: Wenn Sie den Enumerationstyp in der Applikation editieren, erscheint beim Schließen eine Eingabeaufforderung mit der Frage, ob die betroffenen Visualisierungen automatisch aktualisieren werden sollen. Siehe auch: Hilfe zu "Aufzählungen / Enumerationen" mit Erläuterungen zur Deklarationssyntax |
„Alias“ |
Legt ein Objekt an, das ein Alias deklariert, mit dem ein alternativer Name für einen Basistyp, Datentyp oder einen Funktionsbaustein deklariert wird |
„Union“ |
Legt ein Objekt an, das eine Union deklariert, die mehrere Komponenten mit meist unterschiedlichen Datentypen zu einer logischen Einheit zusammenfasst Alle Komponenten haben den gleichen Offset, so dass sie am selben Speicherplatz liegen. Der Speicherplatzbedarf einer Union wird bestimmt durch den Speicherplatzbedarf seiner "größten" Komponente. |
„Hinzufügen“ |
Beendet den Dialog und legt das neue Objekt an Das Objekt erscheint im Gerätebaum oder in der Ansicht „POUs“ mit dem Symbol |