DE102010039607B3 - Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems - Google Patents

Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems Download PDF

Info

Publication number
DE102010039607B3
DE102010039607B3 DE102010039607A DE102010039607A DE102010039607B3 DE 102010039607 B3 DE102010039607 B3 DE 102010039607B3 DE 102010039607 A DE102010039607 A DE 102010039607A DE 102010039607 A DE102010039607 A DE 102010039607A DE 102010039607 B3 DE102010039607 B3 DE 102010039607B3
Authority
DE
Germany
Prior art keywords
task
controllers
cpu2
cpu1
output data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102010039607A
Other languages
English (en)
Inventor
Eduard Erhardt
Wilhelm Griesbaum
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102010039607A priority Critical patent/DE102010039607B3/de
Priority to CN201180048858.XA priority patent/CN103154837B/zh
Priority to GB1302754.5A priority patent/GB2497017B/en
Priority to PCT/EP2011/063753 priority patent/WO2012022661A1/de
Priority to US13/817,901 priority patent/US20130297044A1/en
Application granted granted Critical
Publication of DE102010039607B3 publication Critical patent/DE102010039607B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24186Redundant processors are synchronised
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24187Redundant processors run identical programs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24195Compare data in channels at timed intervals, for equality

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)
  • Control By Computers (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems mit mindestens zwei Steuerungen (CPU1, CPU2), bei dem jede Steuerung (CPU1, CPU2) nacheinander eine Anzahl (n) von Aufgabenblöcken (t1, t2, tx, ..., tn) ausführt, wobei für die Ausführung der Aufgabenblöcke übertragbare Ausgabedaten (E(t1), E(t2), E(tx), ..., E(tn)) in einer, die Anzahl der Aufgabenblöcke um eins übersteigende Zahl von Arbeitsbereichen (A1, A2, Ax, ..., An + 1, A1', A2', Ax', ..., An + 1') hinterlegt sind, die jeweils die Ausgabedaten zu jedem der Aufgabenblöcke beinhalten, wobei der eine zusätzliche Arbeitsbereich (An + 1, An + 1') als Systemarbeitsbereich die aktuell übertragbaren Ausgabedaten beinhaltet. Dadurch, dass beim Start eines Aufgabenblocks in den redundanten Steuerungen jeweils der zuvor synchronisierte Inhalt aus dem Systemarbeitsbereich in den Arbeitsbereich übergeben wird, dieser dann während der Ausführung des Aufgabenblocks aktualisiert und anschließend der aktualisierte Inhalt – wenn er in den redundanten Steuerungen identisch ist – wieder in den Systemarbeitsbereich übernommen wird bevor der nächste Aufgabenblock gestartet wird, ergibt sich ein sehr einfaches und sicheres Verfahren zur synchronen Datenhaltung und Steuerung der redundanten Steuerungen.

Description

  • Die Erfindung betrifft ein Verfahren zum redundanten Steuern von Prozessen eines Automatisierugssystems.
  • Redundante Automatisierungssysteme zum sicheren Betrieb einer Anlage oder eines Prozesses sind vielfach bekannt. Bei solchen Systemen ist die Steuerung in zwei oder mehrere Teilsysteme aufgeteilt, die selbstständig und nebeneinander einzelne Steuerungs- bzw. Regelungsaufgaben durchführen. Jedes der Teilsysteme weist dabei eine eigene Steuerung, eine sogenannte CPU, auf, die als Recheneinheit für die Ausführung der zuvor projektierten Automatisierungsfunktionen zuständig ist. Diese Funktionen sind dabei als Maschinenbefehle für die CPU in eine Folge von Aufgabenblöcken – sogenannte Tasks – aufgeteilt, die die Steuerungen nacheinander abarbeiten.
  • Sollen nun aus Sicherheitsgründen bestimmte Tasks redundant auf mehreren Teilsystemen bzw. CPU's ausgeführt werden, so muss dies synchron erfolgen. Ansonsten würde möglicherweise in den Teilsystemen auf divergierende Daten zugegriffen und sich somit unterschiedliche Ergebnisse nach der Abarbeitung bzw. der Ausführung der einzelnen Aufgabenblöcke ergeben. Der sichere Betrieb der zu steuernden Anlage bzw. des zu steuernden Prozesses wäre damit nicht mehr gewährleistet.
  • Aus der DE 196 25 195 A1 ist ein gattungsgemäßes Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems mit mindestens zwei Steuerungen bekannt, bei dem jede Steuerung nacheinander eine Anzahl von Aufgabenblöcken ausführt. Zwischen den Aufgabenblöcken sind an korrespondierenden Stellen Inkrementierungs-Anweisungen zur Inkrementierung je eines Synchronisationszählers eingefügt. Anhand der Werte der beiden Synchronisationszähler erfolgt eine Synchronisierung, wenn eine der Steuerungen ein Sonderereignis ermittelt.
  • Aus der US 7017073 B2 ist ein Verfahren zum redundanten Steuern von Prozessen eines Computersystems mit zwei Prozessoren bekannt, bei dem jeder Prozessor nacheinander eine Anzahl von Aufgabenblöcken ausführt, wobei am Ende der ausgeführten Aufgabenblöcke die Ergebnisdaten der beiden Prozessoren miteinander verglichen werden. Eine für den Vergleich erforderliche Synchronisierung der Abarbeitung der Aufgabenblöcke wird dort mittels der Verwendung eines Verzögerungs-Speichers erreicht.
  • Aufgabe der Erfindung ist es, ein Verfahren für ein sicheres redundantes Automatisierungssystem bereit zu stellen.
  • Diese Aufgabe wird mit dem Verfahren mit den Merkmalen des Anspruchs 1 gelöst, also einem Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems mit mindestens zwei Steuerungen, bei dem jede Steuerung nacheinander eine Anzahl von Aufgabenblöcken ausführt, wobei für die Ausführung der Aufgabenblöcke übertragbare Ausgabedaten in einer, die Anzahl der Aufgabenblöcke um eins übersteigende Zahl von Arbeitsbereichen hinterlegt sind, die jeweils die Ausgabedaten zu jedem der Aufgabenblöcke beinhalten, und bei dem der eine zusätzliche Arbeitsbereich als Systemarbeitsbereich die aktuell übertragbaren Ausgabedaten beinhaltet und zum Ausführen eines Aufgabenblocks in jede der Steuerungen so verwendet wird, dass beim Starten des auszuführenden Aufgabenblocks, ein aktueller Inhalt des Systemarbeitsbereichs in den Arbeitsbereich übergeben wird, am Ende des ausgeführten Aufgabenblocks, die mit Ergebnissen des ausgeführten Aufgabenblocks aktualisierten Ausgabedaten der Arbeitsbereiche der zumindest zwei Steuerungen miteinander verglichen werden, und der aktualisierte Inhalt dieser Arbeitsbereiche in die Systemarbeitsbereiche übernommen wird und der nächste Aufgabenblock gestartet wird, wenn der Inhalt der Arbeitsbereiche für den Aufgabenblock in den Steuerungen identisch ist.
  • Dadurch, dass beim Start eines Aufgabenblocks in den redundanten Steuerungen jeweils der zuvor synchronisierte Inhalt aus dem Systemarbeitsbereich in den Arbeitsbereich übergeben wird, dieser dann während der Ausführung des Aufgabenblocks aktualisiert und anschließend der aktualisierte Inhalt – wenn er in den redundanten Steuerungen identisch ist – wieder in den Systemarbeitsbereich übernommen wird bevor der nächste Aufgabenblock gestartet wird, ergibt sich ein sehr einfaches und sicheres Verfahren zur synchronen und konsistenten und damit widerspruchsfreien Datenhaltung und redundanten Steuerung in Automatisierungssystemen. Damit wird eine Weitergabe von abweichenden Ergebnissen und damit eine Fortführung der Steuerung mit abweichenden Ausgabedaten ausgeschlossen. Die Einführung einer die Anzahl der Aufgabenblöcke um eins übersteigende Zahl von Arbeitsbereichen und somit eines zusätzlichen Systemarbeitsbereichs zum Übergeben und Übernehmen von Ausgabedaten ermöglicht somit ein Automatisierungssystem mit hochverfügbarer Redundanz das gleichzeitig auch fehlersicher und damit sehr zuverlässig ist. Das erfindungsgemäße Verfahren ermöglicht damit letztendlich, dass die Automatisierungsfunktionalität unabhängig von der Systemfunktionalität wird. Die Tasks für die Automatisierungsfunktionen können jederzeit unabhängig vom System basierend auf aktuellen und konsistenten Daten, die zudem permanent im System verfügbar sind, gestartet werden. Zusätzliche Testroutinen für eine Konsistenzprüfung der Daten sind nicht mehr erforderlich, sondern bereits im Ablauf ohne Zeitverzögerung eingebunden. Somit stellt es ein sehr einfaches Verfahren zur redundanten Steuerung dar, wodurch sich auch Entwicklungs-, Test- und Wartungskosten reduzieren lassen.
  • Besonders vorteilhaft ist das erfindungsgemäße Verfahren bei der Verwendung von Mehrkernsystemen – das heißt CPU's mit mehreren Prozessoren. Der parallele und redundante Taskablauf auf diesen Prozessoren in einem Kern ermöglicht bei Anwendung des Verfahrens besonders hohe Verarbeitungsgeschwindigkeiten und Rechenleistungen, da ein sonst üblicher hoher Verwaltungs- und Koordinierungsaufwand entfällt.
  • Vorzugsweise werden die aktualisierten Inhalte der Arbeitsbereiche während einer Interruptsperre am Ende eines jeden ausgeführten Tasks in diesen Systemarbeitsbereich übernommen. Das bedeutet, dass nur noch eine Interruptsperre pro Task-Ausführung notwendig ist, so dass damit die Ablaufgeschwindig maximiert werden kann.
  • Vorteilhafterweise erfolgt nach der Ausführung eines Tasks in den redundanten Steuerungen ein Vergleich der aktualisierten Inhalte der jeweiligen Arbeitsbereiche anhand von Quersummen über die jeweiligen Inhalte. Dieser Quersummevergleich kann dabei beispielsweise nach bekannten Methoden des Checksummenvergleichs erfolgen. Diese steht sofort ohne größeren Rechenaufwand zur Verfügung, was auch wiederum zu einer maximierung der Ablaufgeschwindigkeit führt
  • Besonders vorteilhaft ist, wenn als aktualsierte Inhalte der Arbeitsbereiche nur die aktualisierten Ausgabedaten in die Systemarbeitsbereiche übernommen werden, da hier dann nur die Ergebnisse für diesen Task übernommen werden und alle andern Inhalte des Arbeitsbereichs unverändert bleiben.
  • Weitere erfindungsgemäße und vorteilhafte Ausbildungen ergeben sich aus den Unteransprüchen.
  • Die Erfindung soll nun nachfolgend beispielhaft anhand einer Figur erläutert werden. Dargestellt ist sehr schematisch ein Ablauf einer einzigen Taskausführung tx aus einer Anzahl n von Tasks t1, t2, tx bis tn. Dabei stellt jeder der Tasks einen Aufgabenblock mit Steuerungs- bzw. Maschinenbefehlen für die zu steuernden Automatisierungsfunktionen dar.
  • Zu Beginn des gezeigten Ablaufs wird zu einem Zeitpunkt 100, beispielsweise nach dem Anfahren des Automatisierungssystems oder nach Beendigung einer vorhergehenden Taskausführung, der Task tx gestartet, anschließend ausgeführt und zu einem Zeitpunkt 200 beendet, bevor dann gegebenenfalls der nachfolgende Task gestartet wird. Das Ausführen des Task tx ist hier nur durch einen Pfeil zwischen 100 und 200 dargestellt. Während des Ausführens des Tasks werden die einzelne Steuerungs- bzw. Maschinenbefehle des Automatisierungssystems in bekannter Weise umgesetzt und ausgeführt, so dass das Ausführen eines Aufgabenblocks hier nicht näher gezeigt und beschrieben werden muss. Wesentlich für die Erfindung sind vielmehr die Tatsachen, dass ein zusätzlicher Arbeitsbereich – der sogenannte Systemarbeitsbereich – geschaffen wird und dieser zu den beiden Zeitpunkte 100 und 200, nämlich beim Start und am Ende der Ausführung eines jeden der Aufgabenblöcke verwendet wird um eine redundante und fehlerfreie und damit eine sichere Steuerung der Automatisierungsfunktionen zu erreichen.
  • Im vorliegenden Ausführungsbeispiel sind zum Steuern der Prozesse des redundanten Automatisierungssystems zwei Steuerungen CPU1 und CPU2 vorgesehen, die nacheinander jeweils die zuvor projektierte Anzahl n von Aufgabenblöcken t1, t2, tx bis tn ausführt. Diesen n Aufgabenblöcken sind Ausgabedaten E(t1) bis E(tn) und E(t1)' bis E(tn)' zugeordnet, die für jede CPU in n Arbeitsbereichen A1 bis An und A1' bis An' hinterlegt sind. Vorgesehen ist nun, dass neben diesen n Arbeitsbereichen jeweils ein (n + 1)-ter Arbeitsbereich als sogenannter Systemarbeitsbereich An +1 bzw. An + 1' in den beiden Steuerungen CPU1 bzw. CPU2 vorgesehen ist, der die aktuell übertragbaren Ausgabedaten beinhaltet und zum Ausführen der Aufgabenblöcke – wie nachfolgend anhand des Aufgabenblocks tx beschrieben – Verwendung findet. Der Task tx wird in allen zu einem Redundanzsystem verbundenen CPUs, hier CPU1 und CPU2 gleichzeitig gestartet. Je Task-Start wird dabei der gesamte Inhalt der Systemarbeitsbereiche An + 1 bzw. An + 1' in den entsprechenden Arbeitsbereich Ax bzw. Ax' für den aktuellen Task tx kopiert, was in der Figur mit Bezugszeichen 110 für die CPU1 und 110' für die CPU2 angedeutet ist. Die Datenkonsistenz beim Kopieren wird dabei über den Vergleich der Übergabezähler Z der Systemarbeitsbereiche sichergestellt. Dieser Schreibzähler-Vergleich findet dabei vor und/oder nach der Übergabe statt. Bei einer Abweichung der Übergabezähler zwischen Systemarbeitsbereich An + 1 und Arbeitsbereich Ax für den Aufgabenblock tx in CPU1 bzw. Systemarbeitsbereich An + 1' und Arbeitsbereich Ax' für tx in CPU2 oder einer Abweichung der Übergabezähler zwischen den Arbeitsbereichen der beiden CPU's wird der Vorgang wiederholt. Bei Übereinstimmung der Übergabezähler erfolgt der eigentliche Task-Ablauf dann nach der Bereitstellung der aktuellen Inhalte im Arbeitsbereich Ax bzw. Ax' unabhängig von den Partner-CPU's, das heißt ohne Synchronisation der CPU's für die Dauer der Ausführung und bei Befehlsgranularer-Unterbrechbarkeit ohne Weck-Alarmsperren. Das bewirkt für den gesamten Ablauf, trotz der Multitasking-Funktionalität und Befehlsgranularer-Unterbrechbarkeit, ein Ein-Task-System (keine Task-Koordinierung und keine Synchronisation für die darauf basierende Funktionalität). Bei Task-Ende wird über das gesamte Task-Ergebnis eine Quersumme gebildet und den Partner-Komponenten für den Vergleich bereitgestellt – was in der Figur mit Bezugszeichen 220 dargestellt ist.
  • Sind die Quersummen über die Inhalte gleich, wird unter einer Interruptsperre das Task-Ergebnis E*(tx) bzw. E*(tx)' in den jeweiligen Systemarbeitsbereich An + 1 bzw. An + 1' der CPU1 und CPU2 kopiert (Bezugszeichen 210 und 210') und der fortlaufende Übergabezähler Z im Systemarbeitsbereich An + 1 bzw. An + 1' inkrementiert. Anschließend kann der nächste Ausführungsblock gestartet werden. Somit kann jeder einzelne Task mit aktuellen und konsistenten Daten zu einem beliebigen Zeitpunkt synchron in den redundanten Steuerungen starten.
  • Sind die Quersummen verschieden sind folgende Vorgehensweisen denkbar:
    • a.) die ermittelten Quersummen zwischenspeichern, und die Ausführung des Tasks tx erneut starten und vergleichen;
    • b.) wie bei fehlersicheren Systemen üblich, den Automatisierungsprozess abbrechen und in das Automatisierungssystem in einen sicheren Zustand fahren;
    • c.) die projektierten Tasks überprüfen und die erwarteten gleichen Quersummen mit den ermittelten verschiedenen Quersummen vergleichen.
  • Die vorliegende Erfindung ist nicht beschränkt auf die zuvor beschriebene Ausführungsform. Vielmehr sind auch Kombinationen, Abwandlungen bzw. Ergänzungen einzelner Merkmale denkbar, die zu weiteren möglichen Ausführungsformen der erfinderischen Idee führen können. So könnten beispielsweise die Systemarbeitsbereiche An + 1 und An + 1' der Steuerungen CPU1 und CPU2 Kopien eines zentral abgelegten Systemarbeitsbereichs darstellen, wobei dieser zentral abgelegte Systemarbeitsbereich vor dem Starten des nächsten auszuführenden Aufgabenblocks durch den aktuellen Inhalt der Systemarbeitsbereiche der beiden Steuerungen ersetzt wird.
  • Wichtig bei allen Ausführungsformen des erfindungsgemäßen Verfahrens ist nur die Lokalisierung der Abweichung zwischen den redundanten Steuerungen – seien es wie zuvor dargestellt zwei oder aber auch mehrere – am Ende jedes Ausführungsblocks und der Tatsache, dass solche Fehler sofort erkannt werden und es damit zu keiner Weitergabe von Fehler-Ergebnissen an den Prozess und keiner weiteren Verarbeitung mit verfälschten Werten kommt. Somit können auch die RAM-Fehler erkannt werden, die bei sehr langem kontinuierlichen Betrieb herkömmlicher Automatisierungssysteme vereinzelt im RAM auftreten können. Das erfindungsgemäße Verfahren lässt sich zudem auch sehr einfach für ein stossfreies Zuschalten von redundanten Steuerungen einsetzen, da zusätzliche Steuerungen Task spezifisch zugeschaltet werden können.

