5
Fehlerbehandlung und Diagnose
5.1
Diagnose im SPS-Programm
Zur Analyse des Klemmbus (K-Bus und IP-Link) kann auf die in der Architektur beschriebenen Register über
TwinCAT von einem SPS-Programm zugegriffen werden. Dazu muss die Klemmbusanbindung auf
erweitertes DPRAM Model geschaltet (Firmware > B3) sein. Mit diesen Einstellungen wird in TwinCAT das
erweiterte Registermodell aktiviert.
Die einzelnen Register, die in der Architekturbeschreibung erklärt sind sind als SPS-Datentypen verfügbar.
Im folgenden wird die Fehleranalyse als Beispiel vorgestellt. Die Vorgehensweise ist für beide Sub-Busse
identisch, daher wird in den Beschreibungen die Signale nur allgemein erklärt.
Für die Fehleranalyse werden im Wesentlichen vier Signale/Variablen benötigt:
• BusState (gibt den Zustand des Busses an: 0 -> kein Fehler, 1 -> Busfehler)
• ErrorCode (entspricht dem Errorcode beim Blinkcode der DiganoseLEDs)
• ErrorArg (entspricht dem Argument-Code beim Blinkcode der DiganoseLEDs)
• Request[0] (Ausgang zum Anfordern / Rücksetzen des Busses)
In dem SPS-Programm müssen dazu analog externe Variablen angelegt werden:
VAR
k_bus_request AT %QX0.0 : BOOL;
k_bus_err_code AT %IB0 : USINT;
k_bus_err_arg AT %IB1 : USINT;
k_bus_state AT %IB2 : USINT;
ip_bus_request AT %QX0.1 : BOOL;
ip_bus_err_code AT %IB3 : USINT;
ip_bus_err_arg AT %IB4 : USINT;
ip_bus_state AT %IB5 : USINT;
END_VAR
In dem SPS Programm kann dann der Fehler wie folgt bestimmt werden (es handelt sich hier um
Pseudocode, der so direkt nicht lauffähig ist)
....
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 Er-
rArg *)
CX1100-00xx
Version: 2.1
Fehlerbehandlung und Diagnose
55