Assoziation

Bei einer Assoziation handelt es sich um eine UML-Beziehung, die ein „Kennen“ ausdrückt. Das kennende Element weist als Zeiger oder Referenz auf ein anderes Element. In IEC-Code entspricht das einer POINTER TO-Anweisung (pSample : POINTER TO FB_Sample) oder einer REFERENCE TO-Anweisung (refSample : REFERENCE TO FB_Sample).

Bei Zeigern wird über die Kardinalität 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 POINTER TO FB_Sample.

Assoziation 1:

Eine Assoziation wird als Pfeil dargestellt, der von einer Klasse oder einer Globalen Variablenliste auf eine Klasse vom Typ FUNCTION_BLOCK oder DUT zeigt.

Eigenschaft

„Eigenschaft“

Beschreibung

„Beziehung“

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

Assoziation editieren

Benutzereingabe im Klassendiagramm

Reaktion im Klassendiagramm

Beschreibung

Wählen Sie das Werkzeug „Assoziation“:

Assoziation 2:

Selektieren Sie eine Klasse oder eine GVL und klicken Sie dann auf das Objekt, auf das assoziiert werden soll.

Eine Assoziation zwischen den Elementen wird eingezeichnet.

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

pExistent : POINTER TO FB_Existent;

Wählen Sie das Werkzeug „Assoziation“:

Assoziation 3:

Selektieren Sie eine Klasse oder eine GVL und dann 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 Assoziation, 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:

pNew : POINTER TO FB_New;

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

 

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

Wählen Sie das Werkzeug „Zeiger“.
Klicken Sie auf eine Assoziation 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 POINTER TO- bzw. die REFERENCE TO-Anweisung entfernt.

Beispiele

Assoziation 4:

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

 

Assoziation 5:

VAR_GLOBAL
    pMessage    : POINTER TO ST_Message;
END_VAR