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.
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. |
„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“: 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“: Selektieren Sie eine Klasse oder eine GVL und dann klicken Sie dann in einen freien Bereich des Diagramms. | 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“. |
| 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“. |
| 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 auf eine Klasse (von einem Programm) – einfach und mehrfach
PROGRAM Test
VAR
pSample : POINTER TO FB_Sample;
aSample : ARRAY[1..10] OF POINTER TO FB_Sample;
END_VAR
- Assoziation auf eine Datenstruktur (von einer GVL) – einfach
VAR_GLOBAL
pMessage : POINTER TO ST_Message;
END_VAR