Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR OPERATING A REDUNDANT AUTOMATION SYSTEM, AND REDUNDANT AUTOMATION SYSTEM
Document Type and Number:
WIPO Patent Application WO/2022/008128
Kind Code:
A1
Abstract:
In order to provide a method for operating a redundant automation system (100) for controlling a technical process, it is proposed to operate a two-out-of-three system with three subsystems, wherein - a comparison means (V1, V2, V3) is cyclically operated in each subsystem (1, 2, 3) and compares the first, second and third output data (A1, A2, A3) with one another, and the respective comparison means (V1, V2, V3) are operated in such a manner that - during each comparison in which the result is that all output data (A1, A2, A3) are approximately the same, no further action is carried out, and - during a comparison in which deviations between the output data are determined, that subsystem (1, 2, 3) in which the deviations of its own output data (A1, A2, A3) from the other output data (A1, A2, A3) are the greatest is identified as faulty by means of a majority decision (ME).

Inventors:
GROSCH THOMAS (DE)
LAFORSCH JÜRGEN (DE)
RENSCHLER ALBERT (DE)
Application Number:
PCT/EP2021/063289
Publication Date:
January 13, 2022
Filing Date:
May 19, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G05B19/042
Foreign References:
EP2667269B12014-12-17
EP2657797B12017-01-18
US20090076628A12009-03-19
EP2667269B12014-12-17
EP2657797B12017-01-18
US20090076625A12009-03-19
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Betreiben eines redundanten Automatisie rungssystems (100) zur Steuerung eines technischen Prozesses, wobei ein erstes Teilsystem (1), ein zweites Teilsystem (2), ein drittes Teilsystem (3) und Ausgabemittel (IO-Dev) für den Prozess in einem Kommunikations-Netzwerk (KN) derart betrie ben werden, dass Kommunikations-Pfade (KP12,KP13,KP23) zwi schen ihnen zum Austausch von Daten genutzt werden, wobei das erste Teilsystem (1) mit einem ersten Steuerprogramm (PI) mit einem ersten Programmzyklus (ZI) zyklusorientiert erste Ausgangsdaten (Al) über ein Peripherieprotokoll (PN) an die Ausgabemittel (IO-Dev) weiterleitet, wobei dafür eine aktive erste Applikationsbeziehung (AR1) zwischen dem ersten Teilsystem (1) und den Ausgabemitteln (IO-Dev) ein gerichtet wird, wobei parallel zum ersten Teilsystem (1) das zweite Teilsystem (2) mit einem zweiten Steuerprogramm (P2) mit einem zweiten Programmzyklus (Z2) zweite Aus gangsdaten (A2) bzw. das dritte Teilsystem (3) mit einem dritten Steuerprogramm (P3) mit einem dritten Programmzyk lus (Z3) dritte Ausgangsdaten (A3) in Bereitschaft zur Übernahme der Steuerung des technischen Prozesses berech net, wobei weiterhin zwischen dem zweiten Teilsystem (2) und den Ausgabemitteln (IO-Dev) eine passive zweite Applikationsbeziehung (AR2) und zwischen dem dritten Teilsystem (3) und den Ausgabe mitteln (IO-Dev) eine passive dritte Applikationsbeziehung (AR3) eingerichtet wird, wobei die drei Teilsysteme (1,2,3) derart betrieben wer den, dass sie einander Kenntnis über ihre berechneten Aus gangsdaten (Al, A2, A3) haben, d a d u r c h g e k e n n z e i c h n e t, dass das zweite Teilsystem (2) eine zweite Ausgabequittung (AQ2) und das dritte Teilsystem (3) eine dritte Ausga bequittung (AQ3) an das erste Teilsystem (1) sendet, das erste Teilsystem (1) die ersten Ausgangsdaten (Al) erst an die Ausgabemitteln (IO-Dev) weitergibt, wenn die zweite Ausgabequittung (AQ2) und dritte Ausgabequittung (AQ3) im ersten Teilsystem (1) eingetroffen sind, und wei terhin wird, in jedem Teilsystem (1,2,3) ein Vergleichsmittel (V1,V2,V3) zyklisch betrieben, welches die ersten, zweiten und dritten Ausgangsdaten (A1,A2,A3) miteinander ver gleicht und die jeweiligen Vergleichsmittel (V1,V2,V3) derart betrieben werden, dass bei jedem Vergleich, bei dem als Ergebnis alle Ausgangsda ten (Al, A2, A3) gleich sind, keine weitere Aktion durch geführt wird, und bei einem Vergleich, bei dem Abweichungen zwischen den Ausgangsdaten festgestellt werden, dasjenige Teilsystem (1,2,3) mittels einer Mehrheitsentscheidung (ME) als ge stört erkannt wird, bei dem die Abweichungen der eigenen Ausgangsdaten (A1,A2,A3) zu den anderen Ausgangsdaten (A1,A2,A3) am größten ist, und auf Grund dieses Ergebnis ses wird, für den Fall, dass das erste Teilsystem (1) als gestört erkannt wurde, die zweite Applikationsbeziehung (AR2) von dem passiven Zustand in einen aktiven Zustand überführt und entsprechend die erste Applikationsbeziehung (AR1) von dem aktiven Zustand in einen passiven Zustand überführt und von nun an werden die zweiten Ausgangsdaten (A2) über die Ausgabemittel (IO-Device) für den Prozess bereitge stellt, wobei das zweite und das dritte Teilsystem (2,3) dem ersten Teilsystem (1) zeitlich nachlaufen und das ers te Teilsystem (1) über die Kommunikationspfade (KP12,KP13) zeitlich asynchron den Austausch der Daten durchführt, wo bei aus dem ersten Teilsystem (1) und dem zweiten Teilsys tem (2) ein erstes NachlaufSystem (N12) und aus dem ersten Teilsystem (1) und dem dritten Teilsystem (3) ein zweites NachlaufSystem (N13) gebildet wird, wobei Synchronisati onsdaten für das erste NachlaufSystem (N12) und das zweite NachlaufSystem (N13) identisch sind und über eine Multi castbasierte Kommunikation von dem ersten Teilsystem (1) ausgesendet werden. 2. Verfahren nach Anspruch 1, wobei das zweite Teilsystem (2) eine zweite Zyklusquittung (ZQ2) und das dritte Teilsys tem (3) eine dritte Zyklusquittung (ZQ3) an das erste Teil system (1) sendet, und im ersten Teilsystem (1) ein nächster erneuter erster Programmzyklus(ZI) erst gestartet, wenn alle Quittungen eingetroffen sind.

