Übertragungs- und Kommunikationsfehler

Hier können Sie die kompletten SPS-Sourcen entpacken: TutorialSample.zip

Die Stationsfehlermeldungen werden in einem FIFO abgelegt. Es können bis zu 10 Fehlermeldungen zwischengespeichert werden. Bei fatalen Kommunikationsfehlern (z.B. Fehler der Verbindungsschicht, die Checksumme des Frames passt nicht) wird die Verbindung unterbrochen und muss neu aufgebaut werden. Fehler in der Applikationsschicht (z.B. der ASDU-Sendepuffer ist wegen zu vieler Frames übergelaufen) werden nur geloggt und führen nicht zum Verbindungsabbruch. Es immer noch möglich auch bei diesen Fehlern die Verbindung aus der Applikation zu unterbrechen. Neben dem Fehler-Code wird auch die Fehlerquelle in der Fehlermeldung abgelegt. Dieses erleichtert die Lokalisierung des Fehlers.

Beispiel

Die anfallenden Fehlermeldungen einer 60870-5-104 Zentralstation können durch folgenden Aufruf ausgelesen werden:

PROGRAM MAIN
VAR
...

    client : FB_IEC870_5_104Master;

...
END_VAR
...

REPEAT
    client.system.device.errors.RemoveError( );
    IF client.system.device.errors.bOk THEN
        ADSLOGSTR( ADSLOG_MSGTYPE_ERROR OR ADSLOG_MSGTYPE_LOG,
            'IEC60870-5-104 master error: 0x%s',
            DWORD_TO_HEXSTR( client.system.device.errors.getError.nErrId, 8, FALSE) );
    END_IF
UNTIL NOT client.system.device.errors.bOk
END_REPEAT

...