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.
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:
- Ein Funktionsbaustein kann von einem anderen Funktionsbaustein erben.
- Eine Schnittstelle kann von einer anderen Schnittstelle erben.
- Ein DUT kann von einem anderen DUT erben.
- Programme und Funktionen können nicht erben oder vererben.
Eigenschaft
„Eigenschaft“ | Beschreibung |
---|---|
„Beziehung“ | Generalisierung (nicht editierbar) |
Generalisierung editieren
Benutzereingabe im Klassendiagramm |
Reaktion im Klassendiagramm |
Beschreibung |
---|---|---|
Wählen Sie das Werkzeug „Generalisierung“: 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“: Selektieren Sie das Objekt, das erben soll, und klicken Sie dann in einen freien Bereich des Diagramms. |
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“. |
|
Die selektierte und deshalb blaue Generalisierung verläuft auf der neuen Position. |
Wählen Sie das Werkzeug „Zeiger“. |
|
Die Generalisierung ist im Diagramm und im IEC-Code entfernt. Im Deklarationsteil des erbenden Objekts ist die Anweisung EXTENDS entfernt. |
Beispiele
- Funktionsbaustein
FUNCTION_BLOCK FB_Sub EXTENDS FB_Base
- Schnittstelle
INTERFACE I_Cylinder EXTENDS I_Base
- DUT
TYPE ST_Sub EXTENDS ST_Sample :
STRUCT
aMessages : ARRAY[1..10] OF STRING;
END_STRUCT
END_TYPE