FB_CopyExceptionList

 

FB_CopyExceptionList – Allgemeine Informationen

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.0.4.0

Übernommen aus

-

Implementiert

-

Aufgabe

Eine Kopie der Ausnahmeliste erstellen, um sie als HMI zur Anzeige zu bringen oder eigene Auswertungen darauf auszuführen

Beschreibung

Die Ausnahmeliste wird nur kopiert, wenn sie sich verändert hat. Hierzu wird mit den Funktionen, die die Liste manipulieren, über die Variable udiExceptionListChangeCounter in der Ausnahmeliste kommuniziert. Diese Kommunikation ist mehrbenutzerfähig. Das bedeutet, dass in einem Projekt beliebig viele Instanzen der POU FB_CopyExceptionList zur Pflege von jeweils einer Kopie der Ausnahmeliste eingesetzt werden können.

Infolgedessen werden die Variablen, die anzeigen, wie lange eine Ausnahme bereits aktiv ist (todElapsedTime), nicht aktualisiert. Falls diese Zeitstempel für den Anwender relevant sind, kann er unabhängig vom Kopieren der Ausnahmeliste eine Aktualisierung der Zeitstempel erzwingen. Hierzu muss er den Eingang i_timElapsedTimeUpdate verwenden. Die Kopie der Liste wird in der Variablen iq_astException abgelegt. Über die Variable iq_uiNumberOfEx­ceptions wird die Zahl der Ausnahmen in der Liste ausgegeben.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_xEnable

BOOL

Eine steigende Flanke FALSE -> TRUE aktiviert die POU, eine fallende Flanke TRUE -> FALSE deaktiviert sie.

Wenn die POU abgeschaltet ist, führt sie keine Aktionen aus.

i_xCopy

BOOL

Aktivieren/Deaktivieren des Kopierens.

i_timElapsedTimeUpdate

TIME := t#2s

Wie alt dürfen die Zeitstempel (todElapsedTime) sein, die anzeigen, wie lange eine Ausnahme bereits in der Liste enthalten ist? Die Zeitstempel werden mindestens alle i_timElapsedTimeUpdate aktualisiert. Wenn der Eingang auf T#0ms gesetzt wird, ist die Funktionalität deaktiviert. Die Zeitstempel werden nur aktualisiert, wenn die Ausnahmeliste kopiert wird. Da die Zeitstempel nur für die Anzeige in der Visualisierung und an der HMI verwendet werden, wird für diesen Eingang ein Wert zwischen T#500ms und T#2s empfohlen.

Ausgang

Datentyp

Beschreibung

q_xActive

BOOL

TRUE: Die POU ist eingeschaltet und muss weiter ausgeführt werden.

FALSE: Die POU ist abgeschaltet.

q_xReady

BOOL

TRUE: Die POU ist betriebsbereit und nimmt Benutzerbefehle entgegen.

FALSE: Die POU ist nicht bereit, Anwenderbefehle entgegenzunehmen.

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Fehlermeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer Ausgang des Diagnosegeräts.

q_etDiag = GD.ET_Diag.Ok -> Statusmeldung

q_etDiag <> GD.ET_Diag.Ok -> Diagnosemeldung

Ein-/Ausgang

Datentyp

Beschreibung

iq_stExceptionList

ST_ExceptionList

Ausnahmeliste, aus der die Ausnahmen kopiert werden sollen.

iq_astException

ARRAY[1..Gc_udiMaxNumberOfExceptions] OF ST_Exception

In diesem Array wird die Kopie der Ausnahmeliste abgelegt.

iq_udiNumberOfExceptions

UDINT

Anzahl der belegten Ausnahmen in der Kopie der Ausnahmeliste.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Aufzählungswert

Beschreibung

OK

Disabled

22

Diagnosemeldung ist deaktiviert.

OK

ElapsedTimeUpdated

82

Die Ablaufzeit wurde aktualisiert.

OK

ExceptionListCopied

80

Die ExceptionList wurde kopiert.

OK

ExceptionListNoChange

81

Die Ausnahmeliste hat sich nicht verändert.

OK

Initializing

37

Initialisierung

OK

WaitForCopy

50

Wartet auf den Kopiervorgang.

UnexpectedProgramBehavior

InitExceptionListFailed

46

Die Initialisierung der Ausnahmeliste schlug fehl.

Disabled

Aufzählungsname:

Disabled

Aufzählungswert:

22

Beschreibung:

Diagnosemeldung ist deaktiviert.

Der Funktionsbaustein ist deaktiviert und führt keinerlei Aktionen aus. i_xEnable und q_xActive sind auf FALSE gesetzt.

ElapsedTimeUpdated

Aufzählungsname:

ElapsedTimeUpdated

Aufzählungswert:

82

Beschreibung:

Die Ablaufzeit wurde aktualisiert.

Die Zeit, wie lange eine Ausnahme bereits aktiv ist, wurde in der Kopie der Ausnahmeliste aktualisiert.

ExceptionListCopied

Aufzählungsname:

ExceptionListCopied

Aufzählungswert:

80

Beschreibung:

Die ExceptionList wurde kopiert.

Die Ausnahmeliste wurde kopiert.

ExceptionListNoChange

Aufzählungsname:

ExceptionListNoChange

Aufzählungswert:

81

Beschreibung:

Die Ausnahmeliste hat sich nicht verändert.

Die Ausnahmeliste wurde nicht kopiert. Seit dem letzten Kopiervorgang hat sich in der Ausnahmeliste nichts verändert.

InitExceptionListFailed

Aufzählungsname:

InitExceptionListFailed

Aufzählungswert:

46

Beschreibung:

Die Initialisierung der Ausnahmeliste schlug fehl.

Problem

Ursache

Lösung

-

Die Initialisierung der Ausnahmeliste schlug fehl. - Es ist ein interner Ausführungsfehler aufgetreten.

Versuchen Sie eine Initialisierung der Ausnahmeliste mit Hilfe der Funktion FC_InitExceptionList.

Bitte informieren Sie das Supportteam über diesen Fehler.

Initializing

Aufzählungsname:

Initializing

Aufzählungswert:

37

Beschreibung:

Initialisierung

Der Funktionsbaustein wird initialisiert und ist daher noch nicht bereit, Befehle an den Eingängen entgegenzunehmen.

Der Funktionsbaustein meldet seine Betriebsbereitschaft mit dem Signal q_xReady = TRUE.

WaitForCopy

Aufzählungsname:

WaitForCopy

Aufzählungswert:

50

Beschreibung:

Wartet auf den Kopiervorgang.

Die POU hat ihre Initialisierung abgeschlossen und wartet auf i_xCopy = TRUE, bevor sie mit der Abarbeitung fortfährt.