EcoStruxure Machine Expert Version 1.1 unterstützt nicht die Controller M258, LMC058 und LMC078.

Schnittstelle

Überblick

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 Implementie­rungscode 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.

Beispiel für eine Schnittstellendefinition und die Verwendung in einem Funktionsbaustein

Eine Schnittstelle IFT ist unterhalb einer Anwendung eingefügt. Sie beinhaltet zwei Methoden Method1 und Method2. Weder die Schnittstelle noch die Methoden enthalten einen Implementie­rungscode. Nur der Deklarationsteil der Methoden muss mit den benötigten Variablendeklarationen gefüllt werden:

Schnittstelle mit zwei Methoden:

G-SE-0027215.2.gif-high.gif

 

 

Es können nun durch Implementierung der zuvor definierten Schnittstelle ITF ein oder mehrere Funktionsbausteine eingefügt werden.

Erstellen eines Funktionsbausteins durch Implementierung einer Schnittstelle

G-SE-0027199.2.gif-high.gif

 

 

Wenn der Funktionsbaustein POU zur Anwendungsbaumstruktur 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

G-SE-0027217.2.gif-high.gif

 

 

Schnittstellen können durch eine andere Schnittstelle mithilfe von EXTENDS (siehe unten Beispiel für das Erweitern einer Schnittstelle) in der Schnittstellendefinition erweitert werden.

Schnittstelleneigenschaften

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.

Überlegungen

Beachten Sie Folgendes:

oEs 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.

oVariablen, die mit dem Typ einer Schnittstelle deklariert sind, werden immer als Referenzen behandelt.

oEinem 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.

HINWEIS: Beim Kopieren oder Verschieben einer Methode oder Eigenschaft von einer POU in eine Schnittstelle werden die enthaltenen Implementierungen automatisch gelöscht. Beim Kopieren oder Verschieben von einer Schnittstelle in eine POU werden Sie zur Angabe der gewünschten Implementierungssprache aufgefordert.

Einfügen einer Schnittstelle

Um einer Anwendung eine Schnittstelle hinzufügen, wählen Sie den Knoten Applikation in der Anwendungsbaumstruktur oder im Logikkatalog > Assets aus, klicken Sie auf die grüne Plus-Schaltfläche, und wählen Sie Andere Objekte hinzufügen > Schnittstelle. Alternativ können Sie den Befehl Objekt hinzufügen > Schnittstelle ausführen. Wenn Sie den Knoten Global vor Ausführen des Befehls auswählen, ist die neue Schnittstelle für alle Anwendungen verfügbar.

Geben Sie im Dialogfeld Schnittstelle hinzufügen einen Namen für die neue Schnittstelle ein (<Schnittstellenname>). Optional kann die Option Erweitert: aktiviert werden, wenn die aktuelle Schnittstelle eine andere erweitern soll.

Beispiel für das Erweitern einer Schnittstelle

Wenn ITF1 die Schnittstelle ITF_base erweitert wird, sind alle von ITF_base beschriebenen Methoden automatisch in ITF1 verfügbar.

Erweitern einer Schnittstelle

G-SE-0027216.2.gif-high.gif

 

 

Nach Bestätigung der Einstellungen mit Hinzufügen wird das Editorfenster für die neue Schnittstelle geöffnet.

Deklarieren einer Schnittstelle

Syntax

INTERFACE <Schnittstellenname>

bzw. für eine Schnittstelle, die eine andere erweitert:

INTERFACE <Schnittstellenname> EXTENDS <Name der Basisschnittstelle>

Beispiel

INTERFACE interface1 EXTENDS interface_base

Hinzufügen der gewünschten Sammlung von Methoden

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 Anwendungsbaumstruktur aus und führen Sie den Befehl Schnittstellenmethode aus. Das Dialogfeld Add Interface Method wird geöffnet, um der Schnittstelle eine Methode zuzuweisen. Alternativ wählen Sie den Schnittstellenknoten in der Anwendungsbaumstruktur, klicken Sie auf die grüne Plus-Schaltfläche, und wählen Sie den Befehl Schnittstellenmethode 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.