FC310x - PCI-Karten für PROFIBUS

Master-Redundanz

Um ein redundantes Steuerungssystem aufzubauen, ist es möglich, den DP-Master im Redundancy-Mode zu starten. In diesem Fall hört der DP-Master nur auf dem Bus mit, ist aber nicht am Bus aktiv.

Um ein redundantes Steuerungssystem aufzubauen, hängen am PROFIBUS zwei Master, die beide die gleiche Konfiguration haben, der Primary-Master (der im Normalfall die Kommunikation übernimmt) und der Redundancy-Master (der nur auf dem Bus mithört, aber nicht sendet). Der einzige Unterschied in der PROFIBUS-Konfiguration zwischen Primary- und Redundancy-Master sollte in den Einstellungen Redundancy-Mode und SetPrm-Unlock before DP-Start-Up bzw. SetPrm-Unlock at Shutdown (TwinCAT 2.8: s. Karteireiter PROFIBUS des Masters, TwinCAT 2.9: s. Dialog Fault-Settings) sowie ggf. dem Watchdog des Devices bestehen (TwinCAT 2.8: s. Karteireiter FC310x des Masters, TwinCAT 2.9: s. Dialog Fault-Settings).

Primary-Master: der Redundancy-Mode ist nicht aktiv, die Einstellungen SetPrm-Unlock before DP-Start-Up sowie SetPrm-Unlock at Shutdown sollten deaktiviert werden, wenn ein Starten oder Stoppen des Primary-Masters rückwirkungsfrei auf die DP-Slaves sein soll (Ausgänge bleiben unverändert). Außerdem muss der Watchdog des Devices eingestellt werden (TwinCAT 2.8: s. Karteireiter FC310x des Masters, TwinCAT 2.9: s. Dialog Fault-Settings), damit ein Absturz des PCs dazu führt, dass der Primary-Master sich vom Bus abmeldet.

Redundancy-Master: der Redundanz-Mode ist aktiv, die Einstellungen SetPrm-Unlock before DP-Start-Up sowie SetPrm-Unlock at Shutdown sollten deaktiviert werden, wenn ein Starten oder Stoppen des Primary-Masters rückwirkungsfrei auf die DP-Slaves sein soll (Ausgänge bleiben unverändert).

Als Schnittstelle zum PC gibt es zusätzlich drei Counter und ein StartRedundancyMasterFlag:

 
 fc310x_redundancy
Counter und StartRedundancyMasterFlag

Counter[2] (ReceivedTelegram-Counter): Dieser Counter zählt jedes Mal hoch, wenn ein gültiges PROFIBUS-Telegramm empfangen wurde

Counter[3] (ReceivedTelegramFromPrimary-Counter): Dieser Counter zählt jedes Mal hoch, wenn ein gültiges PROFIBUS-Telegramm von dem Primary-Master (der die gleiche Stationsadresse wie der Redundancy-Master hat) empfangen wurde

Counter[4] (ClaimTokenTimeout-Counter): Dieser Counter zählt jedes Mal hoch, wenn der Redundancy-Master einen Timeout auf dem Bus erkennt, nachdem er im Normalfall (Redundancy-Mode deaktiviert) die Busaktivität übernehmen würde (ClaimTokenTimeout-Time = (6 + 2 * Stationsadresse des DP-Master) * Slot-Time).

StartRedundancyMasterFlag: Damit kann der Redundancy-Master gestartet bzw. gestoppt werden.

Die Anwendung (SPS-Task oder anderes Programm) ist also selbst dafür verantwortlich, den Ausfall des Primary-Masters zu diagnostizieren (z. B. dadurch, dass der ReciveTelegram-Counter und der ReceivedTelegramFromPrimaryMaster-Counter nicht mehr hochzählen, der ClaimTokenTimeout-Counter hochzählt oder die anwendungsspezifische Überwachung der beiden PCs zuschlägt), der Redundancy-Master wird erst am Bus aktiv, wenn das StartRedundancyMaster-Flag gesetzt ist (das Starten dauert ca. 10 x das Min-Slave-Int. (TwinCAT 2.8: s. Karteireiter PROFIBUS des Masters, TwinCAT 2.9: s. Dialog Bus-Parameter), wenn das StartRedundancyMaster-Flag wieder zurückgesetzt wird, beendet der Redundancy-Master beim nächsten Senden eines Tokens (am Ende des DP-Zyklus, maximal nach der Estimated Cycle Time (s. Karteireiter "FC310x" (für TwinCAT 2.8 bzw. TwinCAT 2.9) des Devices)) seine Busaktivität, ohne die Verbindung zu den Slaves zu abzubauen (unabhängig von der Einstellung SetPrm-Unlock at Shutdown).

Bei der Einstellung des DP-Watchdogs der DP-Slaves (s. Karteireiter PROFIBUS der Box) ist zu beachten, dass die DP-Watchdog-Zeit größer als die Überwachungszeit des Primary-Masters der Anwendung plus die Start-Up-Zeit des Redundancy-Masters ist, falls die Übernahme der DP-Slaves durch den Redundancy-Masters rückwirkungsfrei erfolgen soll.

Weiterhin aktualisiert der Redundancy-Master keine Prozessdaten, solange er am Bus nur mithört, wenn er gestartet wird, sollte der DpState der Boxen ausgewertet werden, wenn dieser 0 ist, sind die Prozessdaten auch aktuell.