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.
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. |
„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“: 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“: 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“. |
|
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“. |
|
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 einer Klasse
- Einfachkomposition
PROGRAM Test
VAR
fbSample : FB_Sample;
END_VAR
- Vielfachkomposition
PROGRAM Test
VAR
aSample : ARRAY[1..10] OF FB_Sample;
END_VAR
- Komposition eines Datenobjekts
FUNCTION_BLOCK FB_Message
VAR_INPUT
stMessageStation1 : ST_Message;
END_VAR
- Komposition in GVL
VAR_GLOBAL
fbMessage : FB_Message;
END_VAR