Diagnose im SPS-Programm

Zur Analyse des Klemmbus (K-Bus) kann auf das Register State über TwinCAT von einem SPS-Programm zugegriffen werden.

Diagnose im SPS-Programm 1:

Im Folgenden wird die Fehleranalyse als Beispiel vorgestellt.

Für die Fehleranalyse werden im Wesentlichen ein Signal/Variable benötigt:

In dem SPS-Programm müssen dazu analog externe Variablen angelegt werden:


VAR

    k_bus_state AT %IB2 : 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 != 0 THEN     (* auf dem K-Bus ist ein Fehler aufgetreten *)

IF k_bus_state.1 = 1 THEN melde Fehler; (* Klemmenzustandsfehler *) END_IF
IF k_bus_state.2 = 1 THEN melde Fehler; (* Prozessdatenlänge ungültig *) END_IF
IF k_bus_state.8 = 1 THEN melde Fehler; (* keine gültigen Eingänge *) END_IF
IF k_bus_state.9 = 1 THEN melde Fehler; (* K_bus Input Update ist aktiv *) END_IF
IF k_bus_state.10 = 1 THEN melde Fehler; (* K_bus Output Update ist aktiv *) END_IF
IF k_bus_state.11 = 1 THEN melde Fehler; (* Watchdog Fehler *) END_IF
IF k_bus_state.15 = 1 THEN melde Fehler; (* Bus ist asynchron *) END_IF
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.