FB_CopyExceptionList – Allgemeine Informationen
Typ |
Funktionsbaustein |
Verfügbar ab |
V1.0.4.0 |
Übernommen aus |
- |
Implementiert |
- |
Eine Kopie der Ausnahmeliste erstellen, um sie als HMI zur Anzeige zu bringen oder eigene Auswertungen darauf auszuführen
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_uiNumberOfExceptions wird die Zahl der Ausnahmen in der Liste ausgegeben.
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 |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Fehlermeldung. |
|
q_etDiagExt |
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 |
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. |
q_etDiag |
q_etDiagExt |
Aufzählungswert |
Beschreibung |
---|---|---|---|
OK |
22 |
Diagnosemeldung ist deaktiviert. |
|
OK |
82 |
Die Ablaufzeit wurde aktualisiert. |
|
OK |
80 |
Die ExceptionList wurde kopiert. |
|
OK |
81 |
Die Ausnahmeliste hat sich nicht verändert. |
|
OK |
37 |
Initialisierung |
|
OK |
50 |
Wartet auf den Kopiervorgang. |
|
UnexpectedProgramBehavior |
46 |
Die Initialisierung der Ausnahmeliste schlug fehl. |
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.
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.
Aufzählungsname: |
ExceptionListCopied |
Aufzählungswert: |
80 |
Beschreibung: |
Die ExceptionList wurde kopiert. |
Die Ausnahmeliste wurde kopiert.
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.
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. |
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.
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.