Skip to main content

Redundantes Steuerungssystem

Sie können die Zuverlässigkeit Ihres Steuerungssystems erhöhen, indem Sie Ihre aktive Steuerung (SPS) durch eine Redundanz-SPS absichern.

Die redundante SPS kann zur Laufzeit jederzeit die Applikationsausführung übernehmen. Die Rollen der aktiven und der Standby-SPS können dynamisch zwischen beiden Steuerungen wechseln. Dadurch lassen sich Systemausfälle vermeiden oder deren Auswirkungen deutlich reduzieren. Redundante Steuerungssysteme erhöhen die Ausfallsicherheit, Verfügbarkeit und Betriebskontinuität kritischer Industrieanlagen oder auch kleineren Maschinen.

rdncy_img_overview.png

Die Abbildung zeigt ein Automatisierungsszenario bestehend aus der Entwicklungsumgebung, dem redundanten Steuerungssystem aus zwei SPSen sowie einer über Feldbusse angebundenen Maschinenumgebung. Die Applikation läuft darin parallel auf zwei SPSen: Eine SPS arbeitet aktiv (1), während die zweite im Standby-Betrieb bereitsteht (2). Die SPS im Standby-Betrieb liest die Eingänge des verbundenen Feldbussystems (im Beispiel EtherCAT) mit aus und synchronisiert sich über die Redundanzverbindung (3) kontinuierlich mit der aktiven SPS. Das ermöglicht, dass die Standby-SPS bei einem Störereignis sofort aktiv werden und die Ansteuerung der Feldbusse (4) unterbrechungsfrei übernehmen kann.

Die Redundanzverbindung (3) nutzt standardmäßig TCP oder UDP. Auf Wunsch kann die Kommunikation jedoch auch über eine herstellerspezifische Kommunikationskomponente bereitgestellt werden.

Zusätzlich können Visualisierungen, wenn sie als CODESYS WebVisu in einem Browser ausgeführt werden, mit einem redundanten Steuerungssystem verbunden sein. Die Visualisierungsclients werden im Fall einer Umschaltung nahezu unterbrechungsfrei weiterlaufen.

Hinweis

YouTube-32x32.png Video clip "Redundancy using the example of two Raspberry Pis with CODESYS Control for Raspberry Pi SL"

Das Video soll Ihnen einen generellen Überblick zu diesem Feature bieten. Der darin zu sehende Funktionsumfang des CODESYS Redundancy Configuration weicht möglicherweise vom aktuellen Funktionsumfang ab.

Grundlegendes zur Funktionsweise

Der Applikationsentwickler lädt die Applikation zunächst auf die erste SPS und erzeugt dort die Bootapplikation. Beim Start synchronisiert sich die zweite SPS mit dieser Steuerung und übernimmt auch die Bootapplikation.

Nach dem Laden und Initialisieren der Bootapplikation ist die SPS bereit, den ersten Taskzyklus auszuführen. Anschließend werden alle registrierten Speicherbereiche (alle IEC‑Daten) auf die zweite SPS übertragen. Ab diesem Zeitpunkt ist die Redundanz aktiv und beide SPSen führen die Applikationstask synchron aus. Die Synchronisierung der Taskausführung erfolgt über Meldungen, die vor und nach jedem IEC‑Task über die Redundanzverbindung ausgetauscht werden.

Es gibt keine fest definierte oder bevorzugte aktive SPS. Die Betriebsart ergibt sich aus der Reihenfolge des Hochfahrens: Die zuerst gestartete SPS sendet eine Meldung an die andere SPS über die Redundanzverbindung. Bleibt die Antwort aus, lädt die gestartete SPS trotzdem die Bootapplikation und arbeitet im Standalone‑Betrieb.

Erhält die Standby‑SPS innerhalb der konfigurierten Zeit keine Meldung der aktiven SPS, geht sie davon aus, dass die aktive SPS ausgefallen ist und wechselt in den Standalone‑Betrieb. Sie übernimmt die Kontrolle über die Feldbus‑E/As. Umgekehrt schaltet auch die aktive SPS in den Standalone‑Betrieb, wenn Meldungen der Standby‑SPS ausbleiben.

Wenn die erste SPS ersetzt und erneut gestartet wird, synchronisiert sie sich wie oben beschrieben mit der aktuell im Standalone-Betrieb befindlichen anderen SPS und geht damit in den Standby-Betrieb.

Eine Standby-SPS kann in den Simulationsbetrieb versetzt werden. Währenddessen ist die Redundanzfunktionalität deaktiviert. Auch die Anbindung an den Feldbus bleibt (so wie im Standby‑Betrieb) deaktiviert. Die aktive SPS wechselt währenddessen in den Standalone-Betrieb. Der Simulationsbetrieb kann durch erneute Synchronisierung oder durch erneutes Starten beendet werden. Dann kehrt die in Simulation betriebene Steuerung in den Standby-Betrieb zurück, sofern keine Fehler während der Synchronisierung oder des Neustarts auftreten.

