Objekt DUT

Symbol:

Ein DUT (Data Unit Typ) beschreibt einen anwenderspezifischen Datentyp.

Objekt DUT anlegen

1. Selektieren Sie im Projektmappen-Explorer im SPS-Projektbaum einen Ordner.
2. Wählen Sie im Kontextmenü den Befehl Hinzufügen > DUT…
Der Dialog DUT hinzufügen öffnet sich.
3. Geben Sie einen Namen ein und wählen Sie einen Datentyp.
4. Klicken Sie auf Öffnen.
Der DUT wird zum SPS-Projektbaum hinzugefügt und im Editor geöffnet.

Dialog DUT hinzufügen

Objekt DUT 3:

Name

Name des neuen DUT

Datentyp

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.

Objekt DUT 4: Erweitert: Die Struktur erweitert eine bereits bestehende Struktur um weitere Komponenten. Geben Sie eine bestehende Struktur im Eingabefeld daneben an. Die Komponenten der bestehenden Struktur sind automatisch in der neuen verfügbar.

(Siehe auch: Struktur)

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 Enumerationswerte bezeichnet.

Objekt DUT 5: Textlistenunterstützung: Eine Enumeration ohne Textlistenunterstützung wird angelegt. Das DUT-Objekt erscheint im SPS-Projektbaum im Projektmappen-Explorer mit dem folgenden Symbol:
Objekt DUT 6:

Objekt DUT 7: Textlistenunterstützung: Die Textliste ermöglicht Ihnen, die Namen der Enumerationswerte zu lokalisieren. Das DUT-Objekt erscheint im SPS-Projektbaum im Projektmappen-Explorer mit dem folgenden Symbol:
Objekt DUT 8:

Die lokalisierten Texte können Sie beispielsweise in einer Visualisierung ausgeben. Dann erscheinen 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 <Enumerationsname>.

Mithilfe der Schaltflächen am rechten Editorrand können Sie zwischen Textuelle Ansicht (Objekt DUT 9:) und Lokalisierungsansicht (Textliste) (Objekt DUT 10:) wechseln.

Beispiel: Sie verwenden die Variable MAIN.eVar vom Typ E_myEnum. E_myEnum ist ein textlistenunterstützter DUT. Dann sieht der Eintrag im Eigenschafteneditor wie folgt aus: MAIN.eVar <E_myEnum>. Wenn der Enumerationstyp im SPS-Projekt geändert wird, erscheint eine Eingabeaufforderung mit der Frage, ob TwinCAT die betroffenen Visualisierungen entsprechend aktualisieren soll.

Bei einem bestehenden Enumerationsobjekt 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.

(Siehe auch: Aufzählungen / Enumerationen)

Alias

Legt ein Objekt an, das ein Alias deklariert, mit dem ein alternativer Name für einen Basistyp, Datentyp oder einen Funktionsbaustein deklariert wird.

Sie können den Basistyp direkt eingeben oder über die Eingabehilfe oder den Array-Assistenten auswählen.

(Siehe auch: Alias)

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.

(Siehe auch: UNION)

DUT deklarieren

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 (z. B. Struktur oder Enumeration).

Beispiele:

Deklaration einer Struktur

Im Folgenden sehen Sie zwei DUTs, die die Strukturen ST_Struct1 und ST_Struct2 definieren. Die Struktur ST_Struct2 erweitert die Struktur ST_Struct1, was bedeutet, dass ST_Struct2.nVar1 verwendet werden kann, um auf die Variable nVar1 zuzugreifen.

TYPE ST_Struct1 :
STRUCT
    nVar1 : INT;
    bVar2 : BOOL;
END_STRUCT
END_TYPE
TYPE ST_Struct2 EXTENDS ST_Struct1 :
STRUCT
    nVar3 : DWORD;
    sVar4 : STRING;
END_STRUCT
END_TYPE

Deklaration einer Enumeration

TYPE E_TrafficSignal :
(
    eRed,
    eYellow,
    eGreen := 10
);
END_TYPE

Deklaration eines Alias

TYPE T_Message : STRING[50];
END_TYPE

Deklaration einer Union von Komponenten mit unterschiedlichen Datentypen

TYPE U_Name :
UNION
    fA : LREAL;
    nB : LINT;
    nC : WORD;
END_ UNION
END_TYPE