Skip to main content

Arbeiten im Klassendiagrammeditor

Der Klassendiagrammeditor stellt Elemente bereit, die die Objektorientierung des Projekts abbilden. Da der Editor in das CODESYS Development Systemeingebettet ist, können Sie daraus automatisch Code generieren. Dadurch stehen Ihnen umfangreiche integrierte Features und Tools zur Verfügung, wie beispielsweise zur Fehlererfassung.

CODESYS hält den Namen und die Eigenschaften von Objekten im Klassendiagramm und im Projekt automatisch gleich. Benutzereingaben wirken daher auf beide Sichten. Ein Klassendiagramm muss nicht alle Objekte, die im Gerätebaum sind, darstellen. Sie können Elemente aus dem Klassendiagramm entfernen und das Objekt im Gerätebaum belassen.

Tipp

Um eine gefilterte Sicht auf das Projekt zu erhalten, können Sie bewußt nur eine Auswahl an vorhandenen Objekten von der Ansicht POUs oder Geräte ins Klassendiagramm ziehen.

Neue Elemente zum Klassendiagramm hinzufügen

  1. Ziehen Sie aus der Toolbox des Klassendiagramms ein Element Klasse (POU) in den Klassendiagrammeditor.

    Der Dialog POU hinzufügen öffnet sich.

  2. Wählen Sie den Typ Funktionsbaustein und geben Sie einen Namen für den neuen Programmierbaustein ein, beispielsweise POU_1. Klicken Sie auf Hinzufügen.

    Das Element wir als neues Rechteckelement in den Editor eingefügt.

    Der Objekt POU_1 wird zur Ansicht Geräte hinzugefügt.

  3. Ziehen Sie ein weiteres Element Klasse (POU) mit der Maus in den Klassendiagrammeditor. Wählen Sie den Typ Funktionsbaustein und geben Sie einen Namen für die neue POU ein, beispielsweise POU_2

    Das Element wir als neues Rechteckelement in den Editor eingefügt.

    Der Objekt POU_2 wird zur Ansicht Geräte hinzugefügt.

  4. Selektieren Sie das Element POU_2.

    Die möglichen Befehle werden als Icons angezeigt.

  5. Klicken Sie auf Generalisierung (Extends) und ziehen Sie den Mauszeiger auf das Element POU_1.

    → Eine Verbindungslinie wird von POU_2 zu POU_1 gezeichnet.

    Der IEC-Code von POU_2 wird entsprechend angepaßt zu FUNCTION_BLOCK POU_2 EXTENDS POU_1. Funktionsbaustein POU_2 erweitert den Funktionsbaustein POU_1.

  6. Führen Sie einen Doppelklick auf das Element POU_2 aus.

    Das Objekt öffnet im Editor.

Tipp

Sie können Objekte, die bereits in der Ansicht Geräte oder POUs angelegt sind, mit der Maus in den Klassendiagrammeditor ziehen. Alle bestehenden Abhängigkeiten zu anderen Objekten werden visualisiert.

Tipp

Sobald Sie ein Objekt hinzugefügt haben, ist der Befehl Bearbeiten → Rückgängig und somit auch der Befehl Bearbeiten → Wiederherstellen nicht mehr verfügbar.

Beziehungen zwischen Elementen einfügen

. Abhängig vom Element, können Sie folgende Beziehungen einfügen:
  • _uml_icon_composition.png: Komposition (VAR)

  • _uml_icon_association.png: Assoziation (POINTER TO)

  • _uml_icon_association.png: Assoziation (REFERENCE TO)

  • _uml_icon_realization_generalization.png: Realisierung (IMPLEMENTS)

  • _uml_icon_realization_generalization.png: Generalisierung (EXTENDS)

  1. Selektieren Sie das Element, das Sie mit einem anderen Element verbinden wollen.

  2. Ziehen Sie das gewünschte Element aus der Ansicht Werkzeuge auf das Element oder klicken Sie auf das Symbol oberhalb des Elements.

    Es wird eine Verbindungslinie angezeigt.

    Anmerkung

    Mit einem Rechtsklick brechen Sie die Verbindung ab.

  3. Klicken Sie auf ein anderes Element oder an eine freie Stelle im Editor.

    Abhängig von dem Typ der Verbindung und des „Zielelements“ öffnet ein Dialog zum Hinzufügen eines Objekts oder einer Deklaration.

Elemente aus dem Klassendiagramm entfernen

. Der Editor bietet zwei Möglichkeiten, Elemente zu entfernen:
  • _uml_icon_delete_element.png: Das Element wird nur aus dem Klassendiagramm entfernt.

  • _uml_icon_delete_element_object.png: Das Element wird aus dem Klassendiagramm und aus dem Projekt entfernt.

Tipp

Wenn Sie Elemente sowohl aus dem Klassendiagramm als auch aus dem Projekt entfernt haben, können Sie diese Aktion nicht mit dem Befehl Rückgängig rückgängig machen.

Wenn die Elemente nur aus dem Klassendiagramm entfernt sind, können sie jederzeit wieder in das Diagramm eingefügt werden.

