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
.

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 | |
---|---|---|
| Zwischen den Elementen wird eine Assoziation eingezeichnet. Der IEC-Code wird automatisch angepasst, indem der Deklarationsteil des bestehenden Elements erweitert wird. Zum Beispiel: | |
| 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: | |
| Die Linien werden geändert. Die Eigenschaft Routing optimieren wird automatisch deaktiviert. | |
| Die Assoziation wird aus Diagramm und IEC-Code entfernt. Im Deklarationsteil des Elements wird die |
Beispiele
Fb_C
kennt Fb_B
und Fb_A
(einfach und mehrfach).

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
Fb_C
kennt Dut_A

FUNCTION_BLOCK Fb_C VAR pDut_A: POINTER TO Dut_A; END_VAR
GVL
kennt POU_2

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