Skip to main content

Element: Generalisierung

Eine Generalisierung ist eine UML-Beziehung, die eine Vererbung oder Spezialisierung ausdrückt. Das erbende Element hat die Attribute und Operationen des vererbenden Elements. In IEC-Codierung entspricht diese Beziehung dem Schlüsselwort EXTENDS.

Eine Generalisierung zeigt von der erbenden Klasse zur vererbenden Basisklasse. 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 und vererben

_uml_img_element_generalization.png

Darstellung als Pfeil

Eigenschaften

Tabelle 6.

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

  1. Selektieren Sie das Werkzeug Generalisierung _uml_icon_tool_generalization.png.

  2. Klicken Sie auf das Element, das erben soll.

  3. Klicken Sie auf das Vaterobjekt.

Zwischen den Erbenden und dem Vaterelement wird eine Generalisierung eingezeichnet.

Der IEC-Code wird synchron angepasst, indem im Deklarationsteil der erbenden Klasse das Vaterelement angegeben ist.

Zum Beispiel: Classe_A EXTENDS Class_Base

  1. Selektieren Sie das Werkzeug Generalisierung _uml_icon_tool_generalization.png.

  2. Klicken Sie auf das Element, das erben soll.

  3. Klicken Sie in einen freien Bereich des Diagramms.

    Ein Dialog zum Erzeugen des neuen Objekts öffnet sich.

  4. Geben Sie einen Namen ein, passen Sie die Einstellungen an und beenden Sie den Dialog mit Hinzufügen.

Zwischen den Erbenden und dem Vaterelement wird eine Generalisierung eingezeichnet.

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

Anmerkung

Diese Eingabe funktioniert nicht beim Element DUT.

  1. Selektieren Sie das Werkzeug Auswahl _uml_tool_selection.png.

  2. Klicken Sie auf eine Generalisierung.

  3. Verschieben Sie die Linie mit der Maus.

Die Linien werden geändert. Die Eigenschaft Routing optimieren wird automatisch deaktiviert.

  1. Selektieren Sie das Werkzeug Auswahl _uml_tool_selection.png.

  2. Klicken Sie auf eine Generalisierung.

  3. Verwenden Sie Entf oder im Kontextmenü Löschen.

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

Beispiel

Beispiel 19. Funktionsbaustein

Fb_A erbt von Fb_Base:

_uml_img_example_generalization_function_block.png
FUNCTION_BLOCK Fb_A EXTENDS Fb_Base


Beispiel 20. Schnittstelle

Itf_A erbt von Ift_Base:

_uml_img_example_generalization_interface.png
INTERFACE Itf_A EXTENDS Itf_Base


Beispiel 21. DUT

Dut_A erbt von Dut_Base:

_uml_img_example_generalization_dut.png
TYPE Dut_Base :
STRUCT
    counter : INT;
END_STRUCT
END_TYPE

TYPE Dut_A EXTENDS Dut_Base :
STRUCT
    data : ARRAY[0..9] OF WORD;
END_STRUCT
END_TYPE