Hinzufügen und Aufrufen von POU-Objekten

Einführung

Sie können Ihrer Anwendung POU-Objekte (Program Organization Unit, Programmorganisationseinheit) in der Anwendungsbaumstruktur hinzufügen.

Folgende Typen von POU-Objekten sind vorhanden:

  • Programm: Gibt während des Betriebs einen oder mehrere Werte zurück. Die Werte werden von der letzten Ausführung des Programms bis zur nächsten Programmausführung gespeichert. Dieses POU-Objekt kann von einem anderen POU-Objekt aufgerufen werden.

  • Funktionsbaustein: Stellt einen oder mehrere Werte während der Verarbeitung eines Programms bereit. Im Gegensatz zu einer Funktion werden die Werte der Ausgangsvariablen und der erforderlichen internen Variablen von einer Ausführung des Funktionsbausteins bis zur nächsten gespeichert. Deshalb ergibt der Aufruf eines Funktionsbausteins mit denselben Argumenten (Eingangsparametern) nicht zwangsläufig dieselben Ausgangswerte.

  • Funktion: Liefert genau ein Datenelement (das aus mehreren Elementen bestehen kann, wie z. B. Felder oder Strukturen), wenn es verarbeitet wird. Der Aufruf in Textsprachen kann in Form eines Operators in Ausdrücken erfolgen.

Hinzufügen von POU-Objekten in einer Anwendung

Gehen Sie vor wie folgt, um ein POU-Objekt in Ihrer Anwendung hinzuzufügen:

Schritt

Aktion

1

Klicken Sie mit der rechten Maustaste auf den Knoten Anwendung der Steuerung und wählen Sie Objekt hinzufügen > POU aus.

Die beiden Methoden sind auch in der Anwendungsbaumstruktur verfügbar.

Ergebnis: Das Dialogfeld POU hinzufügen wird geöffnet.

2

Weisen Sie dem POU-Objekt im Dialogfeld POU hinzufügen einen Namen zu, indem Sie einen Namen in das Textfeld Name eingeben.

HINWEIS: Der Name darf keine Leerzeichen enthalten. Wenn Sie keinen Namen eingeben, wird ein Standardname zugewiesen.

Die Zuweisung aussagekräftiger Namen für die POUs kann die Organisation Ihres Projekts vereinfachen.

3

Wählen Sie den gewünschten POU-Objekttyp aus:

  • Programm

  • Funktionsbaustein:

    1. Wenn Sie möchten, dass Ihr Funktionsbaustein einen bereits vorhandenen Funktionsbaustein erweitert, wählen Sie Erweitert aus und klicken Sie auf den Browser, um den gewünschten Funktionsbaustein in der Eingabehilfe auszuwählen.

    2. Klicken Sie auf die Schaltfläche OK.

    3. Wenn Ihr Funktionsbaustein eine Schnittstelle implementieren soll, wählen Sie Implementiert aus und klicken Sie auf den Browser, um die gewünschte Schnittstelle in der Eingabehilfe auszuwählen.

      Die Methoden, die mit der Schnittstelle definiert werden, werden mit der POU erstellt.

    4. Klicken Sie auf die Schaltfläche OK.

    5. Um einen von Ihrem Funktionsbaustein abgeleiteten Zugriff zu verhindern, aktivieren Sie die Option Final. Der Funktionsbaustein kann nicht auf einen anderen erweitert werden. Dies ermöglicht eine optimierte Codegenerierung.

    6. Aktivieren Sie die Option Kurzfassung, um anzugeben, dass der Funktionsbaustein über eine unvollständige oder keine Implementierung verfügt und nicht instanziiert werden kann. Der Funktionsbaustein wird ausschließlich als Basis-Funktionsbaustein verwendet und die Implementierung normalerweise in einem abgeleiteten Funktionsbaustein durchgeführt.

    7. Wenn Ihr Funktionsbaustein eine Schnittstelle implementiert, wählen Sie im Listenfeld Sprache der Methodenimplementierung die Programmiersprache aus, die Sie zur Bearbeitung der in der implementierten Schnittstelle definierten Methoden und Eigenschaften verwenden möchten.

  • Funktion:

    1. Klicken Sie auf die Durchsuchen-Schaltfläche, um den gewünschten Rückgabetyp in der Eingabehilfe auszuwählen.

    2. Klicken Sie auf die Schaltfläche OK.

4

Wählen Sie im Listenfeld Implementierungssprache die Programmiersprache aus, die Sie für die Bearbeitung Ihres POU-Objekts verwenden möchten.

5

Klicken Sie auf die Schaltfläche Öffnen.

Zuweisen von Programmen zu einer Task

Einer Task muss mindestens ein Programm zugewiesen werden. Gehen Sie vor wie folgt, um einer Task ein Programm zuzuweisen:

Schritt

Aktion

1

Unter dem Knoten Taskkonfiguration der Steuerung: Doppelklicken Sie auf die Task, der Sie Ihr Programm hinzufügen möchten. Klicken Sie auf der Registerkarte Konfiguration auf Aufruf hinzufügen.

Alternativ können Sie in der Anwendungsbaumstruktur die Task auswählen, der Sie Ihr Programm zuweisen möchten, und dann auf die grüne Plus-Schaltfläche klicken. Führen Sie den Befehl Programmaufruf... aus der Liste aus. Klicken Sie auf die Schaltfläche ....

Ergebnis: Das Dialogfeld Eingabehilfe wird angezeigt.

2

Wählen Sie auf der Registerkarte Kategorien des Dialogfelds Eingabehilfe Programme aus.

3

Klicken Sie, um das Kontrollkästchen Strukturierte Ansicht zu deaktivieren.

4

Wählen Sie im Bereich Objekte die gewünschte POU aus.

5

Klicken Sie auf die Schaltfläche OK.

Aufrufen von POUs

POUs können andere POUs aufrufen. Eine Rekursion ist nicht zulässig (eine POU, die sich selbst aufruft).

Wenn eine einer Anwendung zugewiesene POU eine andere POU nur mit ihrem Namen aufruft (ohne hinzugefügten Namensraum), beachten Sie folgende Reihenfolge beim Durchsuchen des Projekts nach der aufzurufenden POU:

1.

Aktuelle Anwendung

2.

Bibliotheksverwaltung der aktuellen Anwendung in der Tools-Baumstruktur

3.

Knoten Global der Anwendungsbaumstruktur

4.

Bibliotheksverwaltung im Knoten Global der Tools-Baumstruktur

Wenn eine POU mit dem im Aufruf angegebenen Namen in einer Bibliothek der Bibliotheksverwaltung der Anwendung sowie in einem Objekt im Knoten Global der Anwendungsbaumstruktur verfügbar ist, gibt es keine Syntax für den expliziten Aufruf der POU im Knoten Global der Anwendungsbaumstruktur, sondern es wird nur ihr Name verwendet. Verschieben Sie in diesem Fall die entsprechende Bibliothek aus der Bibliotheksverwaltung der Anwendung in die Bibliotheksverwaltung des Knotens Global der Anwendungsbaumstruktur. Anschließend können Sie die POU aus dem Knoten Global der Anwendungsbaumstruktur nur über ihren Namen (und, falls erforderlich, den Namen aus der Bibliothek, der dem Namensbereich der Bibliothek vorangestellt ist) aufrufen.

Weitere Informationen finden Sie im Kapitel POUs für implizite Prüfungen.