Skip to main content

Befehl: Erweiterungsmodule erzeugen

Symbol: ac_icon_create_extension.png

Der Befehl erzeugt ein Erweiterungsmodul an einem Submodul-Steckplatz. Er ist nur verfügbar, wenn ein leerer Modul-Steckplatz oder Submodul-Steckplatz im Modulbaum angewählt ist.

Der Befehl öffnet einen Dialog in dem Sie festlegen, ob die Erweiterung als neues Modul („Keine Variation“) oder als Variation eines bestehenden Moduls angelegt wird. Dazu werden alle Module, die unter den Slot passen, in einer Auswahlliste angeboten.

Zwei Optionen stehen zur Verfügung:

Variation ableiten

Das Erweiterungsmodul wird von dem unter Variation von gewählten Modul abgeleitet. Das gewählte Modul wird über IMPORTS“ in das Erweiterungsmodul importiert und der Funktionsbaustein des neuen Moduls wird von dem Modul-Vorlagen-Funktionsbaustein abgeleitet.

Copy source for Variation

Es wird ein Erweiterungsmodul erzeugt, indem die gesamte Moduldeklaration inklusive des Funktionsbausteins und der zugehörigen Visualisierungen von dem unter Variation von gewählten Modul kopiert wird (inkl. Quellcodes). Dies ist nur möglich, wenn das unter Variation von gewählte Modul im Quellcode vorhanden ist und nicht nur als Modul in einer Compiled-Library.

Erweiterungsmodule dienen dazu, anwendungsspezifische Änderungen oder Erweiterungen zu den bestehenden und vordefinierten Modulen oder Modulinstanzen hinzuzufügen.

Nach dem Schließen des Dialogs mit OK wird ein neuer Ordner mit dem Namen des Erweiterungsmodules im POUs-Pool angelegt.

In diesem Ordner werden folgende Objekte angelegt (<name> ist der Name des Erweiterungsmoduls):

  • Standard-Fall: Ein Funktionsbaustein mit Namen <name>, der die Klasse "Module“ erweitert und das vom Steckplatz geforderte Interface implementiert. Unter dem FB werden alle Methoden und Properties angelegt, die in einem implementierten Interface vorkommen, aber in keiner Basisklasse implementiert sind.

  • Variationsfall: Wie im Standard-Fall wird ein entsprechender Funktionsbaustein erzeugt. Dieser Funktionsbaustein leitet von dem gewählten Modulvorlagen-Funktionsbaustein ab (Variation ableiten) oder kopiert ihn (Variation aus Quelle kopieren).

  • Ein Imagepool und eine Textliste (Name IP_<Name> oder TL_<Name>). Der Imagepool enthält zwei Icons mit Bezeichner Icon_16 und Icon_32. Die Textliste enthält den Eintrag Desc (belegt mit <name>) Es gibt in der Textliste außer der Spalte Standard keine Sprachen.

  • Eine leere eingebettete Visualisierung mit Namen Visu_M_<name>, die die geforderte Schnittstelle implementiert. Falls Variation aus Quelle kopieren gewählt wurde, werden statt dessen die Visualisierungen des Quellnoduls kopiert.

  • Es wird ein Erweiterungsmodul angelegt, das keine Parameter und E/As hat und für seine Metadaten die oben angelegten Bilder, Texte und Visualisierungen verwendet. Die Kategorie ist "Extension“. Handelt es sich um eine "abgeleitete“ Variation wird über IMPORTS zusätzlich die Modulvorlagen-Deklaration importiert. Wenn es sich um eine "kopierte“ Variation handelt, dann wird die Deklaration der Modulvorlage kopiert und so angepasst, dass sie die entsprechenden Textlisten und Bildersammlungen des Erweiterungsmoduls verwendet.