3. Verfahren nach Anspruch 1 oder 2, wobei die Kommunikation der Teilsysteme (1,2,3) über das Kommunikations-Netzwerk (KN) mittels OPC UA oder OPC UA TSN erfolgt.

4. Verfahren nach einem Anspruch 1 bis 3, wobei die Kommuni kation der Teilsysteme (1,2,3) zu dem Ausgabemittel (IO-Dev) für eines Profinet-Netzwerk mit dem entsprechenden Periphe rieprotokoll (PN) konfiguriert wird.

5. Verfahren nach einem der Ansprüche 1 bis 4, wobei zumin dest ein Teilsystem (1,2,3) in einer IT-Infrastruktur als virtuelles Teilsystem in Form einer Dienstleistung bereitge stellt wird.

6. Verfahren nach einem der Ansprüche 1 bis 5, wobei im Fall, dass das zweite Teilsystem (2) die Ausgangsdaten (IO- Dev) über die aktive zweite Applikationsbeziehung (AR2) an die Ausgabemittel (IO-Dev) weiterleitet nun das dritte Teil system (3) die dritte Ausgabequittung (AQ3) und die dritte Zyklusquittung (ZQ3) an das zweite Teilsystem (1) sendet und das zweite Teilsystem (2) die zweiten Ausgangsdaten (A2) erst an die Ausgabemittel (IO-Dev) weitergibt, wenn die dritte Ausgabequittung (AQ3) und die dritte Zyklusquittung (ZQ3) beim zweiten Teilsystem (2) eingetroffen sind.

7. Redundantes Automatisierungssystem (100) zur Steuerung eines technischen Prozesses, umfassend ein erstes Teilsystem (1), ein zweites Teilsystem (2), ein drittes Teilsystem (3) und Ausgabemittel (IO-Dev), welche über ein Kommunikations- Netzwerk (KN) verbunden sind, und Kommunikations-Pfade (KP12,KP13,KP23) zwischen den Teilsystemen (1,2,3) zum Aus tausch von Daten ausgebildet sind, wobei das erste Teilsystem (1) ausgebildet ist mit einem ersten Steuerprogramm (PI) mit einem ersten Programmzyklus (ZI) zyklusorientiert erste Ausgangsdaten (Al) über eine aktive erste Applikationsbeziehung (AR1) an die Ausgabemittel (IO-Dev) auszugeben, das zweite Teilsystem (2) mit einem zweiten Steuerprogramm (P2) mit einem zweiten Programmzyklus (Z2) ausgebildet ist in Bereitschaft über eine zweite Applikationsbeziehung (AR2) zweite Ausgangsdaten (A2) für die Ausgabemittel (IO- Dev) bereitzustellen, das dritte Teilsystem (3) mit einem dritten Steuerprogramm (P3) mit einem dritten Programmzyklus (Z3) ausgebildet ist in Bereitschaft über eine dritte Applikationsbeziehung (AR3) dritte Ausgangsdaten (A3) für die Ausgabemittel (IO- Dev) bereitzustellen, wobei weiterhin die drei Teilsysteme (1,2,3) ausgestaltet sind, sich ge genseitig ihre berechneten Ausgangsdaten (Al, A2, A3) be reitzustellen, d a d u r c h g e k e n n z e i c h n e t, dass das zweite Teilsystem (2) ein zweites Quittungsausgabemit tel (QAM2) aufweist, welches ausgestaltet ist eine zweite Ausgabequittung (AQ2) zu senden und das dritte Teilsystem (3) ein drittes Quittungsausgabemit tel (QAM3) aufweist, welches ausgestaltet ist, eine dritte Ausgabequittung (AQ3) zu senden und das erste Teilsystem (1) ein Freischaltmittel (FSM) auf weist, welches ausgestaltet ist, die ersten Ausgangsdaten (Al) erst an die Ausgabemittel (IO-Dev) weiterzugeben, wenn die zweite Ausgabequittung (AQ2) und die dritte Ausga bequittung (AQ3) im ersten Teilsystem (1) eingetroffen sind, und weiterhin weist jedes Teilsystem (1,2,3) ein Vergleichsmittel (V1,V2,V3) auf, welches ausgestaltet ist, zyklisch die ersten, zweiten und dritten Ausgangsdaten (A1,A2,A3) mit einander zu vergleichen und für den Fall, dass bei einem Vergleich, bei dem als Ergebnis alle Ausgangsdaten (Al, A2, A3) gleich sind, keine weitere Aktion durchge führt wird, und für den Fall, dass bei einem Vergleich, bei dem Abweichungen zwischen den Ausgangsdaten festgestellt werden, dasjenige Teilsystem (1,2,3) mittels einer Mehrheitsentscheidung (ME) als ge stört erkannt wird, bei dem die Abweichungen der eigenen Ausgangsdaten (A1,A2,A3) zu den anderen Ausgangsdaten (A1,A2,A3) am größten ist, wobei dazu ein Abweichungser fassungsmittel (AEM) vorhanden ist, wobei das erste Teilsystem weiterhin ausgestaltet ist für den Fall, dass das erste Teilsystem (1) als gestört erkannt wurde, die erste Applikationsbeziehung (AR1) von dem aktiven Zu stand in einen passiven Zustand zu überführen und das zweite Teilsystem (2) ausgestaltet ist die zweite Applika tionsbeziehung (AR2) von dem passiven Zustand in einen ak tiven Zustand zu überführen, wodurch von nun an die zwei ten Ausgangsdaten (A2) über die Ausgabemittel (IO-Device) für den Prozess bereitgestellt werden, dass aus dem ersten Teilsystem (1) und dem zweiten Teilsystem (2) ein erstes NachlaufSystem (N12) gebildet ist, und dass aus dem ersten Teilsystem (1) und dem dritten Teilsystem (3) ein zweites NachlaufSystem (N13) gebildet ist, wobei das erste Teil system (1) derart ausgestaltet ist, dass es über eine Mul- ticast-basierte Kommunikation Synchronisationsdaten für das erste NachlaufSystem (N12) und das zweite Nachlaufsys tem (N13) bereitstellt.

