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

Im Folgenden wird die Fehleranalyse als Beispiel vorgestellt.
Für die Fehleranalyse werden im Wesentlichen ein Signal/Variable benötigt:
- State (gibt den Zustand des Busses an: 0 -> kein Fehler)
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.