Objekt: DUT
Ein DUT (Data Unit Type) deklariert einen benutzerdefinierten Datentyp, der über die vordefinierten Standardtypen hinausgeht.
DUT für die Datentypkategorien Struktur, Enumeration, Alias und Union
Sie können solche Objekte unterhalb der Applikation oder in der Ansicht POUs hinzufügen. Beim Anlegen des Objekts öffnen Sie den Dialog DUT hinzufügen. Dort können Sie den neuen Datentyp benennen und zwischen den Kategoien Struktur, Enumeration, Alias und Union wählen.
Kategorien benutzerdefinierter Datentypen
TYPE <identifier> :
<data type declaration>
END_TYPE | Mit |
TYPE <identifier> :
STRUCT
<member deklaration>
END_STRUCT
END_TYPE | Deklaration einer Struktur Bei einer Struktur werden die mindestens zwei Mitglieder von |
TYPE <identifier> :
(
<list of members>
) <base data type> := <inittialization> ;
END_TYPE | Deklaration einer Enumeration Bei einer Enumeration werden die mindestens zwei Mitglieder von einer runden Klammer umfassst. Die einzelnen Mitglieder werden mit Komma separiert. Alle Mitglieder haben denselben Datentyp. Eine Enumeration kann zusätzlich von einer Textliste unterstützt werden. Für weitere Informationen siehe: Enum mit Textlistenunterstützung Die Textliste dient dazu, die Werte der Enumeration zu lokalisieren. Das Objekt verfügt dann zusätzlich über eine Lokalisierungsansicht. |
TYPE <identifier> : <data type name> ; END_TYPE | Deklaration eines Alias Ein Alias ist ein alternativer Bezeichner. |
TYPE <identifier> :
UNION
<member declaration>
END_UNION
END_TYPE | Deklaration einer Union Eine Union erlaubt die gleichzeitige Speicherung mehrerer unterschiedlicher Datentypen im selben Speicherbereich. Die Größe einer Union entspricht der Größe des größten enthaltenen Datentyps. Im Speicher liegt zu einem Zeitpunkt immer der Wert des zuletzt geschriebenen Mitglieds. Bei einer Union werden ihre mindestens zwei Mitglieder mit |
Deklaration der Struktur S_POLYGONLINE mit teilweiser Initialisierung von Komponenten
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_TYPEDeklaration der Struktur S_PENTAGON als Erweiterung von S_POLYGONLINE
TYPE S_PENTAGON EXTENDS S_POLYGONLINE :
STRUCT
aiPoint5 : ARRAY[1..2] OF INT;
END_STRUCT
END_TYPEDeklaration der Enumeration E_TRAFFICSIGNAL
{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_TRAFFICSIGNAL :
(
eRed,
eYellow,
eGreen := 10
);
END_TYPEEnumeration 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
TYPE U_DATA :
UNION
lrA : LREAL;
liA : LINT;
dwA : DWORD;
END_UNION
END_TYPEDialog: DUT hinzufügen
Funktion: Der Dialog dient der Konfiguration eines neuen Objekts DUT (Data Unit Type).
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 |
Geben Sie eine bestehende Struktur im Eingabefeld daneben an. Die Komponenten der bestehenden Strukur sind automatisch in der neuen verfügbar. 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: Eine Enumeration kann zusätzlich eine Textliste haben. Diese dient dazu, die Werte der Enumeration zu lokalisieren. Das Objekt verfügt dann zusätzlich über eine Lokalisierungsansicht. |
Textlistenunterstützung hinzufügen |
|
Alias | Legt ein Objekt an, das ein Alias deklariert, mit dem ein alternativer Name für einen Basistyp, Datentyp oder einen Funktionsbaustein deklariert wird Beispiel: |
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. Beispiel: |
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 |