8. Redundantes Automatisierungssystem (100) nach Anspruch 7, wobei das zweite Quittungsausgabemittel (QAM2) ausgestaltet ist, eine zweite Zyklusquittung (ZQ2) an das erste Teilsystem (1) zu senden und das dritte Quittungsausgabemittel (QAM3) ausgestaltet ist, eine dritte Zyklusquittung (ZQ3) an das erste Teilsystem (1) zu senden und das erste Teilsystem (1) ausgestaltet ist, einen erneuten ersten Programmzyklus(ZI) erst zu starten, wenn alle Quittungen eingetroffen sind.

9. Redundantes Automatisierungssystem (100) nach Anspruch 7 oder 8, wobei zumindest ein Teilsystem (1,2,3) in einer IT- Infrastruktur als virtuelles Teilsystem in Form einer Dienst leistung angeordnet ist.

Description:
Beschreibung

Verfahren zum Betreiben eines redundanten Automatisierungs systems und redundantes Automatisierungssystem

Die Erfindung betrifft ein Verfahren zum Betreiben eines re dundanten Automatisierungssystems zur Steuerung eines techni schen Prozesses, wobei ein erstes Teilsystem, ein zweites Teilsystem, ein drittes Teilsystem und Ausgabemittel für den Prozess in einem Kommunikations-Netzwerk derart betrieben werden, dass Kommunikations-Pfade zwischen ihnen zum Aus tausch von Daten genutzt werden, wobei das erste Teilsystem mit einem ersten Steuerprogramm mit einem ersten Programmzyk lus zyklusorientiert erste Ausgangsdaten über ein Peripherie- Protokoll an die Ausgabemittel weiterleitet, wobei dafür eine aktive erste Applikationsbeziehung zwischen dem ersten Teil system und den Ausgabemitteln eingerichtet wird, wobei paral lel zum ersten Teilsystem das zweite Teilsystem mit einem Steuerprogramm mit einem zweiten Programmzyklus zweite Aus gangsdaten bzw. das dritte Teilsystem mit einem dritten Steu erprogramm mit einem dritten Programmzyklus dritte Ausgangs daten in Bereitschaft zur Übernahme der Steuerung des techni schen Prozesses berechnet, wobei weiterhin zwischen dem zwei ten Teilsystem und den Ausgabemitteln eine passive zweite Ap plikationsbeziehung und zwischen dem dritten Teilsystem und den Ausgabemitteln eine passive dritte Applikationsbeziehung eingerichtet wird, wobei die drei Teilsysteme derart betrie ben werden, dass sie einander Kenntnis über ihre berechneten Ausgangsdaten haben.

In der Automatisierungstechnik werden verstärkt, hochverfüg bare Lösungen (H-Systeme) gefordert, welche geeignet sind, eventuell auftretende Stillstandszeiten der Anlage oder des Prozesses auf ein Minimum zu reduzieren. Eine Entwicklung derartiger hochverfügbarer Lösungen ist sehr kostenintensiv, wobei ein im Automatisierungsumfeld gewöhnlich eingesetztes H-System sich dadurch auszeichnet, dass zwei oder mehrere Teilsysteme in Form von Automatisierungsgeräten oder Rechner- Systemen über eine Synchronisationsverbindung miteinander ge koppelt sind. Auf die an dieses H-System angeschlossenen Pe ripherieeinheiten können prinzipiell beide Teilsysteme lesend und/schreibend zugreifen. Eines der beiden Teilsysteme ist bezüglich der an das System angeschlossenen Peripherie füh rend. Dies bedeutet, dass Ausgaben zu Peripherieeinheiten bzw. Ausgangsinformationen oder Ausgabedaten für diese Peri pherieeinheiten nur von einem der beiden Teilsysteme durchge führt werden, welches auch als Master arbeitet bzw. eine Mas terfunktion übernommen hat. Damit beide Teilsysteme synchron ablaufen können, werden diese in der Regel über Synchronisa tionsverbindungen in regelmäßigen Abständen synchronisiert. Bezüglich einer Häufigkeit der Synchronisation und deren Um fang können verschiedene Ausprägungen unterschieden werden, z.B. ein Warm-Standby, oder ein Hot-Standby.

Von einem H-System in der Automatisierungstechnik wird ein stoßfreies „Failover" gefordert, falls eines der Teilsysteme ausfällt und ein anderes Teilsystem übernehmen muss. Dies be deutet, dass in einem Störfall, trotz dieser Umschaltung die se Übernahme von einem Teilsystem auf das andere Teilsystem, sich nicht störend auf den zu steuernden technischen Prozess bzw. auf die Prozesssteuerung auswirkt. Ein Sprung (Stoß) der Ausgangswerte an den Ausgängen des Prozesses aufgrund einer Umschaltung ist nicht erwünscht und sollte vermieden werden. Unter stoßfrei ist daher auch die Stetigkeit eines Kurvenver laufs der Prozessausgangswerte zu verstehen.

