Komposition

Bei einer Komposition handelt es sich um eine UML-Beziehung, die ein „Enthalten“ ausdrückt: Ein Element enthält ein anderes Element. In IEC-Code entspricht das der Instanziierung eines Elements: fbSample : FB_Sample. Über die Kardinalität wird angegeben, wie oft die Beziehung besteht. In IEC-Code entspricht das einem ARRAY[...]. Wird eine Kardinalität größer als 1 angegeben, wird folgendermaßen deklariert: aSample : ARRAY[1..10] OF FB_Sample.

Komposition 1:

Eine Komposition wird als Pfeil mit einer gefüllten schwarzen Raute dargestellt, der von einer Klasse oder einer Globalen Variablenliste auf eine Klasse vom Typ FUNCTION_BLOCK oder eine DUT zeigt.

Eigenschaft

„Eigenschaft“

Beschreibung

„Beziehung“

Komposition (nicht editierbar)

„Route optimieren“

Wenn die Option aktiviert ist, wird die Route des Beziehungspfeils automatisch optimiert. Fixpunkte sind dabei der Startpunkt am Startelement und der Endpunkt am Zielelement. Wird zum Beispiel das Zielelement verschoben, bleibt der Punkt, an dem der Pfeil auf das Zielelement zeigt, bestehen. Wenn die Option deaktiviert ist, bleibt der Streckenverlauf erhalten. Sobald im Klassendiagramm ein Beziehungselement manuell positioniert wird, ist diese Option abgewählt.
Aktivieren Sie die Option, wenn ein automatisches Optimieren gewünscht ist.

„Startelement“

Der Name des Elements, bei dem das Beziehungselement startet, wird angezeigt.

„Zielelement“

Der Name des Elements, auf den das Beziehungselement zeigt, wird angezeigt.

„Bezeichner“

Der Name des Beziehungselements wird angezeigt.

Komposition editieren

Benutzereingabe im Klassendiagramm

Reaktion im Klassendiagramm

Beschreibung

Wählen Sie das Werkzeug „Komposition“:

Komposition 2:

Selektieren Sie eine Klasse oder eine GVL und klicken Sie dann auf das Element, das Bestandteil werden soll.

Eine Komposition zwischen den Elementen wird eingezeichnet.

Der IEC-Code wird automatisch angepasst, indem der Deklarationsteil des bestehenden Elements erweitert wird. Zum Beispiel:

fbExistent : FB_Existent;.

Wählen Sie das Werkzeug „Komposition“:

Komposition 3:

Selektieren Sie eine Klasse oder eine GVL und klicken Sie dann in einen freien Bereich des Diagramms. Der Dialog „POU hinzufügen“ öffnet. Fügen Sie einen Namen ein, passen Sie die Einstellungen an und beenden Sie den Dialog mit „Hinzufügen“.

Eine Komposition, die von der Klasse oder GVL auf die neue Klasse weist, ist erzeugt.

Der IEC-Code wird automatisch angepasst, indem der Deklarationsteil des bestehenden Elements erweitert wird. Zum Beispiel:

fbNew : FB_New;

Wählen Sie das Werkzeug „Zeiger“.
Klicken Sie auf eine Komposition und verschieben Sie die Linie mit der Maus.

 

Die selektierte und deshalb blaue Komposition verläuft auf der neuen Position. Die Eigenschaft „Routing optimieren“ wird automatisch deaktiviert.

Wählen Sie das Werkzeug „Zeiger“.
Klicken Sie auf eine Komposition und verwenden Sie die [Entf]-Taste oder klicken Sie im Kontextmenü „Löschen“.

 

Die Assoziation ist im Diagramm und im IEC-Code entfernt. Im Deklarationsteil des Elements ist die Instanziierung der Klasse bzw. des Datentyps entfernt.

Beispiele

Komposition 4:

 

PROGRAM Test
VAR
    fbSample    : FB_Sample;
END_VAR

 

PROGRAM Test
VAR
    aSample    : ARRAY[1..10] OF FB_Sample;
END_VAR

 

Komposition 5:

FUNCTION_BLOCK FB_Message
VAR_INPUT
    stMessageStation1    : ST_Message;
END_VAR

 

Komposition 6:

VAR_GLOBAL
    fbMessage    : FB_Message;
END_VAR