Fehlerreaktionen

Ausfall eines Slaves

Wenn ein Slave nicht oder gestört antwortet, wiederholt der Master das Telegramm entsprechend des Max Retry-Limit mehrere Male (siehe: Registerkarte Bus-Parameter (DP)). Wird ein gestörtes Telegramm empfangen, wiederholt der Master das Telegramm sofort. Wie lange der Master auf die Antwort des Slaves wartet, wird mit der Slot-Time auf derselben Registerkarte eingestellt.

Bei einem Data_Exchange-Telegramm mit 12 MBaud, einer Slot-Time von 1000 tbit und einem Max Retry-Limit von 4 (Standardwerte) verzögert sich das Senden des folgenden Telegramms um den Wert:

TDelay = (4 x ((15 + Anzahl Outputs) x 11 + 1000) - (15 + Anzahl Inputs) x 11)/12 µs

Der DpState des Slaves wird auf einen Wert ungleich 0 gesetzt. Die Auswirkung auf die DP-Verbindung kann eingestellt werden (siehe unten: Reaktion im Master).

Normaler DP-Zyklus (12 MBaud, 5 Slaves, im Schnitt 20 Bytes In, 20 Bytes Out je Slaves)

Fehlerreaktionen 1:

Erstmalig gestörter DP-Zyklus (Slave 3 antwortet nicht)

Fehlerreaktionen 2:

Folgende DP-Zyklen (Slave 3 nicht mehr in der Poll-Liste)

Fehlerreaktionen 3:

Weiterhin kann es passieren, dass der Slave falsch antwortet, weil z.B. aufgrund eines lokalen Ereignisses auf dem Slave die DP-Verbindung abgebaut wurde. In diesem Fall wird das Telegramm nicht wiederholt, sondern das nachfolgende Telegramm gesendet. Der DpState wird auf einen Wert ungleich 0 gesetzt. Der Slave wird aus der Poll-Liste ausgetragen und im nächsten DP-Zyklus nicht mehr angesprochen, der Sendezeitpunkt des nachfolgenden Telegramms verändert sich, bis die DP-Verbindung wieder erneut aufgebaut wurde.

Reaktionen im Master

Die Reaktion im Master kann für jeden Slave eingestellt werden (siehe: Registerkarte Features). Die Reaktion im Master kann mit der Option NoAnswer-Reaction eingestellt werden.

Hier wird festgelegt, ob die DP-Verbindung zum Slave sofort oder erst nach Ablauf der DP-Watchdog-Zeit ohne korrektes Empfangstelegramm (Data_Exchange-Telegramm) abgebaut werden soll.

Wenn die DP-Verbindung sofort abgebaut werden soll (Leave Data-Exch, Registerkarte Features des Slaves), wird der Slave aus der Poll-Liste ausgetragen und im nächsten DP-Zyklus nicht mehr angesprochen, bis die DP-Verbindung wieder erneut aufgebaut wurde. Um die DP-Verbindung zum Slave wieder aufzubauen, werden mindestens 7 Telegramme gesendet. Der Vorgang dauert in der Regel mindestens 10-20 ms.

Wenn die DP-Verbindung erst nach Ablauf der Watchdog-Zeit abgebaut werden soll (Stay in Data-Exch (for WD-Time), Registerkarte Features des Slaves), wird die eingestellte Watchdog-Zeit des Slaves abgewartet und auf eine korrekte Antwort gewartet. Im nächsten Pollzyklus wird der Slave erneut angesprochen. Falls der Slave wieder nicht antwortet, wird keine Wiederholung mehr gesendet.

Es macht dann Sinn die Watchdog-Zeit abzuwarten, wenn der PROFIBUS-Zyklus auch beim Ausfall eines Slaves zeitlich möglichst konstant ablaufen soll und der Ausfall eines Slaves für einen oder mehrere Zyklen toleriert werden kann (z.B. in der Betriebsart DP/MC (Equidistant)). In diesem Fall sollte die DP-Watchdog-Zeit des Slaves entsprechend der noch tolerierbaren Ausfall-Zeit des Slaves eingestellt und das Max Retry-Limit (DX) (Registerkarte Bus-Parameter (DP) des Masters) auf 0 gesetzt werden.

Normaler DP-Zyklus (12 MBaud, 5 Slaves, im Schnitt 20 Bytes In, 20 Bytes Out je Slaves) im Mode "Stay in Data-Exch (for WD-Time)"

Fehlerreaktionen 4:

Erster gestörter und folgende DP-Zyklen im Mode "Stay in Data-Exch (for WD-Time)" (Slave 3 antwortet nicht)

Fehlerreaktionen 5:

Ausfall des Masters

Ausfall der SPS/IO-Task

Es wird zwischen den Fällen SPS-Stop, Erreichen eines Breakpoints und Task-Stop unterschieden (IO-Task, NC-Task wird nur beim System-Stop gestoppt). Beim SPS-Stop werden die Ausgangsdaten von der SPS noch auf 0 gesetzt, beim Erreichen eines Breakpoints bleiben die Daten zunächst unverändert.

Im Master wird mit einer Task-Watchdog Zeit die Task überwacht (siehe: Registerkarte Start-Up/Fault-Settings). Wenn innerhalb dieser Task-Watchdog Zeit keine neue Datenübergabe erfolgt, geht der Master entsprechend der Einstellung Reaction on Task-Stop in den Zustand Clear (Ausgänge werden auf 0 bzw. in den sicheren Zustand gesetzt Fail_Safe = 1 in der GSD-Datei). Bei der Einstellung “Operate“ behalten die Ausgänge den letzten Wert.

Start-Up Verhalten

Beim Start des TwinCAT Systems werden die DP-Verbindungen zu allen Slaves aufgebaut. Solange die höchstpriore zugehörige Task noch nicht gestartet wurde, sendet der Master auch nach dem Aufbau der DP-Verbindung noch keine Data_Exchange-Telegramme sondern Diagnose-Telegramme. Sobald die höchstpriore zugehörige Task einmal Daten übergeben hat und die DP-Verbindung des entsprechenden DP-Slaves aufgebaut ist, sendet der Master zyklisch (mit der höchstprioren zugeordneten Task) je ein Data_Exchange-Telegramm zu den entsprechenden Slaves.