Prozedur. Element nur aus dem Klassendiagramm entfernen
  1. Selektieren Sie das Element, das Sie löschen wollen.

  2. Drücken Sie Entf oder klicken Sie auf das Icon _uml_icon_delete_element.png.

    Eine Eingabeaufforderung erscheint mit der Auswahl, die selektierten Elemente nur aus dem Diagramm oder sowohl aus dem Diagramm als auch aus dem Projekt zu entfernen.

  3. Wählen Sie die Option Aus Diagramm entfernen und beenden Sie die Eingabeaufforderung mit OK.

    Das Klassendiagramm enthält die zuvor selektierten Elemente nicht mehr. Die zugehörigen Objekte sind sowohl im Gerätebaum als auch der POUs-Ansicht vorhanden.

Prozedur. Element aus dem Klassendiagramm und dem Projekt entfernen
  1. Selektieren Sie das Element, das Sie löschen wollen.

  2. Drücken Sie Entf oder klicken Sie auf das Icon _uml_icon_delete_element_object.png.

    Beim Drücken von Entf erscheint eine Eingabeaufforderung mit der Auswahl, die selektierten Elemente nur aus dem Diagramm oder sowohl aus dem Diagramm als auch aus dem Projekt zu entfernen. Beim Drücken von _uml_icon_delete_element_object.png wird direkt gelöscht.

  3. Wählen Sie Aus Projekt und Diagramm entfernen (kein Rückgängigmachen möglich) und beenden Sie die Eingabeaufforderung mit OK.

    Es werden die Elemente und die zugehörigen Objekte sowohl aus dem Gerätebaum als auch aus der POUs-Ansicht entfernt.

Multiselektion

Eine Mehrfachauswahl von Elementen ist möglich. Beachten Sie jedoch, dass bei Strg + A oder Alles selektieren nur die als Rechteck dargestellten Elemente selektiert werden - die Beziehungselemente werden nicht selektiert.

Befehle im Klassendiagrammeditor

. Im Editor stehen Ihnen folgende Befehle im Kontextmenü der Elemente zur Verfügung:
  • Raster aktiviert / Raster deaktiviert

  • Projektstruktur in aktives Klassendiagramm importieren

  • Löschen

  • Alles selektieren

  • Symbol suchen → Gehe zu Definition

  • Symbol suchen → Querverweise ausgeben

Querverweise

Querverweise im Klassendiagramm sind Abhängigkeiten und Beziehungen zwischen den Elementen des Diagramms.

In Ansicht Werkzeuge unter Eingehende Querverweise und Ausgehende Querverweise werden Elemente gelistet, die zwar eine Beziehung zum gerade selektierten Rechteckelement haben, aber aktuell nicht im Diagramm dargestellt werden. Das ist beispielsweise der Fall, wenn ein Element mit dem Befehl Aus Diagramm entfernen aus dem Klassendiagramm, aber nicht aus dem Projekt entfernt wurde. Unter Eingehende Querverweise werden fehlende eingehende Beziehungen mit Quellelement aufgelistet. Unter Ausgehende Querverweise werden fehlende ausgehende Beziehungen mit Zielelement aufgelistet.

Sie können ein fehlendes Elemente von der Ansicht Werkzeuge ins Klassendiagramm ziehen.

Wenn es sich bei dem selektierten Element um eine Klasse mit einer Beziehung zu einem Bibliotheksfunktionsbaustein handelt, dann wird diese Beziehung ebenfalls erkannt und kann als fehlendes Element angezeigt werden.

Prozedur. Querverweise anzeigen
  1. Wählen Sie den Befehl Ansicht → Werkzeuge.

  2. Selektieren Sie ein Rechteckelement im Klassendiagramm, das über Beziehungen verfügt, die nicht im Klassendiagramm dargestellt sind.

    Unter Werkzeuge werden diese Beziehungen aufgelistet.

    _uml_img_cd_crossrefs.png
Prozedur. Fehlende Elemente ins Diagramm einfügen
  • Ziehen Sie ein Element, das unter Eingehende Querverweise oder Ausgehende Querverweise aufgelistet wird, ins Klassendiagramm.

    Das Element wird im Klassendiagramm dargestellt.

Refactoring

Folgende Änderungen, die im Klassendiagramm-Editor vorgenommen werden, können über Refactoring einfach auf das gesamte Projekt angewendet werden:

  • Umbenennen von Variablen, Bausteinen oder Eigenschaften

  • Hinzufügen und Entfernen von Variablen des Typs VAR_INPUT, VAR_OUTPUT oder VAR_INOUT.

Tipp

Standardmäßig ist die Refactoring-Funktionalität und die zugehörige Vorschau () im Klassendiagramm aktiviert. Sie können diese jedoch über die Optionendialoge in ??? einschränken.

Beachten Sie dabei vor allem, dass in den Optionen für das UML Klassendiagramm der Vorschaudialog übersprungen werden kann und in diesem Fall die Änderung ohne Nachfrage projektweit angewendet wird.

Für weitere Informationen siehe: Dialog: Optionen: UML