Treten während der Aktualisierung der Bootapplikation, beim Übertragen der registrierten Speicherbereiche oder im Redundanzzyklus Fehler auf, schaltet die SPS in den Fehlerbetrieb. Danach ist eine erneute Synchronisierung oder ein Neustart erforderlich.

Benutzeroberfläche

Das Add-on CODESYS Redundancy Configuration

rdncy_img_redundancy_ui.png
. Objekt:
  • Registerkarte Redundanzstatus

    Zur Laufzeit überwacht CODESYS das Redundanzsystem und stellt die aktuellen Zustände dort dar. Dort können Sie auch auf die wichtigsten Redundanzbefehle zugreifen und beispielsweise ein Umschalten (Switchover) zwischen den Zuständen befehlen.

  • Registerkarte Redundanzeinstellungen

    Hier können Sie die Kommunikationseinstellungen der Redundanzverbindung konfigurieren und die maßgebliche Task und eine Zeitüberwachung festlegen.

  • Registerkarte Allgemein

  • Registerkarte Visualisierung

    Hier können Sie eine Redundanzverbindung zwischen den Webservern konfigurieren, die jeweils auf einer SPS laufen. Damit können Sie Visualisierungen, die als CODESYS WebVisu in einem Browser ausgeführt werden, mit dem redundanten Steuerungssystem verbinden.

  • Registerkarte Registrierte Bereiche

    Hier können Sie die Daten und Bereiche, die zur Laufzeit synchronisiert werden sollen, verwalten.

  • Registerkarte Log

    Listet die historischen Redundanzereignisse aus dem Logger der SPS auf

. Folgende Feldbusse werden unterstützt:
  • EtherCAT (CODESYS GmbH Stack)

  • Profinet

  • CANopen

Sie konfigurieren Ihren Feldbus im Objekt Redundanzkonfiguration in der Registerkarte Redundanzeinstellung in Registerkarte Feldbus-Einstellungen.

Für weitere Informationen siehe: Registerkarte Feldbus-Einstellungen

Bibliothek: Redundancy

Die Bibliothek Redundancy Implementation, die von der Bibliothek Redundancy angezogen wird, liefert Bausteine wie SwitchToActive oder SwitchToStandby, so dass Sie programmatisch auf die Redundanzkomponente zugreifen können. Beispielsweise können Sie das Umschalten der Steuerungen in den aktiven Betrieb mit SwitchToActive programmieren.

Bibliothek: VisuRedundancy

Die Bibliothek VisuRedundancy implementiert die Redundanzverbindung für die Visualisierung und stellt Funktionsbausteine zur Verfügung, um beispielsweise Aktivitäten zu überwachen.

Laufzeitsystem

Redundanzkomponenten im Laufzeitsystem

Für den redundanten Betrieb eines Steuerungssystems stellt das Laufzeitsystem zwei zentrale Komponenten bereit:

  • CmpRedundancy

    Diese Komponente übernimmt alle Funktionen zur Verwaltung des Redundanzbetriebs, einschließlich Rollenverteilung (Active/Standby), Datensynchronisation und Überwachung der Kommunikationszustände.

  • Komponente für die Redundanzverbindung

    Diese Komponente ist gerätespezifisch und stellt die physikalische und logische Verbindung zwischen den beiden Steuerungen her. In den meisten Geräten kommt eine IP‑basierte Verbindung zum Einsatz, die über die Komponente CmpRedundancyConnectionIP bereitgestellt wird.

Funktionalität

  • Verbindet zwei SPSen zu einem redundanten System

  • Synchronisiert die Redundanzdaten

  • Schaltet die Betriebszustände der SPSen um (Switchover)

  • Zeichnet die Redundanzereignisse im Logger auf

    Anmerkung

    Zur Laufzeit auftretende Ereignisse werden auf beiden Geräten von den Loggern der Laufzeitsysteme aufgezeichnet.

Beispiel 1. Beispiel

Die Konfigurationsdatei *.cfg für das LZS einer CODESYS Control Win ist unter ProgramData abgelegt.

[CmpRedundancyConnectionIP]
Link1.IpAddressLocal=192.168.56.1 ; IP address of redundancy link of local PLC
Link1.IpAddressPeer=192.168.56.101 ; IP address of redundancy link of peer PLC
Link1.Port=1205

[CmpRedundancy]
BootupWaitTime=5000
TcpWaitTime=2000
StandbyWaitTime=50 ; This timeout depends on the quality of real time task and communication system
LockTimeout=20 ; Maximum time of timer lock
Bootproject=Application ; Name of your CODESYS application
RedundancyTaskName=MainTask ; Task name in your CODESYS application
PlcIdent=1 ; PlcIdent=2 on other PLC



Bootapplikation

Die Bootapplikation wird auf beiden Steuerungen identisch abgelegt.

Um eine Aktualisierung vorzunehmen, genügt es, die neue Bootapplikation auf die aktive Steuerung zu laden. Die Standby‑Steuerung erhält die aktualisierte Version automatisch während der Synchronisation.