Um dies zu erreichen, müssen die beiden Teilsysteme zum Zeit punkt des Ausfalls den gleichen Systemzustand aufweisen. Dies wird durch ein geeignetes Synchronisationsverfahren sicherge stellt.

In der EP 2667 269 Bl wird ein Verfahren zum Betreiben eines mindestens zwei Teilsysteme aufweisenden Automatisierungssys tem vorgestellt. Die Automatisierungssysteme sind jeweils mit einem Steuerungsprogramm versehen. Die Teilsysteme arbeiten mit einer „ereignissynchronen Verarbeitung", welches bedeu- tet, dass sowohl der Master als auch der Slave aufgrund eines Ereignisses gleiche Programmpfade des jeweiligen Steuerpro gramms durchlaufen, wobei die Durchläufe zeitlich asynchron erfolgen.

Auch die EP 2657 797 Bl offenbart ein ähnliches Verfahren, wobei nach Auftreten eines Ereignisses an einen bestimmten Zeitpunkt Unterbrechungsstellen an den Slave übermittelt wer den.

Aus der US 2009/0076625 Al ist es bekannt, bei einem redun danten Automatisierungssystem mit drei Teilsystemen die Ver sionen der Ausgangsdaten zu vergleichen.

Mit den genannten europäischen veröffentlichten Patentschrif ten ist nun bekannt, dass in der Automatisierungstechnik zur Steigerung der Verfügbarkeit sogenannte „1 von 2 Systeme" eingesetzt werden, hierbei werden in der Regel zwei meist identische Teilsysteme eine Steuerungsaufgabe übernehmen und entsprechend synchronisiert, redundant arbeiten. Beim Ausfall eines der beiden Teilsysteme kann das jeweils andere Teilsys tem die Steuerungsaufgabe weiterhin bearbeiten, ohne einen Produktionsprozess zu unterbrechen. Entscheidend für die mit einem „1 von 2 System" erreichbare Verfügbarkeit ist auch ein sogenannter Diagnosedeckungsgrad (Diagnostic coverage DC). Um einen hohen DC-Wert zu erhalten, muss eine entsprechend auf wändige Selbstdiagnose-Funktionalität in den beiden Teilsys temen eines „1 von 2 Systems" implementiert werden. Diese zu sätzliche Selbstdiagnose-Funktionalität kann umgangen werden, wenn man ein sogenanntes „2 von 3 System" einsetzt.

Ausgehend von dem bekannten Stand der Technik ist es eine Aufgabe der vorliegenden Erfindung, ein alternatives redun dantes Automatisierungssystem bzw. Verfahren zum Betrieb ei nes Automatisierungssystems zu schaffen.

Die Aufgabe wird dadurch gelöst, dass das zweite Teilsystem eine zweite Ausgabequittung und das dritte Teilsystem eine dritte Ausgabequittung an das erste Teilsystem sendet, und das erste Teilsystem die ersten Ausgangsdaten erst an die Ausgabemittel weitergibt, wenn die zweite Ausgabequittung und die dritte Ausgabequittung im ersten Teilsystem eingetroffen sind, wobei weiterhin in jedem Teilsystem ein Vergleichsmit tel zyklisch betrieben wird, welches die ersten, zweiten und dritten Ausgangsdaten miteinander vergleicht und die jeweili gen Vergleichsmittel derart betrieben werden, dass bei jedem Vergleich, bei dem als Ergebnis alle Ausgangsdaten gleich sind, keine weitere Aktion durchgeführt wird, und bei einem Vergleich, bei dem Abweichungen zwischen den Ausgangsdaten festgestellt werden, dasjenige Teilsystem mittels einer Mehr- heitsentscheidung als gestört erkannt wird, bei dem die Ab weichung der eigenen Ausgangsdaten zu den anderen Ausgangsda ten am größten ist, und aufgrund dieses Ergebnisses wird, für den Fall, dass das erste Teilsystem als gestört erkannt wur de, die zweite Applikationsbeziehung von dem passiven Zustand in einen aktiven Zustand überführt und entsprechend die erste Applikationsbeziehung von dem aktiven Zustand in einen passi ven Zustand überführt und von nun an, werden die zweiten Aus gangsdaten über die Ausgabemittel für den Prozess bereitge stellt. Dazu wird das redundante Automatisierungssystem der art betrieben, dass das zweite und das dritte Teilsystem dem ersten Teilsystem zeitlich nachlaufen und das erste Teilsys tem über die Kommunikationspfade zeitlich asynchron den Aus tausch der Daten zu den anderen Teilsystemen durchführt, wo bei aus dem ersten Teilsystem und dem zweiten Teilsystem ein erstes NachlaufSystem und aus dem ersten Teilsystem und dem dritten Teilsystem ein zweites NachlaufSystem gebildet wird, wobei Synchronisationsdaten für das erste NachlaufSystem und das zweite NachlaufSystem identisch sind und über eine Multi- cast-basierte Kommunikation von dem ersten Teilsystem ausge sendet werden.

Mit dieser Vorgehensweise wird eine stoßfreie Umschaltung von den ersten Ausgangsdaten zu den zweiten Ausgangsdaten er reicht. Dadurch ist sichergestellt, dass im Umschaltfall, die zuletzt gültigen oder neueren Ausgangsdaten geschrieben wer- den. Die Ausgabequittungen für das Bereitstellen von Aus gangsdaten werden demnach sowohl von dem zweiten Teilsystem als auch von dem dritten Teilsystem zum ersten Teilsystem ge sendet. Das erste Teilsystem führt eine tatsächliche Ausgabe von ersten Ausgangsdaten an den Prozess erst aus, wenn die Quittungen von beiden anderen Teilsystemen eingetroffen sind.

Demnach synchronisieren sich die beiden nachlaufenden Teil systeme asynchron, wobei das erste Teilsystem die Synchroni sationsdaten an das zweite Teilsystem und das dritte Teilsys tem schickt. Das hat den Vorteil, dass die Synchronisations daten für das erste NachlaufSystem sowie die für das zweite NachlaufSystem identisch sind und die Synchronisationsdaten können damit effizient über eine Multicast-basierte Kommuni kation von dem ersten Teilsystem übertragen werden, welches wiederum die Bandbreite in den Kommunikationskanälen spart.

In einer weiter optimierten Ausgestaltung des Verfahrens sen det das zweite Teilsystem eine zweite Zyklus-Quittung und das dritte Teilsystem eine dritte Zyklus-Quittung an das erste Teilsystem, und im ersten Teilsystem wird ein nächster erneu ter erster Programmzyklus erst gestartet, wenn alle Quittun gen eingetroffen sind.

Eine Übertragung aller relevanten Informationen insbesondere der in Bezug auf die Kenntnis der Teilsysteme, dass sie ei nander über ihre berechneten Ausgangsdaten bescheid wissen, erfolgt zeitlich asynchron. Dadurch wird eine Verarbeitungs leistung des ersten Teilsystems von einer für eine Ereignis synchronisation zur Verfügung stehenden Kommunikationsband breite entkoppelt, was insbesondere im Hinblick auf ein zu nehmendes Ungleichgewicht zwischen einer Steigerung einer Verarbeitungsleistung des Prozesses einerseits und einer Steigerung einer Kommunikationsleistung von Kommunikations prozessen von Vorteil ist.

Als ein wesentlicher Vorteil bei der asynchronen Kommunikati on zwischen dem ersten Teilsystem und dem zweiten und dritten Teilsystem wird angesehen, dass auch langsame Kommunikations verbindungen für den Aufbau eines hochverfügbaren bzw. redun danten Automatisierungssystem genutzt werden können. Dies be deutet, dass auch eine an sich im Hinblick auf eine Übertra gungsbandbreite oder auf eine Antwortzeit (Latenz) schlechte re Kommunikationsverbindung auch als eine Kommunikationsver bindung vorgesehen werden kann, die auch von anderen Kommuni kationsteilnehmern genutzt wird und damit den beiden Teilneh mern nicht exklusiv für Synchronisationszwecke zur Verfügung steht.

Weiterhin von Vorteil ist, wenn die Kommunikation der Teil systeme über das Kommunikations-Netzwerk mittels OPC UA oder OPC UA TSN erfolgt.

Eine Kommunikation der Teilsysteme zu den Ausgabemitteln wird vorteilhafter Weise für ein Profinet-Netzwerk mit einem ent sprechenden Peripherieprotokoll (Profinet Systemredundanz) konfiguriert.

Weiterhin ist ein herausragender Vorteil des Verfahrens, dass zumindest ein Teilsystem in einer IT-Infrastruktur als virtu elles Teilsystem in Form einer Dienstleistung bereitgestellt wird.

Noch vorteilhafter ist es, wenn alle drei Teilsysteme als virtuelle Teilsysteme ausgestaltet sind.

Das Bereitstellen einer Dienstleistung in einer IT-Infra- struktur wird als sogenanntes Cloud Computing bezeichnet, dieses beinhaltet in der Regel das Bereitstellen von Spei cherplatz, Rechnerleistung und/oder Anwendungssoftware als Dienstleistung. Technischer formuliert umschreibt Cloud- Computing den Ansatz, IT-Infrastruktur über ein Rechnernetz werk zur Verfügung zu stellen, ohne dass diese Infrastruktur bzw. die Hardware lokal vor Ort installiert sein muss. Diese vorgeschlagene Kombination einer asynchronen Synchroni sation und einer Architektur eines „2 von 3 Systems", bietet den Vorteil, dass auch über Netzwerke mit einer schlechten Latenz eine gute Systemperformance erreicht werden kann.

Als Vorteil wird angesehen, dass beispielsweise ein drittes Teilsystem oder eine dritte PLC/SPS kostengünstig in einer Cloud-Umgebung instanziiert werden kann. Dadurch ist die Rea lisierung von performanten, Cloud-basierten Automatisierungs lösungen möglich, welche eine dem Automatisierungsumfeld an gemessene Verfügbarkeit bieten.

Ein weiterer Vorteil der hier beschriebenen Lösung besteht darin, dass im laufenden Betrieb von einer „1 von 2" zu einer „2 von 3" Lösung gewechselt werden kann, um die Zuverlässig keit für kritische Prozess-Schritte zu erhöhen.

Ein weiterer Verfahrensschritt sieht vor, dass für den Fall, dass von nun an das zweite Teilsystem die Ausgangsdaten über die aktive zweite Applikationsbeziehung an die Ausgabemittel weiterleitet nun das dritte Teilsystem die dritte Ausgabe quittung und die dritte Zyklusquittung an das zweite Teilsys tem sendet und das zweite Teilsystem die zweiten Ausgangsda ten erst an die Ausgabemittel weitergibt, wenn die dritte Ausgabequittung und die dritte Zyklusquittung beim zweiten Teilsystem eingetroffen sind.

Auch betrifft die Erfindung ein redundantes Automatisierungs system zur Steuerung eines technischen Prozesses, umfassend ein erstes Teilsystem, ein zweites Teilsystem, ein drittes Teilsystem und Ausgabemittel, welche über ein Kommunikations- Netzwerk verbunden sind, wobei das erste Teilsystem ausgebil det ist, mit einem ersten Steuerprogramm mit einem ersten Programmzyklus zyklusorientiert erste Ausgangsdaten über eine aktive erste Applikationsbeziehung an die Ausgabemittel aus zugeben, das zweite Teilsystem mit einem zweiten Steuerpro gramm mit einem zweiten Programmzyklus ausgebildet ist, in Bereitschaft über eine zweite Applikationsbeziehung zweite Ausgangsdaten für die Ausgabemittel bereitzustellen, das dritte Teilsystem mit einem dritten Steuerprogramm mit einem dritten Programmzyklus ausgebildet ist, in Bereitschaft über eine dritte Applikationsbeziehung dritte Ausgangsdaten für die Ausgabemittel bereitzustellen, wobei weiterhin die drei Teilsysteme ausgestaltet sind, sich gegenseitig ihre berech neten Ausgangsdaten bereitzustellen.

Die eingangs genannte Aufgabe, ein verbessertes Automatisie rungssystem zu den bisher bereits bekannten bereitzustellen, wird dadurch gelöst, dass das zweite Teilsystem ein zweites Quittungsausgabemittel aufweist, welches ausgestaltet ist, eine zweite Ausgabequittung zu senden und das dritte Teilsys tem ein drittes Quittungsausgabemittel aufweist, welches aus gestaltet ist, eine dritte Ausgabequittung zu senden und das erste Teilsystem ein Freischaltmittel aufweist, welches aus gestaltet ist, die ersten Ausgangsdaten erst an die Ausgabe mittel weiterzugeben, wenn die zweite Ausgabequittung und die dritte Ausgabequittung im ersten Teilsystem eingetroffen sind, und weiterhin weist jedes Teilsystem ein Vergleichsmit tel auf, welches ausgestaltet ist, zyklisch die ersten, zwei ten und dritten Ausgangsdaten miteinander zu vergleichen und für den Fall, dass bei einem Vergleich, bei dem als Ergebnis alle Ausgangsdaten gleich sind, keine weitere Aktion durchge führt wird, und für den Fall, dass bei einem Vergleich, bei dem Abweichungen zwischen den Ausgangsdaten festgestellt wer den, dasjenige Teilsystem mittels einer Mehrheitsentscheidung als gestört erkannt wird, bei dem die Abweichung der eigenen Ausgangsdaten zu den anderen Ausgangsdaten am größten ist, wobei dazu ein Abweichungserfassungsmittel vorhanden ist, wo bei das erste Teilsystem weiterhin ausgestaltet ist, für den Fall, dass das erste Teilsystem als gestört erkannt wurde, die erste Applikationsbeziehung von dem aktiven Zustand in einen passiven Zustand zu überführen und das zweite Teilsys tem ausgestaltet ist, die zweite Applikationsbeziehung von dem passiven Zustand in einen aktiven Zustand zu überführen, wodurch von nun an, die zweiten Ausgangsdaten über die Ausga bemittel für den Prozess bereitgestellt werden. Eine weitere vorteilhafte Ausgestaltung des redundanten Auto matisierungssystems sieht vor, dass aus dem ersten Teilsystem und dem zweiten Teilsystem ein erstes NachlaufSystem gebildet ist, und dass aus dem ersten Teilsystem und dem dritten Teil system ein zweites NachlaufSystem gebildet ist, wobei das erste Teilsystem derart ausgestaltet ist, dass es über eine Multicast-basierte Kommunikation Synchronisationsdaten für das erste NachlaufSystem und das zweite NachlaufSystem be- reitstellt .

Eine Weiterbildung des Automatisierungssystems sieht vor, dass das zweite Quittungsausgabemittel zusätzlich ausgestal tet ist, eine zweite Zyklusquittung an das erste Teilsystem zu senden und das dritte Quittungsausgabemittel ausgestaltet ist, eine dritte Zyklusquittung an das erste Teilsystem zu senden und das erste Teilsystem ausgestaltet ist, einen er neuten ersten Programmzyklus erst zu starten, wenn alle Quit tungen eingetroffen sind.

Mit besonderem Vorteil wird zumindest ein Teilsystem in einer IT-Infrastruktur als virtuelles Teilsystem in Form einer Dienstleistung angeordnet sein. Da in jüngster Vergangenheit zunehmend die Möglichkeit diskutiert wird, Steuerungsapplika tionen in eine Cloud zu verlegen, wird hier auch für ein re dundantes Automatisierungssystem eine Lösung präsentiert. Bei einer Cloud handelt es sich insbesondere um eine Infrastruk tur, welche beispielsweise über das Internet verfügbar ge macht wird und welche in der Regel Speicherplatz, Rechenleis tung und/oder Anwendungssoftware bereitstellt, ohne dass eine entsprechende Infrastruktur auf einen lokalen Rechner instal liert und gespeichert sein muss. Bei einer Cloud wird die Hardware in der Regel nicht von dem Nutzer einer Anwendung bzw. Applikation selbst betrieben oder bereitgestellt.

Unter einer Cloud bzw. Cloud-Computing kann insbesondere die Bereitstellung von IT-Infrastruktur als Dienstleistung ggf. von einem entfernten Standort aus, zu verstehen sein. Eine Cloud kann über das Internet erreichbar sein, oder auch von einem Unternehmen als sogenannte private Cloud betrieben wer den, bei welcher die IT-Infrastruktur über ein Netzwerk, z.B. ein Intranet des Unternehmens, erreichbar ist.

Mit der Erfindung ist es demnach möglich, zumindest ein Teil system in eine Cloud zu verlegen.

Die Zeichnung zeigt ein Ausführungsbeispiel der Erfindung, dabei zeigt die

FIG 1 ein redundantes Automatisierungssystem, ausgestaltet in einer 2 von 3 Konfiguration,

FIG 2 das aus FIG 1 bekannte Automatisierungssystem in ei ner detaillierten Darstellung bezogen auf die Teil systeme,

FIG 3 das Prinzip eines Vergleichsmittels,

FIG 4 eine Tabelle zur Veranschaulichung der Ermittlung ei ner Abweichungshäufigkeit für ein bestimmtes Teilsys tem,

FIG 5 ein Blockschaltbild, wobei ein Teilsystem in einer Cloud angeordnet ist, und

FIG 6 eine detailliertere Darstellung eines Teilsystems zur Erklärung des Freischaltemittels.

Gemäß FIG 1 ist ein redundantes Automatisierungssystem 100 zur Steuerung eines technischen Prozesses dargestellt. Das redundante Automatisierungssystem 100 umfasst ein erstes Teilsystem 1, ein zweites Teilsystem 2, ein drittes Teilsys tem 3 und Ausgabemittel IO-Dev. Die genannten Teilsysteme 1,2,3 und das Ausgabemittel IO-Dev sind über ein Kommunikati onsnetzwerk KN verbunden, seitlich dargestellt ist nochmal ein symbolisiertes Kommunikationsnetzwerk in einer Struktur, wie sie heute üblich ist, wie z.B. für das Internet. Mit Hil- fe dieses Kommunikationsnetzwerkes KN können zwischen den Teilsystemen 1,2,3 Kommunikations-Pfade KP12, KP13, KP23 auf gespannt werden. Demnach existiert zwischen dem ersten Teil system 1 und dem zweiten Teilsystem 2 ein erster Kommunikati ons-Pfad KP12, zwischen dem ersten Teilsystem 2 und dem drit ten Teilsystem 3 existiert ein zweiter Kommunikations-Pfad KP13 und zwischen dem zweiten Teilsystem 2 und dem dritten Teilsystem 3 existiert ein dritter Kommunikations-Pfad KP23.

Das erste Teilsystem 1 ist als ein Master ausgebildet und dementsprechend kann das erste Teilsystem 1 mit einem ersten Steuerprogramm PI mit einem ersten Programmzyklus ZI zyklus orientiert erste Ausgangsdaten Al über eine aktive erste Ap plikationsbeziehung AR1 an die Ausgabemittel IO-Dev ausgeben.

Das zweite Teilsystem 2 ist mit einem zweiten Steuerprogramm P2 mit einem zweiten Programmzyklus Z2 ausgebildet und ist in Bereitschaft, nämlich in einer Slave-Funktion, über eine zweite Applikationsbeziehung AR2, zweite Ausgangsdaten A2 für die Ausgabemittel IO-Dev bereitzustellen.

Das dritte Teilsystem 3 ist mit einem dritten Steuerprogramm P3 mit einem dritten Programmzyklus Z3 ausgebildet und eben falls in Bereitschaft über eine dritte Applikationsbeziehung AR3, dritte Ausgangsdaten A3 für die Ausgabemittel IO-Dev be reitzustellen, wobei weiterhin die drei Teilsysteme 1,2,3 ausgestaltet sind, sich gegenseitig ihre berechneten Aus gangsdaten A1,A2,A3 über die Kommunikationspfade KP12, KP13, KP23 bereitzustellen.

Das zweite und das dritte Teilsystem 2,3 laufen dem ersten Teilsystem 1 zeitlich nach und das erste Teilsystem 1 tauscht über die Kommunikationspfade KP12, KP13 zeitlich asynchron die benötigten Daten mit, wobei aus dem ersten Teilsystem 1 und dem zweiten Teilsystem 2 ein erstes NachlaufSystem N12 und aus dem ersten Teilsystem 1 und dem dritten Teilsystem 3 ein zweites NachlaufSystem N13 gebildet wird, wobei die not wendigen Synchronisationsdaten für das erste NachlaufSystem N12 und das zweite NachlaufSystem N13 identisch sind und da her mit Vorteil über eine Multicastbasierte Kommunikation von dem ersten Teilsystem 1 zu den anderen Teilsystemen 2,3 nur einmal ausgesendet werden muss.

Mit der FIG 2 wird detaillierter auf die Ausgestaltung der Teilsysteme 1,2,3 eingegangen. Das erste Teilsystem 1 weist ein erstes Quittungsausgabemittel QAM1 auf, über dieses Quit tungsausgabemittel QAM1 kann das erste Steuerprogramm PI mit seinem ersten Programmzyklus ZI Quittungen für andere Teil systeme 2,3 bereitstellen, wenn z.B. der erste Programmzyklus ZI vollständig durchlaufen ist oder die ersten Ausgangsdaten Al vollständig bereitstehen. Das erste Steuerprogramm PI schreibt in ein erstes Prozessabbild PA1 die ersten Ausgangs daten Al rein, wovon sie aus dem ersten Prozessabbild PA1 über eine erste Applikationsbeziehung AR1 zu einem Ausgabe mittel IO-Dev gesendet werden können.

Da aber in der nun vorherrschenden Konfiguration des redun danten Automatisierungssystems 100 das erste Teilsystem 1 die führende Steuerungsrolle für den technischen Prozess hat, senden das zweite Teilsystem 2 und das dritte Teilsystem 3 jeweils ihre zweite Ausgabequittung AQ2 bzw. ihre dritte Aus gabequittung AQ3 über das zweite Quittungsausgabemittel QAM2 bzw. das dritte Quittungsausgabemittel QAM3 zum ersten Teil system 1.

Mit FIG 6 gezeigt, verfügt das erste Teilsystem 1 über ein Freischaltmittel FSM, welches ausgestaltet ist, die ersten Ausgangsdaten Al erst dann die Ausgabemittel IO-Dev weiterzu geben, wenn die zweite Ausgabequittung AQ2 und die dritte Ausgabequittung AQ3 im ersten Teilsystem 1 eingetroffen sind.

Um einen möglichen Störfall aufzudecken, weist jedes Teilsys tem 1,2,3 gemäß FIG 2 ein Vergleichsmittel V1,V2,V3 auf, wel ches ausgestaltet ist, zyklisch die ersten, zweiten und drit ten Ausgangsdaten A1,A2,A3 miteinander zu vergleichen und für den Fall, dass bei einem Vergleich, bei dem als Ergebnis alle Ausgangsdaten A1,A2,A3 gleich sind, keine weitere Aktion durchgeführt wird.

Aber für den Fall, dass bei einem Vergleich, bei dem Abwei chungen zwischen den Ausgangsdaten A1,A2,A3 festgestellt wer den, dasjenige Teilsystem 1,2,3 mittels einer Mehrheitsent scheidung ME als gestört erkannt wird, bei dem die Abweichung der eigenen Ausgangsdaten A1,A2,A3 zu den anderen Ausgangsda ten A1,A2,A3 am größten ist.

Dazu ist ein Abweichungserfassungsmittel AEM vorhanden, wie es in FIG 3 abgebildet ist. In dem ersten Vergleichsmittel VI ist das Abweichungserfassungsmittel AEM angeordnet, welches mittels einer Mehrheitsentscheidung ME eine Abweichungshäu figkeit AH, bezogen auf ein Teilsystem 1,2,3, bereitstellt.

Mit der FIG 4 soll in einer Tabelle veranschaulicht werden, wie man die Mehrheitsentscheidung ME mittels einer Abwei chungshäufigkeit AH ermittelt. In der ersten Spalte sind die Teilsysteme 1,2,3, wie sie ihre Ausgangsdaten A1,A2,A3 her- vorrufen, dargestellt. Die zweite Spalte soll der Einfachheit halber normierte Ausgangsdaten A1,A2,A3 in ihrer Wertigkeit darstellen. Ab der dritten Spalte wird nun die Differenz zwi schen den Ausgangsdaten A1,A2,A3 betragsmäßig dargestellt. Es werden demnach die Differenz zwischen den ersten Ausgangsda ten Al und A2, die Differenz zwischen den ersten Ausgangsda ten Al und den dritten Ausgangsdaten A3 und die Differenz zwischen den zweiten Ausgangsdaten A2 und den dritten Aus gangsdaten A3 betragsmäßig dargestellt. In der ersten Zeile TI wird die Abweichung 1,0,- weil es für eine Abweichung zwi schen den zweiten Ausgangsdaten A2 und den dritten Ausgangs daten A3, bezogen auf die ersten Ausgangsdaten Al, keine gibt.

Die zweite Zeile T2 zeigt die Abweichung 1,-,1 an. Die dritte Zeile zeigt die Abweichung -,0,1 an. Damit ergibt sich in der zweiten Zeile für das zweite Teilsystem 2 eine Abweichungs häufigkeit AH, denn zweimal existiert eine Abweichung von 1, welches in Summe die Wertigkeit 2 ergibt. Damit wird aufgrund der Mehrheitsentscheidung ME festgestellt, dass das zweite Teilsystem 2 als gestört gelten muss. Jetzt würden Programm szenarien eintreten um das gestörte Teilsystem abzuschalten, zwar hat weiterhin das erste Teilsystem 1 die Masterfunktio- nalität, aber das zweite Teilsystem 2 wird derart weggeschal tet, dass es bei Ausfall des ersten Teilsystems 1 nicht als redundantes Teilsystem fungieren kann, jetzt könnte nur das dritte Teilsystem 3 als redundantes Teilsystem zum ausgefal lenen ersten Teilsystem 1 fungieren.

Für den Fall, dass das erste Teilsystem 1 als gestört gilt, wäre die Abweichungshäufigkeit AH in der ersten Zeile TI vom ersten Teilsystem 1 zu finden.

Mit der FIG 5 ist die Möglichkeit dargestellt, zumindest ein Teilsystem 1,2,3, nämlich das dritte Teilsystem 3, in einer IT-Infrastruktur als virtuelles Teilsystem in Form einer Dienstleistung anzuordnen. Die IT-Infrastruktur entspricht demnach einer Cloud C. Über ein Internet Int können die Kom munikationspfade KP13 bzw. KP23 nach wie vor zu den anderen Teilsystemen 1,2 aufgebaut werden. Das erste Teilsystem 1 und das zweite Teilsystem 2, befinden sich allerdings in einem Local Area Network Lan, wie es z.B. auf einem Fertigungsge lände einer industriellen Automatisierungsanlage existiert, der Vorteil ist, dass hier ein redundantes Automatisierungs system 100 aufgebaut ist, bei welchem nicht zwangsläufig ein drittes physikalisches Teilsystem 3 auf dem Fertigungsgelände platziert sein muss, sondern als eine Backup-Lösung in einer Cloud C realisiert ist, welches ein Kostenvorteil bietet und demnach würde sich das dritte Teilsystem 3 nicht von dem zweiten Teilsystem 2 unterscheiden.

Gemäß FIG 6 wird noch einmal das Freischaltmittel FSM in Be zug auf die Quittungen dargestellt. Beispielsweise werden in dem ersten Teilsystem 1 die zweite Ausgabequittung AQ2, die dritte Ausgabequittung AQ3, die zweite Zyklusquittung ZQ2 und die dritte Zyklusquittung ZQ3 über eine Und-Verknüpfung zu- sammengeschaltet und an das Freischaltmittel FSM als ein Gül tigkeitssignal weitergeleitet, die von dem ersten Prozessab bild PA1 des ersten Teilsystems 1 bereitgestellten ersten Ausgangsdaten Al können damit über die erste Applikationsbe- Ziehung AR1, beispielsweise über ein Profinet, zu den Ausga bemittel IO-Dev gesendet werden.