Generalisierung

Bei einer Generalisierung handelt es sich um eine UML-Beziehung, die eine Vererbung oder Spezialisierung ausdrückt. Das erbende Element verfügt über die Attribute und Operationen des vererbenden Elements. In IEC-Codierung entspricht diese Beziehung dem Schlüsselwort EXTENDS.

Generalisierung 1:

Eine Generalisierung wird durch einen Pfeil symbolisiert, der über eine geschlossene Spitze verfügt und von der erbenden Klasse zur vererbenden Basisklasse zeigt. Die Richtung des Pfeils gibt also an, wer von wem erbt.

Vererbung ist zwischen Klassen, Schnittstellen und benutzerdefinierten Datentypen möglich:

Eigenschaft

„Eigenschaft“

Beschreibung

„Beziehung“

Generalisierung (nicht editierbar)

Generalisierung editieren

Benutzereingabe im Klassendiagramm

Reaktion im Klassendiagramm

Beschreibung

Wählen Sie das Werkzeug „Generalisierung“:

Generalisierung 2:

Selektieren Sie das Objekt, das erben soll, und klicken Sie dann auf das Vaterobjekt.

Eine Generalisierung, die vom Erbenden zum Vaterelement weist, ist erzeugt.

Der IEC-Code wird automatisch angepasst, indem im Deklarationsteil der erbenden Klasse das Vaterelement angegeben ist. Zum Beispiel:

FUNCTION_BLOCK FB_Sample EXTENDS FB_BaseExistent

Wählen Sie das Werkzeug „Generalisierung“:

Generalisierung 3:

Selektieren Sie das Objekt, das erben soll, und klicken Sie dann in einen freien Bereich des Diagramms.
Ein Dialog zum Erzeugen eines neuen Objekts öffnet. Fügen Sie einen Namen ein, passen Sie die Einstellungen an und beenden Sie den Dialog mit „Hinzufügen“.

Eine Generalisierung, die vom Erbenden zum neuen Vaterelement weist, ist erzeugt.

Der IEC-Code wird automatisch angepasst, indem das neue Objekt angelegt wird und im Deklarationsteil des erbenden Objekts das Vaterobjekt angegeben wird. Zum Beispiel:

FUNCTION_BLOCK FB_Sample EXTENDS FB_BaseNew

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

 

Die selektierte und deshalb blaue Generalisierung verläuft auf der neuen Position.

Wählen Sie das Werkzeug „Zeiger“.
Klicken Sie auf eine Realisierung und verwenden Sie die [Entf]-Taste oder klicken Sie im Kontextmenü „Löschen“.

 

Die Generalisierung ist im Diagramm und im IEC-Code entfernt. Im Deklarationsteil des erbenden Objekts ist die Anweisung EXTENDS entfernt.

Beispiele

Generalisierung 4:

FUNCTION_BLOCK FB_Sub EXTENDS FB_Base

 

Generalisierung 5:

INTERFACE I_Cylinder EXTENDS I_Base

 

Generalisierung 6:

TYPE ST_Sub EXTENDS ST_Sample :
STRUCT
    aMessages    : ARRAY[1..10] OF STRING;
END_STRUCT
END_TYPE