BECKHOFF CX1100-000x Benutzerhandbuch

Seite 51

Advertising
background image

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:

Advertising