Implementieren einer Schnittstelle

Die Implementierung von Schnittstellen basiert auf dem Konzept der objektorientierten Programmierung. Über gemeinsame Schnittstellen können Sie verschiedene, aber gleichartige Funktionsbausteine auch gleichartig verwenden.

Ein Funktionsbaustein, der eine Schnittstelle implementiert, muss alle Methoden und Eigenschaften enthalten, die in dieser Schnittstelle definiert sind (Schnittstellen-Methoden und Schnittstellen-Eigenschaften). Das bedeutet: Name, Rückgabetyp, Eingänge und Ausgänge der jeweiligen Methode oder Eigenschaft müssen exakt gleich sein. Wenn sich die Deklaration der Elemente in der Schnittstelle und in dem Funktionsbaustein unterscheiden oder wenn die Schnittstelle über weitere Elemente verfügt, die der Funktionsbaustein nicht enthält, meldet der Compiler einen Fehler.

Weiterführende Informationen zu den Anwendungsfällen einer Schnittstelle sowie ein Beispiel finden Sie im Abschnitt „Objekt Schnittstelle

Wenn Sie einen neuen Funktionsbausteins anlegen, der eine Schnittstelle implementiert, fügt TwinCAT automatisch alle Methoden und Eigenschaften dieser Schnittstelle unterhalb des neuen Funktionsbausteins im Baum ein.

Implementieren einer Schnittstelle 1:

Wenn Sie der Schnittstelle danach weitere Methoden oder Eigenschaften hinzufügen, fügt TwinCAT diese Elemente nicht automatisch auch in den betreffenden Funktionsbausteinen hinzu. Für die Aktualisierung müssen Sie explizit den Befehl Schnittstellen implementieren auswählen.

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. Weitere Informationen hierzu entnehmen Sie bitte der Hilfeseite zum Befehl Schnittstellen implementieren.

Implementieren einer Schnittstelle in einen neuen Funktionsbaustein

Das aktuell geöffnete Projekt besitzt mindestens ein Schnittstellen-Objekt.
1. Selektieren Sie das SPS-Projektobjekt oder einen Unterordner im SPS-Projektbaum und wählen Sie im Kontextmenü den Befehl Hinzufügen > POU…
Der Dialog POU hinzufügen öffnet sich.
2. Geben Sie einen Namen für den neuen Funktionsbaustein in das Eingabefeld Name ein, zum Beispiel „FB_SampleImp“.
3. Wählen Sie Funktionsbaustein.
4. Wählen Sie Implementiert und klicken Sie auf die Schaltfläche Implementieren einer Schnittstelle 2:.
5. Wählen Sie in der Eingabehilfe aus der Kategorie Schnittstellen die Schnittstelle zum Beispiel „I_Itf1“ und klicken Sie auf OK.
6. Um eine weitere Schnittstellen einzufügen, klicken Sie erneut auf Implementieren einer Schnittstelle 3: und wählen Sie eine weitere Schnittstelle aus.
7. Optional können Sie einen Zugriffsmodifizierer für den neuen Funktionsbaustein aus der Auswahlliste auswählen.
8. Wählen Sie aus der Auswahlliste Implementierungsprache zum Beispiel „Strukturierter Text (ST)“ aus.
9. Klicken Sie auf Öffnen.
TwinCAT fügt den Funktionsbaustein FB_SampleImp in den SPS-Projektbaum ein und der Editor öffnet sich. In der ersten Zeile steht:
FUNCTION_BLOCK FB_SampleImp IMPLEMENTS I_Itf1
Die Methoden und Eigenschaften der Schnittstelle sind jetzt im SPS-Projektbaum unter dem Funktionsbaustein eingefügt und Sie können nun Programmcode im Implementierungsteil der Methoden und Eigenschaften eingeben.

Implementieren einer Schnittstelle in einen bestehenden Funktionsbaustein

Das aktuell geöffnete Projekt besitzt einen Funktionsbaustein, zum Beispiel „FB_SampleImp“ und mindestens ein Schnittstellen-Objekt, zum Beispiel „I_Itf1“.
1. Doppelklicken Sie im SPS-Projektbaum auf die POU FB_SampleImp.
Der Editor der POU öffnet sich.
2. Erweitern Sie den bestehenden Eintrag der obersten Zeile FUNCTION_BLOCK FB_SampleImp mit IMPLEMENTS I_Itf1.
Der Funktionsbaustein FB_SampleImp implementiert die Schnittstelle I_Itf1.
3. Um die Elemente (Methoden oder Eigenschaften), die in der Schnittstelle definiert sind, aber im Funktionsbaustein noch nicht vorhanden sind, im Funktionsbaustein automatisch erzeugen zu lassen, können Sie den Befehl Schnittstellen implementieren ausführen, der im Kontextmenü des Funktionsbausteins im Projektbaum verfügbar ist.
Die Methoden und Eigenschaften der Schnittstelle sind jetzt im SPS-Projektbaum unter dem Funktionsbaustein eingefügt und Sie können nun Programmcode im Implementierungsteil der Methoden und Eigenschaften eingeben.

Siehe auch: