Befehl Schnittstellen implementieren

Funktion: Der Befehl aktualisiert für einen Funktionsbaustein die implementierten Schnittstellen, indem die Schnittstellenelemente hinzugefügt werden, die der Funktionsbaustein aktuell nicht enthält.

Aufruf: Kontextmenü, wenn der Funktionsbaustein im SPS-Projektbaum selektiert ist.

Voraussetzung: Der Funktionsbaustein implementiert eine Schnittstelle, die Sie verändert haben. Beispielsweise haben Sie der Schnittstelle eine weitere Methode hinzugefügt.

Anwendungsfälle

Bei Ausführung dieses Befehls werden die automatisch angelegten Methoden oder Eigenschaften mit einem Pragmaattribut versehen, welches Übersetzungsfehler oder ‑warnungen provoziert. Dadurch werden Sie dahingehend unterstützt, dass automatisch angelegte Elemente nicht unbeabsichtigt leer bleiben. Ob ein error- oder warning-Attribut verwendet wird, hängt vom Anwendungsfall ab.

Fall 1:

Situation: Der Funktionsbaustein, für den der Befehl Schnittstellen implementieren ausgeführt wird, ist nicht von einem anderen Funktionsbaustein abgeleitet.

Konsequenz: Bei Ausführung des Befehls werden die Schnittstellenelemente in dem Funktionsbaustein ohne Implementierung angelegt („Stubs“) und mit einem warning-Attribut versehen (in der ersten Zeile der Methoden-/Eigenschaftendeklaration). Durch die Warnungen, die beim Kompilieren erzeugt werden, werden Sie darauf aufmerksam gemacht, dass diese Elemente automatisch erzeugt wurden und der gewünschte Implementierungscode hinzugefügt werden muss.

{warning 'add method/property implementation'}

Vorgehen: Fügen Sie dem jeweiligen Schnittstellenelement (Methode oder Eigenschaft) den gewünschten Implementierungscode hinzu. Entfernen Sie anschließend das warning-Attribut aus der Methoden- bzw. Eigenschaftendeklaration.

Fall 2:

Situation: Der Funktionsbaustein, für den der Befehl Schnittstellen implementieren ausgeführt wird, ist von einem anderen Funktionsbaustein abgeleitet. Das Element (Methode oder Eigenschaft), das bei Ausführung des Befehls im abgeleiteten Funktionsbaustein angelegt wird, wird nicht über Vererbung von dem Basis-Funktionsbaustein zur Verfügung gestellt (d. h. das Element ist nicht unterhalb des Basis-Funktionsbausteins oder einer höheren Elternklasse vorhanden).

Konsequenz/Vorgehen: s. Fall 1.

Fall 3:

Situation: Der Funktionsbaustein, für den der Befehl Schnittstellen implementieren ausgeführt wird, ist von einem anderen Funktionsbaustein abgeleitet. Das Element (Methode oder Eigenschaft), das bei Ausführung des Befehls im abgeleiteten Funktionsbaustein angelegt wird, wird bereits über Vererbung von dem Basis-Funktionsbaustein zur Verfügung gestellt (d. h. das Element ist unterhalb des Basis-Funktionsbausteins oder einer höheren Elternklasse vorhanden).

Konsequenz: Bei Ausführung des Befehls wird das Schnittstellenelement in dem abgeleiteten Funktionsbaustein ohne Implementierung angelegt („Stub“) und mit einem error-Attribut versehen (in der ersten Zeile der Methoden-/Eigenschaftendeklaration). Durch den Fehler, der beim Kompilieren erzeugt wird, werden Sie darauf aufmerksam gemacht, dass dieses Schnittstellenelement automatisch erzeugt wurde und dass diese Methode oder Eigenschaft das entsprechende Element des Basis-Funktionsbausteins überschreibt.

{error 'add method/property implementation or delete method/property to use base implementation'}

Vorgehen: Falls Sie die Methode oder Eigenschaft des Basis-Funktionsbausteins überschreiben oder erweitern möchten, fügen Sie dem Element unterhalb des abgeleiteten Bausteins den gewünschten Implementierungscode hinzu. Entfernen Sie anschließend das error-Attribut aus der Methoden- bzw. Eigenschaftendeklaration. Falls Sie die Methode oder Eigenschaft des Basis-Funktionsbausteins hingegen nicht überschreiben möchten, löschen Sie die Methode oder Eigenschaft unterhalb des abgeleiteten Funktionsbausteins. Dadurch wird die Methoden- bzw. Eigenschaftenimplementierung des Basis-Funktionsbausteins verwendet.