Skip to main content

Element: Assoziation

Bei einer Assoziation handelt es sich um eine UML-Beziehung, die ein Kennen ausdrückt. Das kennende Element weist als Zeiger auf ein anderes Element.

In IEC-Code entspricht das einer POINTER TO- oder einer REFERENCE TO-Anweisung: Beispiel ptrFb_A: POINTER TO Fb_A; oder ptrFb_B: REFERENCE TO Fb_B;. Dafür stehen im UML-Editor die beiden Elemente Assoziation (POINTER) und Assoziation (REFERENCE) zur Verfügung. Ü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:

ptrMulti_B : ARRAY[1..8] OF POINTER TO Fb_B;

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

_uml_img_assoziation.png

Eigenschaften

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 ein Werkzeug Assoziation _uml_icon_tool_association.png.

  2. Klicken Sie auf eine Klasse oder GVL.

  3. Klicken Sie auf das Element, das assoziiert 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 Assoziation eingezeichnet.

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

  1. Selektieren Sie das Werkzeug Assoziation _uml_icon_tool_association.png.

  2. Selektieren Sie eine Klasse oder 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 Assoziation, die von der Klasse oder GVL auf die neue Klasse weist, wird erzeugt.

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

  1. Selektieren Sie das Werkzeug Auswahl _uml_tool_selection.png.

  2. Klicken Sie auf eine Assoziation.

  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 Assoziation.

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

Die Assoziation wird aus Diagramm und IEC-Code entfernt. Im Deklarationsteil des Elements wird die POINTER TO-Anweisung entfernt.

Beispiele

Beispiel 15. Assoziation auf eine Klasse

Fb_C kennt Fb_B und Fb_A (einfach und mehrfach).

_uml_img_example_assoziation_class.png
FUNCTION_BLOCK Fb_C
VAR
    VarFb_A : POINTER TO Fb_A;
    VarMultiFb_A: ARRAY [1..10] OF POINTER TO Fb_A; (* Kardinalität 10 *)
END_VAR


Beispiel 16. Assoziation auf eine Datenstruktur

Fb_C kennt Dut_A

_uml_img_example_assoziation_dut.png
FUNCTION_BLOCK Fb_C
VAR
    pDut_A: POINTER TO Dut_A;
END_VAR


Beispiel 17. Assoziation von einer GVL

GVL kennt POU_2

_uml_img_example_assoziation_gvl.png
VAR_GLOBAL
    g_iCounter : INT;
    g_a : BOOL;
    pPOU_2: POINTER TO POU_2;
END_VAR