Skip to main content

Element: Komposition

Bei einer Komposition handelt es sich um eine UML-Beziehung, bei der ein Element ein anderes Element enthält. In IEC-Code entspricht das der Instanzierung eines Elements: instFb_A : Fb_A. Über die Kardinalität wird angegeben, wie oft die Beziehung besteht. In IEC-Code entspricht das einem ARRAY[ .. ]. Wenn Sie eine Kardinalität größer als 1 angeben, dann wird folgendermaßen deklariert: instMultiFb_A : ARRAY[0..9] OF Fb_A;.

Eine Komposition zeigt von einer Klasse oder einer globalen Variablenliste auf eine Klasse vom Typ FUNCTION_BLOCK oder eine DUT.

Darstellung als Pfeil mit einer gefüllten schwarzen Raute

_uml_img_composition.png

Eigenschaften

Tabelle 4.

Beziehung

Beziehungstyp

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.

Zielelement

Der Name des Elements, auf den das Beziehungselement zeigt.

Bezeichner

Nur bei Beziehungen Assoziation und Komposition

Der Name des Beziehungselements.



Benutzereingaben

Aktion

Beschreibung

  1. Selektieren Sie das Werkzeug Komposition (VAR) _uml_icon_tool_composition.png.

  2. Klicken Sie auf eine Klasse oder eine GVL.

  3. Klicken Sie auf das Element, das Bestandteil werden soll.

    Der Dialog Variablendeklaration öffnet sich.

  4. Geben Sie einen Namen ein und beenden Sie den Dialog mit OK.

Zwischen den Elementen wird eine Komposition eingezeichnet.

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

Beispiel: VarFbA : FB_A;

  1. Selektieren Sie das Werkzeug Komposition (VAR) _uml_icon_tool_composition.png.

  2. Selektieren Sie eine Klasse oder eine GVL.

  3. Klicken Sie in einen freien Bereich des Diagramms.

    Der Dialog POU hinzufügen öffnet sich.

  4. Geben Sie einen Namen ein, passen Sie die Einstellungen an und beenden Sie den Dialog mit Hinzufügen.

Eine Komposition, die von der Klasse auf die neue Klasse weist, wird erzeugt.

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

Beispiel: VarFb_A : Fb_A;

  1. Selektieren Sie das Werkzeug Auswahl _uml_tool_selection.png.

  2. Klicken Sie auf eine Komposition.

  3. Verschieben Sie die Linie mit der Maus.

Die Linien werden geändert. Die Eigenschaft Routing optimieren wird automatisch deaktiviert.

  1. Selektieren Sie das Werkzeug Auswahl _uml_tool_selection.png.

  2. Klicken Sie auf eine Komposition.

  3. Verwenden Sie Entf oder im Kontextmenü Löschen.

Die Komposition wird in Diagramm und IEC-Code entfernt. Im Deklarationsteil des Elements wird die Instanziierung der Klasse oder DUT entfernt.

Beispiel

Beispiel 12. Komposition einer Klasse

Fb_D enthält Fb_A:

_uml_img_example_composition.png

Einfachkomposition

FUNCTION_BLOCK Fb_D
VAR
    VarFb_A : Fb_A;
END_VAR

Vielfachkomposition

FUNCTION_BLOCK Fb_D
VAR
...
    VarMultiFb_A : ARRAY[1..10] OF Fb_A;
END_VAR


Beispiel 13. Komposition eines Datenobjekts

Fb_B enthält Dut_A:

_uml_img_example_composition_dut.png
FUNCTION_BLOCK Fb_B
VAR
    VarDut_A : Dut_A;
END_VAR


Beispiel 14. Komposition in GVL

GVL enthält Fb_B und VarDut_A:

_uml_img_example_composition_gvl.png
VAR_GLOBAL
    g_iCounter : INT;
    g_a : BOOL;
    pPOU_2: POINTER TO POU_2;
    VarFb_B: Fb_B;
    VarDut_A: Dut_A;
END_VAR