FB_IEC870_5_101ErrorFifo

FB_IEC870_5_101ErrorFifo 1:

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:

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)
Tc2_SerialCom (Communication->Serial)
Tc2_TcpIp (Communication->TcpIp)
Tc2_Utilities (System)