Die Verwendung von Schnittstellen ist ein Mittel der objektorientierten Programmierung. Eine Schnittstellen-POU definiert eine Reihe von Methoden und Eigenschaften ohne Implementierung. Eine Schnittstelle kann als leere Hülle eines Funktionsbausteins betrachtet werden. Sie muss im Deklarationsteil eines Funktionsbausteins implementiert sein, damit sie anschließend in den Funktionsbausteininstanzen realisiert werden kann. Ein Funktionsbaustein kann eine oder mehrere Schnittstellen implementieren.
Somit kann dieselbe Methode mit identischen Parametern, aber unterschiedlichem Implementierungscode in verschiedenen Funktionsbausteinen realisiert werden. Das ermöglicht, eine Schnittstelle in einer POU zu verwenden/aufzurufen, ohne dass diese POU identifizieren muss, welcher Funktionsbaustein betroffen ist.
Eine Schnittstelle IFT
ist unterhalb einer Applikation eingefügt. Sie beinhaltet die zwei Methoden Method1
und Method2
. Weder die Schnittstelle noch die Methoden enthalten einen Implementierungscode. Nur der Deklarationsteil der Methoden muss mit den benötigten Variablendeklarationen gefüllt werden:
Schnittstelle mit zwei Methoden:
Es können nun durch Implementierung der zuvor definierten Schnittstelle ITF
einer oder mehrere Funktionsbausteine eingefügt werden.
Erstellen eines Funktionsbausteins durch Implementierung einer Schnittstelle
Wenn der Funktionsbaustein POU
zur hinzugefügt wird, werden die Methoden Method1
und Method2
– wie von ITF
definiert – automatisch eingefügt. An dieser Stelle können Sie mit dem funktionsbausteinspezifischen Implementierungscode gefüllt werden.
Verwenden der Schnittstelle in der Funktionsbausteindefinition
Schnittstellen können durch eine andere Schnittstelle mithilfe von EXTENDS
(siehe unten Beispiel für das Erweitern einer Schnittstelle) in der Schnittstellendefinition erweitert werden.
Eine Schnittstelle kann auch eine Schnittstelleneigenschaft definieren, die aus den Accessor-Methoden Get
und/oder Set
besteht. Weitere Informationen zu Eigenschaften finden Sie im Kapitel Eigenschaften. Eine Eigenschaft in einer Schnittstelle, wie auch die möglicherweise enthaltenen Methoden, ist nur ein Prototyp, d. h. sie enthält keinen Implementierungscode. Wie die Methoden wird sie automatisch dem Funktionsbaustein hinzugefügt, der die Schnittstelle implementiert und kann dort mit spezifischem Programmcode gefüllt werden.
Beachten Sie Folgendes:
Es ist nicht erlaubt, Variablen innerhalb einer Schnittstelle zu deklarieren. Eine Schnittstelle hat keinen Rumpf (Implementierungssteil) und keine Aktionen. Nur eine Sammlung von Methoden ist innerhalb einer Schnittstelle definiert und diese Methoden dürfen nur Eingangs-, Ausgangs- und Ein-/Ausgangsvariablen haben.
Variablen, die mit dem Typ einer Schnittstelle deklariert sind, werden immer als Referenzen behandelt.
Einem Funktionsbaustein, der eine Schnittstelle implementiert, müssen Methoden und Eigenschaften zugewiesen sein, die genau so benannt sind wie in der Schnittstelle und die genau dieselben Ein-, Ausgangs- und Ein-/Ausgangsvariablen enthalten.
Um einer Applikation eine Schnittstelle hinzuzufügen, wählen Sie den Knoten
in der oder im Logikkatalog aus, klicken Sie auf die grüne Plus-Schaltfläche und wählen Sie aus. Alternativ können Sie den Befehl ausführen. Wenn Sie den Knoten vor Ausführen des Befehls auswählen, ist die neue Schnittstelle für alle Applikationen verfügbar.Geben Sie im Dialogfeld erweitern soll.
einen Namen für die neue Schnittstelle ein (<Schnittstellenname>). Optional kann die Option aktiviert werden, wenn die aktuelle Schnittstelle eine andere
Wenn ITF1
die Schnittstelle ITF_base
erweitert wird, sind alle von ITF_base
beschriebenen Methoden automatisch in ITF1
verfügbar.
Erweitern einer Schnittstelle
Nach Bestätigung der Einstellungen mit
wird das Editorfenster für die neue Schnittstelle geöffnet.Syntax
INTERFACE <Schnittstellenname>
bzw. für eine Schnittstelle, die eine andere erweitert:
INTERFACE <Schnittstellenname> EXTENDS <Name der Basisschnittstelle>
Beispiel
INTERFACE interface1 EXTENDS interface_base
Um die Definition der Schnittstelle zu vervollständigen, müssen die gewünschten Methoden hinzugefügt werden. Wählen Sie zu diesem Zweck den entsprechenden Schnittstellenknoten in der
aus und führen Sie den Befehl aus. Das Dialogfeld wird geöffnet, um der Schnittstelle eine Methode zuzuweisen. Alternativ wählen Sie den Schnittstellenknoten in der , klicken Sie auf die grüne Plus-Schaltfläche, und wählen Sie den Befehl aus. Sie können beliebig viele Methoden hinzufügen. Beachten Sie, dass diese Methoden nur Eingangs-, Ausgangs- und Ein-/Ausgangs-Variablen, aber keinen Rumpf (Implementierungsteil) enthalten dürfen.