BECKHOFF CX1100-000x Benutzerhandbuch
Seite 51

Fehlerbehandlung und Diagnose
Embedded-PC
49
....
IF k_bus_state = 1
THEN
(* auf dem K-Bus ist ein Fehler aufgetreten *)
k_bus_request := TRUE;
(* Anfordern der Fehlerwerte für die Register ErrCode
und ErrArg *)
CASE k_bus_err_code OF
0 : return;
(* Sollte nicht vorkommen, da ja Fehler vorliegt *)
1 : CASE k_bus_arg OF
0 : melde Fehler; (* EEPROM Prüfsummenfehler *)
1 : melde Fehler; (* Überlauf im Code Buffer *)
2 : melde Fehler; (* Unbekannter Datentyp *)
END_CASE;
2 : CASE k_bus_arg OF
0 : melde Fehler;
(* Programmierte Konfiguration, falscher
Tabelleneintrag *)
ELSE melde Fehler;
(* Falscher Tabelleneintrag *)
END_CASE;
3 : melde Fehler
(* K-Bus_Kommandofehler *)
4 : CASE k_bus_arg OF
0 : melde Fehler;
(* Bruchstelle hinter dem Netzteil *)
ELSE melde Fehler;
(* Bruchstelle hinter Busklemme 'k_bus_arg' *)
END_CASE;
5 : melde Fehler
(* K-Bus-Fehler bei Register-Kommunikation mit
Busklemme 'k_bus_arg' *)
9 : CASE k_bus_arg OF
0 : melde Fehler; (* Checksummenfehler im Programm-Flash *)
ELSE melde Fehler;
(* Die Busklemme 'k_bus_arg' stimmt nicht mit der
Konfiguration, die beim Erstellen des Boot-
Projektes existierte, überein*)
END_CASE;
14 : melde Fehler
(* 'k_bus_arg'-te Busklemme hat das falsche Format *)
15 : melde Fehler
(* Anzahl der Busklemmen stimmt nicht mehr*)
16 : melde Fehler
(* Länge der K-Bus-Daten stimmt nicht mehr*)
END_CASE
k_bus_request := TRUE;
(* Rücksetzen des Busses, wenn Fehler beseitigt, dann
startet der Klemmbus wieder *)
....
Damit die Steuerung und die Register zusammen arbeiten, müssen sie im System Manager verknüpft werden. Bindet
man das SPS-Programm im System Manager ein, so ergeben sich folgende Signale: