Ausnahmebehandlung - Allgemeine Informationen

 

Ausnahmebehandlung - Allgemeine Informationen

Einführung

Sie können Ausnahmen melden/auslösen, indem Sie die generierte boolsche (Ausnahme-) Variable, die zu einer Ausnahmedefinition gehört, auf setzen.TRUE

Dies können Sie im Logik-Code eines Moduls tun oder in einer Betriebsart bzw. in einem Zustand, wenn dort ein Fehler erkannt wird.

Liegt eine Reaktion an einem Modul an, können Sie z. B. im Logik-Code darauf reagieren.

Sie können die Reaktionen (Variablen) auch in einer Betriebsart abfragen und Bedingungen definieren, die z. B. die Betriebsart Auto bei der Reaktion ASYNC_STOP zum Wechsel in den Zustand Aborting veranlassen.

Ausnahmen

Für jede im Editor Definition von Ausnahmen erstellte Ausnahme wird Folgendes generiert:

oFür jede Ausnahme wird eine boolesche Variable als FB-Mitglied generiert.

Diese Variable können Sie im Logik-Code verwenden, um einen Fehler zu signalisieren.

oFür jede Ausnahme wird Code generiert, der die Ausnahme als einzelne Wert einer Methode an den FB_ExceptionList übergibt.

Wenn während der Programmlaufzeit ein Fehler auftritt (im Logik-Code wird die entsprechende boolesche Fehlervariable auf TRUE gesetzt), wird die entsprechende Codeposition in der Methode __exception handling ausgeführt und die Ausnahme in die Globale Ausnahmeliste aufgenommen. Es existiert keine zugehörige Datenstruktur, die den Fehler enthält.

Reaktionen

Für jede Liste der Reaktionen eines Moduls und für jede Liste der globalen Reaktionen wird jeweils eine Enumeration (ENUM) generiert. In jedem Fall wird durch Verwendung des Enumerations­namens Eindeutigkeit gewährleistet.

Beispiele:

oTYPE ET_Reaction_Axis1...END_TYPE - (für Reaktionen des Moduls Axis1)

oTYPE ET_Reaction_MainMachine...END_TYPE - (für Reaktionen des Moduls MainMachine)

oTYPE ET_Reaction...END_TYPE - (für globale Reaktionen)

Für jede Reaktion wird ein modulspezifischer (eindeutiger) Wert der Enumeration vergeben. Die Standard-Reaktionen des Moduls und der globalen Reaktionsliste haben dieselben Werte.

Zur Anzeige in IEC wird eine Funktion generiert, die den Namen einer Enumeration als STRING zurückliefert.