Claims (8)

  1. Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems mit mindestens zwei Steuerungen (CPU1, CPU2), bei dem jede Steuerung (CPU1, CPU2) nacheinander eine Anzahl (n) von Aufgabenblöcken (t1, t2, tx, ..., tn) ausführt, wobei für die Ausführung der Aufgabenblöcke übertragbare Ausgabedaten (E(t1), E(t2), E(tx), ..., E(tn)) in einer, die Anzahl der Aufgabenblöcke um eins übersteigende Zahl von Arbeitsbereichen (A1, A2, Ax, ..., An + 1, A1', A2', Ax', ..., An + 1') hinterlegt sind, die jeweils die Ausgabedaten zu jedem der Aufgabenblöcke beinhalten, und wobei der eine zusätzliche Arbeitsbereich (An + 1, An + 1') als Systemarbeitsbereich die aktuell übertragbaren Ausgabedaten beinhaltet und zum Ausführen eines Aufgabenblocks (tx) in jede der Steuerungen (CPU1, CPU2) so verwendet wird, dass – beim Starten (100) des auszuführenden Aufgabenblocks (tx), ein aktueller Inhalt des Systemarbeitsbereichs (An + 1, An + 1') in den Arbeitsbereich (Ax, Ax') übergeben wird (110, 110'), – am Ende (200) des ausgeführten Aufgabenblocks (tx), die mit Ergebnissen des ausgeführten Aufgabenblocks (tx) aktualisierten Ausgabedaten (E*(tx), E*(tx)') der Arbeitsbereiche (Ax, Ax') der zumindest zwei Steuerungen (CPU1, CPU2) miteinander verglichen werden (220), und – der aktualisierte Inhalt dieser Arbeitsbereiche (Ax, Ax') in die Systemarbeitsbereiche (An + 1, An + 1') übernommen wird (210, 210') und der nächste Aufgabenblock gestartet wird, wenn der Inhalt der Arbeitsbereiche (Ax, Ax') für den Aufgabenblock (tx) in den Steuerungen (CPU1, CPU2) identisch ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass vor und/oder nach dem Übergeben (110, 110') ein fortlaufender Übergabezähler (Z, Z') der aktuellen Systemarbeitsbereiche (An + 1, An + 1') der Steuerungen (CPU1, CPU2) verglichen wird.
  3. Verfahren nach Anspruch 1 oder 2 dadurch gekennzeichnet, dass am Ende (200) des ausgeführten Aufgabenblocks (tx) ein fortlaufender Übergabezähler (Z, Z') der Systemarbeitsbereiche (An + 1, An + 1') verglichen und inkrementiert wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die aktualisierten Inhalte der Arbeitsbereiche (Ax, Ax') in die Systemarbeitsbereiche (An + 1, An + 1') während einer Interruptsperre übernommen werden.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Inhalte als identisch bewertet werden, wenn die mit Ergebnissen des ausgeführten Aufgabenblocks (tx) aktualisierten Ausgabedaten (E*(tx), E*(tx)') in den zumindest zwei Steuerungen (CPU1, CPU2) gleich ist.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Ausgabedaten (E*(tx), E*(tx)') gleich sind, wenn deren Quersummen übereinstimmen.
  7. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass als aktualsierte Inhalte der Arbeitsbereiche (Ax, Ax') nur die aktualisierten Ausgabedaten (E*(tx), E*(tx)') in die Systemarbeitsbereiche (An + 1, An + 1') übernommen werden.
  8. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Systemarbeitsbereiche (An + 1, An + 1') der Steuerungen (CPU1, CPU2) Kopien eines zentral abgelegten Systemarbeitsbereichs sind und dieser zentral abgelegte Systemarbeitsbereich vor dem Starten des nächsten auszuführenden Aufgabenblocks durch den aktuellen Inhalt der Systemarbeitsbereiche der Steuerungen ersetzt wird.
DE102010039607A 2010-08-20 2010-08-20 Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems Active DE102010039607B3 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102010039607A DE102010039607B3 (de) 2010-08-20 2010-08-20 Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems
CN201180048858.XA CN103154837B (zh) 2010-08-20 2011-08-10 用于自动化***的过程冗余控制的方法
GB1302754.5A GB2497017B (en) 2010-08-20 2011-08-10 Method for redundantly controlling processes of an automation system
PCT/EP2011/063753 WO2012022661A1 (de) 2010-08-20 2011-08-10 Verfahren zum redundanten steuern von prozessen eines automatisierungssystems
US13/817,901 US20130297044A1 (en) 2010-08-20 2011-08-10 Method for redundantly controlling processes of an automation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102010039607A DE102010039607B3 (de) 2010-08-20 2010-08-20 Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems

Publications (1)

Publication Number Publication Date
DE102010039607B3 true DE102010039607B3 (de) 2011-11-10

Family

ID=44514708

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010039607A Active DE102010039607B3 (de) 2010-08-20 2010-08-20 Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems

Country Status (4)

Country Link
US (1) US20130297044A1 (de)
CN (1) CN103154837B (de)
DE (1) DE102010039607B3 (de)
WO (1) WO2012022661A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3428748A1 (de) * 2017-07-13 2019-01-16 Siemens Aktiengesellschaft Verfahren und anordnung zum betrieb von zwei redundanten systemen
CN111190345A (zh) * 2018-11-14 2020-05-22 西门子股份公司 每个硬件单元配有多个处理器单元的冗余的自动化***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625195A1 (de) * 1996-06-24 1998-01-02 Siemens Ag Synchronisationsverfahren
US7017073B2 (en) * 2001-02-28 2006-03-21 International Business Machines Corporation Method and apparatus for fault-tolerance via dual thread crosschecking

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043728B1 (en) * 1999-06-08 2006-05-09 Invensys Systems, Inc. Methods and apparatus for fault-detecting and fault-tolerant process control
JP2007511806A (ja) * 2003-11-17 2007-05-10 シーメンス アクチエンゲゼルシヤフト 技術的装置を制御するための冗長性自動化システム及びその作動方法
US7549082B2 (en) * 2005-04-28 2009-06-16 Hewlett-Packard Development Company, L.P. Method and system of bringing processors to the same computational point

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625195A1 (de) * 1996-06-24 1998-01-02 Siemens Ag Synchronisationsverfahren
US7017073B2 (en) * 2001-02-28 2006-03-21 International Business Machines Corporation Method and apparatus for fault-tolerance via dual thread crosschecking

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3428748A1 (de) * 2017-07-13 2019-01-16 Siemens Aktiengesellschaft Verfahren und anordnung zum betrieb von zwei redundanten systemen
US10564636B2 (en) 2017-07-13 2020-02-18 Siemens Aktiengesellschaft Method and arrangement for operating two redundant systems
CN111190345A (zh) * 2018-11-14 2020-05-22 西门子股份公司 每个硬件单元配有多个处理器单元的冗余的自动化***
CN111190345B (zh) * 2018-11-14 2023-06-13 西门子股份公司 每个硬件单元配有多个处理器单元的冗余的自动化***

Also Published As

Publication number Publication date
CN103154837A (zh) 2013-06-12
US20130297044A1 (en) 2013-11-07
WO2012022661A1 (de) 2012-02-23
CN103154837B (zh) 2017-06-16

Similar Documents

Publication Publication Date Title
DE2319753B2 (de) Anordnung zur Datenverarbeitung mittels in Mikroprogrammierung betriebener Prozessoren
DE2716775C2 (de)
EP0744676A2 (de) Verfahren und Einrichtung zum sicheren Betrieb einer numerischen Steuerung auf Werkzeugmaschinen oder Robotern
DE2904080A1 (de) Werkzeugmaschinen-steueranordnung
EP0907912A1 (de) Synchronisationsverfahren
EP0886823B1 (de) Verfahren zur überprüfung der funktionsfähigkeit einer recheneinheit
DE19509150C2 (de) Verfahren zum Steuern und Regeln von Fahrzeug-Bremsanlagen sowie Fahrzeug-Bremsanlage
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
EP0799441B1 (de) Verfahren zur steuerung von technischen vorgängen
EP0207051B1 (de) Mikrorechnersystem
DE102010039607B3 (de) Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems
EP3338189A2 (de) Verfahren zum betrieb eines mehrkernprozessors
DE102006012042A1 (de) Steuervorrichtung zur fehlersicheren Steuerung einer Maschine
DE102006052757A1 (de) Automatisierungsgerät mit einer Verarbeitungseinheit und Verwendung einer Verarbeitungseinheit in einem Automatisierungsgerät
DE69411096T2 (de) Entwicklungsunterstützungssystem für einen Mikrocomputer mit internem Cachespeicher
WO2004034261A1 (de) Verfahren zur ereignissynchronisation, insbesondere für prozessoren fehlertoleranter systeme
EP0104490A2 (de) Verfahren und Vorrichtung zur Synchronisation von Datenverarbeitungsanlagen
DE2647367A1 (de) Redundante prozessteueranordnung
EP0616274B1 (de) Synchronisationsverfahren für Automatisierungssysteme
DE2838887C2 (de) Datenverarbeitungsanlage mit einer Schaltung für Unterbrechungsanforderungen zur Übernahme des gemeinsamen Busses
DE2913371A1 (de) Verfahren und system zur ablaufsteuerung
DE3751374T2 (de) Verfahren und Mechanismus zum unabhängigen Sicherstellungsmodustransfer für digitale Steuerprozessoren.
DE19801992C2 (de) Verfahren zur Verbesserung der Systemverfügbarkeit nach dem Ausfall von Prozessoren einer Prozessorplattform
EP1774417B1 (de) Verfahren und vorrichtung zum überwachen des ablaufs eines steuerprogramms auf einem rechengerät
DE10229520A1 (de) Verfahren und Vorrichtung sowie Betriebssystem zur Steuerung von Vorgängen bei einem Fahrzeug

Legal Events

Date Code Title Description
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20120211