FB_IEC870_5_101ErrorFifo
IEC 60870-5-10x Fehler-Fifo. Der älteste Eintrag wird immer überschrieben. Der Fifo hat eine konstante Größe. Die Größe wird durch die Konstante: IEC870_MAX_ERROR_FIFO_SIZE bestimmt (default: 10 Elemente).
Der Funktionsbaustein besitzt drei Aktionen:
- AddError (fügt eine neue Fehlermeldung dem Fifo hinzu);
- RemoveError (entfernt die älteste Fehlermeldung aus dem Fifo);
- Reset (löscht alle Fehlermeldungen, setzt den Fifo zurück);
Im Normalfall werden die Fehlermeldungen durch die internen IEC 60870-5-10x Gerätefunktionen dem Fifo hinzugefügt. Die SPS-Applikation kann diese Fehlermeldungen durch den Aufruf der Aktion: RemoveError auslesen und auswerten.
VAR_INPUT
VAR_INPUT
putError : ST_IEC870_5_101ErrorFifoEntry;
putObj : ST_IEC870_5_101AOGen;
END_VAR
putError: Fehlermeldung, die dem Fifo hinzugefügt werden soll.
putObj : Zusätzliche Information zum Applikationsobjekt (Datenpunkt) auf den sich die Fehlermeldung bezieht. Diese Information ist optional und nicht immer vorhanden.
VAR_OUTPUT
VAR_OUTPUT
getError: ST_IEC870_5_101ErrorFifoEntry;
nErrors : UDINT;
bOk : BOOL;
getObj : ST_IEC870_5_101AOGen;
END_VAR
getError: Fehlermeldung, die aus dem Fifo entfernt wurde.
nErrors: Liefert die aktuelle Anzahl Fifo-Einträge (Fehlermeldungen im Fifo).
bOk: Diese Variable wird TRUE, wenn ein neuer Eintrag erfolgreich hinzugefügt oder aus dem Fifo entfernt wurde.
getObj : Zusätzliche Information zum Applikationsobjekt (Datenpunkt) auf den sich die Fehlermeldung bezieht. Diese Information ist optional und nicht immer vorhanden.
Beispiel in ST:
Im folgenden ST-Beispiel wird der Gerätefehler-Fifo ausgelesen und die registrierten Fehler ins TwinCAT XAE->"Error List" geschrieben.
PROGRAM P_LogErrors
VAR_IN_OUT
fbErrors : FB_IEC870_5_101ErrorFifo;
END_VAR
REPEAT
fbErrors.RemoveError();
IF fbErrors.bOk THEN
ADSLOGSTR( ADSLOG_MSGTYPE_ERROR OR ADSLOG_MSGTYPE_LOG, 'IEC 60870-5-10x device error: 0x%s',
DWORD_TO_HEXSTR( fbErrors.getError.nErrId, 8, FALSE) );
END_IF
UNTIL NOT fbErrors.bOk
END_REPEAT
Voraussetzungen
Entwicklungsumgebung |
Zielplattform |
Einzubindende SPS Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.4012.0 |
PC oder CX (x86, x64, ARM) |
Tc2_IEC60870_5_10x (Communication->IEC60870) |