-

Ausführungssteuerung: EN/ENO

Dieses Hilfekapitel enthält folgende Informationen:

Allgemeine Informationen zur Ausführungssteuerung mit EN/ENO

EN/ENO ermöglicht das bedingte Ausführen von Funktionen und Funktionsbausteinen gemäß der Norm IEC 61131-3. EN (Enable) ist der Freigabeeingang und ENO (Enable Out) der Freigabeausgang. Die Beschreibung und das Verhalten der beiden Formalparameter finden Sie unten.

Um POEs standardmäßig mit EN/ENO-Parametern in Arbeitsblätter einzufügen, müssen die entsprechenden Kontrollkästchen im 'Extras > Optionen'-Dialog in der Kategorie 'EN/ENO' aktiviert sein (siehe unten stehenden Abschnitt).

Hinweis
Die Einstellungen im 'Optionen'-Dialog betreffen nur POEs mit oder ohne EN/ENO-Parameter. Unabhängig von diesen Einstellungen wird die bedingte Ausführung immer während der Laufzeit berücksichtigt, wenn EN/ENO-Formalparameter im Code verwendet werden.

POEs mit und ohne EN/ENO-Parameter können in einem Arbeitsblatt bzw. dem Projekt gleichzeitig verwendet und ausgeführt werden.

EN/ENO ist verfügbar...

In der aktuellen PLCnext Engineer-Version ist EN/ENO nicht verfügbar für Firmware-Funktionsbausteine und sicherheitsbezogene PLCopen-Funktionsbausteine, die standardmäßig im Programmiersystem eingebunden sind. Die korrekte Ausführung dieser Bausteine kann durch Auswerten der entsprechenden Status-/Fehlerausgänge überwacht werden. Auch Methoden (von objektorientierten FBs) unterstützen kein EN/ENO.

Verhalten von EN/ENO

Die oben genannten Funktionen besitzen einen EN-Eingang und einen ENO-Ausgang. Diese Formalparameter werden zur Steuerung der Ausführung der POE verwendet. Eine neu in das Arbeitsblatt eingefügte POE, die EN/ENO unterstützt, besitzt standardmäßig die EN/ENO-Formalparameter, wenn das EN/ENO-Feature im 'Optionen'-Dialog aktiviert ist.

FormalparameterBedeutung
ENBoolescher Eingangs-Formalparameter, der die Ausführung der POE freigibt.
  • TRUE: POE wird ausgeführt. Wenn die POE ohne Fehler ausgeführt wird, wird der Ausgang ENO auf TRUE gesetzt.
  • FALSE: POE wird nicht ausgeführt. Der Ausgang ENO wird auf FALSE gesetzt.

    Wenn EN = FALSE ist, wird der letzte gültige Ausgangswert beim Steuern von EN auf FALSE gehalten (beachten Sie hierzu den folgenden Hinweis). (Gilt nicht für Strukturen und Felder.)

    Auch wenn EN = FALSE ist, werden die nachgeschalteten POEs trotzdem ausgeführt (es sei denn, die nachgeschalteten POEs werden ebenfalls durch EN=FALSE nicht ausgeführt).

    Hinweis
    Bei verschachtelten Funktionen wird der letzte gültige Wert nicht gehalten, wenn EN auf FALSE wechselt. Wenn innerhalb einer Funktion eine andere ("innere") Funktion aufgerufen wird und in der "inneren" Funktion EN auf FALSE gesetzt wird, wird der letzte gültige Ausgangswert der "inneren" Funktion nicht gehalten. Dies gilt auch dann, wenn bei einem internen Fehler die "innere" Funktion den letzten Wert hält.
    Der letzte Wert wird in der angeschlossenen Variablen gehalten (nicht geschrieben). Wenn der Ausgang mit einem Netzwerk verbunden ist, wird eine vom Compiler erzeugte Instanzvariable "dazwischengeschaltet" (wird auch nicht geschrieben).

Der Eingang EN muss nicht beschaltet werden. In diesem Fall wird bei Standard IEC 61131-3 Funktionen der Eingang mit dem Wert TRUE belegt und am Ausgang ENO TRUE ausgegeben, vorausgesetzt es liegt kein interner Fehler vor, der ENO auf TRUE steuert.
ENOBoolescher Ausgangs-Formalparameter, der anzeigt, ob die POE korrekt ausgeführt wurde.

Der Ausgang ENO muss nicht beschaltet werden.

Die meisten Standard-FUs/FBs verhalten sich wie folgt: Beachten Sie auch den unten stehenden Hinweis.
  • TRUE: POE wurde ausgeführt, da EN = TRUE ist oder EN nicht beschaltet ist. Bei der Ausführung der POE wurden keine Fehler festgestellt. Die Werte der anderen POE-Ausgänge sind korrekt.
  • FALSE: Dies kann einen der folgenden Gründe haben:
    • POE wurde nicht ausgeführt, da EN = FALSE ist oder
    • bei der Ausführung des Bausteins ein Fehler aufgetreten ist (z.B. Division durch Null oder Wertebereich des Ausgangsdatentyps überschritten).
Indem die EN-Eingänge anderer POEs oder Code-Elemente mit diesem ENO-Ausgang verbunden werden, hängt die weitere Ausführung des Programms von der fehlerfreien Ausführung ab.

Beispiel in FBS: bedingte Ausführung von zwei nacheinander geschalteten Funktionen

In ST sind der EN-Eingang und ENO-Ausgang beim Einfügen einer Funktion aus dem Bereich KOMPONENTEN per Drag & Drop bereits als Platzhalter enthalten (falls EN/ENO aktiviert ist). Im Funktionsaufruf können den Parametern direkt Variablen zugeordnet werden.

Beispiele in ST...