DE69128331T2 - Verfahren zur Haltung der Synchronisation eines freilaufenden Sekundärprozessors - Google Patents

Verfahren zur Haltung der Synchronisation eines freilaufenden Sekundärprozessors

Info

Publication number
DE69128331T2
DE69128331T2 DE69128331T DE69128331T DE69128331T2 DE 69128331 T2 DE69128331 T2 DE 69128331T2 DE 69128331 T DE69128331 T DE 69128331T DE 69128331 T DE69128331 T DE 69128331T DE 69128331 T2 DE69128331 T2 DE 69128331T2
Authority
DE
Germany
Prior art keywords
iop
message
iops
controller
main controller
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.)
Expired - Fee Related
Application number
DE69128331T
Other languages
English (en)
Other versions
DE69128331D1 (de
Inventor
Robert W Bristow
Paul F Mclaughlin
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.)
Honeywell Inc
Original Assignee
Honeywell Inc
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 Honeywell Inc filed Critical Honeywell Inc
Publication of DE69128331D1 publication Critical patent/DE69128331D1/de
Application granted granted Critical
Publication of DE69128331T2 publication Critical patent/DE69128331T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/24189Redundant processors monitor same point, common parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Safety Devices In Control Systems (AREA)
  • Programmable Controllers (AREA)

Description

    Verwandte Patentanmeldungen
  • Die vorliegende Anmeldung ist bezogen auf die US-Patentanmeldung mit der Seriennummer 07/588 386, angemeldet am 26.9.1990 und ausgegeben am 13.4.1993 als US-Patent 5 202 833 mit dem Titel "Universal Scheme of Input/Output Redundancy in a Process Control System" von Paul McLaughlin et. al., das am gleichen Tag wie die vorliegende Anmeldung angemeldet wurde und auf Honeywell Inc. übertragen ist, den Anmelder der vorliegenden Anmeldung. Eine entsprechende europaische Anmeldung 91 308 712.8 wurde am 25.9.1991 angemeldet. Diese bilden jedoch keinen Teil der vorliegenden Anmeldung.
  • Hintergrund der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Aufrechterhaltung einer Datenbank und insbesondere auf ein Verfahren zur Synchronisation und zur Aufrechterhaltung der Synchronisation eines sekundären Nebenprozessors mit einem primären Nebenprozessor wobei die primären und sekundären Nebenprozessoren jeweils getrennte Takte verwenden. Ferner können die zwei Nebenprozessoren keine Nachrichten zueinander auslösen oder direkt miteinander einen Dialog führen.
  • Prozeßregelsysteme mit Stütz-Prozeßsteuerungen, wie sie beispielsweise in dem US-Patent Nr.4 133 027, ausgegeben für J. A. Hogan am 2. Januar 1979 und in dem US-Patent Nr. 4 141 066, ausgegeben für Y. Keiles am 20. Februar 1979 beschrieben und beansprucht sind, umfassen eine Stützsteuerung mit zugeteiltem Speicher mit wahlfreiem Zugriff (RAM) und einem zugeordneten Festwertspeicher (ROM). Die Stützsteuerung läuft im wesentlichen leer und kann irgendwelche Hintergrundaufgaben ausführen, jedoch keine Aufgaben, die direkt auf die Prozeß-Steuerfunktion bezogen sind. Bei der Feststellung eines Ausfalles einer primären Prozeßsteuerung müssen die in dem RAM der ausgefallenen Steuerung gespeicherten Daten zu dem RAM der Stützsteuerung übertragen werden, um die Operationen der primären Steuerung auszuführen. Diese Systeme beschreiben ein System mit einer 1:N-Redundanz.
  • Bestehende Systeme, wie beispielsweise jenes, das in der US-Patentanmeldung mit der Seriennummer 07/299 859 beschrieben ist und die am 18.9.1990 als US-Patent 4 958 270 ausgegeben wurde und am 23. Januar 1989 angemeldet und für Honeywell Inc. eingetragen ist, dem Anmelder der vorliegenden Anmeldung und die der am 5.6.1990 angemeldeten europäischen Anmeldung 90 306 116.6 entspricht, sehen ein System mit 1:1-Redundanz vor, wobei die Datenbank einer sekundären Einrichtung (d.h. einer sekundären bzw. Stütz- Steuerung) periodisch so fortgeschrieben wird, daß der fortgeschriebene Prozeß für die primären Funktionen transparent ist und die CPU-Prozessorleistung nicht festbindet (bzw. beeinträchtigt) und einen minimalen Zeitbetrag verwendet. Wenn ein Sicherheitsübertragungszustand aufiritt, gibt es eine Zeitperiode, in der keine Dialoge zwischen der primären Steuerung und dem verbleibenden System stattfinden können (d.h. einen Funktionsausfall). Ferner befinden sich die primäre und sekundäre Steuerung an einem im voraus festgelegten Ort und die für die Verwirklichung dieses Redundanzmerkmals verwendete Software (d.h. die Redundanzsoftware) ist für andere Softwareschichten oberhalb der Redundanzsoftware nicht transparent. Wenn beispielsweise eine Universalstation eines Anlagen-Steuernetzwerkes eine Steuerung eines Prozeßreglers oder eines Prozeß-Steuersystems nach einem Wert abfragt (d.h. eine primäre Steuerung, da die sekundäre Steuerung nicht abgefragt werden kann), so ist während einer Sicherheitsübertragung die Steuerung nicht in der Lage zu antworten und die Universalstation gibt auf dem Displsay Fragezeichen an die Bedienungsperson aus.
  • Die vorliegende Erfindung gibt ein Verfahren vor, welches eine Datenbank in einem primären und sekundären Nebenprozessorpaar synchronisiert und die Synchronisation aufrechterhält wobei das Prozessorpaar in einem Dialognetzwerk vorhanden ist, bei dem kein Prozessor Dialoge zu dem anderen Prozessor auslösen kann. Die vorliegende Erfindung verwirklicht eine Datenübertragung von dem primären zu dem sekundären Prozessor auf einmal. was erreicht wird, indem der sekundäre Prozessor alle Dialoge zwischen dem primären Prozessor und dem Hauptprozessor abhört. Der sekundäre Prozessor, der alle Nachrichten an den primären Prozessor abhört, wirkt ebenfalls auf alle Nachrichten intern ein. Der sekundäre Prozessor antwortet jedoch nicht auf die Hauptsteuerung, sondern horcht den Dialog des primären Prozessors mit der Hauptsteuerung ab, um gültige Dialoge zu überprüfen. Der primäre und der sekundäre Nebenprozessor können keine Dialoge miteinander auslösen und sie besitzen keinen direkten Datenweg außer dem Datenweg zu der Hauptsteuerung. Das Abhören von Nachrichten zu dem primären Prozessor durch den sekundären Prozessor besitzt keine Einwirkung auf die Dialogleistung durch die Hinzufügung des sekundären (bzw. redundanten) Prozessors. Ferner tritt die anfängliche Synchronisierung parallel zu anderen Dialogen auf, so daß ein Dialog mit einem anderen Prozessor im Netzwerk eines Prozeßsteuersystems während der gleichzeitigen Synchronisierung der primären und sekundären Nebenprozessoren nicht gestört wird.
  • Zusammenfassung der Erfindung
  • Somit wird durch die vorliegende Erfindung ein Verfahren für die anfängliche Synchronisierung und die Aufrechterhaltung dieser Synchronisierung eines primären und sekundären Nebenprozessors eines Prozeßsteuersystems vorgegeben.
  • In einem Prozeßsteuersystem mit einer Hauptsteuerung und wenigstens einem Paar von Neben-Ein/Ausgabeprozessoren (IOP's) ist ein erster IOP des Paares ein primärer Neben- IOP und ein zweiter IOP des Paares ein sekundärer Neben-IOP. Der erste und der zweite IOP besitzen entsprechend eine erste und zweite Datenbank, wobei der erste und der zweite IOP jeweils die gleichen Aufgaben unter Verwendung eines entsprechenden ersten und zweiten Taktsy.stems bearbeiten. Die Datenbanken der ersten und zweiten IOP's sind synchronisiert. Dialoge durch die Hauptsteuerung erfolgen nur zu dem ersten IOP und umfassen Dialooe. die die erste Datenbank modifizieren. Ein Verfahren zur Aufrechterhaltung der Synchronisation zwischen dem ersten und zweiten IOP umfaßt die Schritte der Übertragung einer Nachricht durch die Hauptsteuerung, die an den ersten IOP adressiert ist. Der erste IOP empfängt die Nachricht für die nachfolgende Bearbeitung. Der Empfang der Nachricht wird betätigt durch eine Rückübertragung zu der Hauptsteuerung, wobei die Bestätigungsnachricht eine Nachrichtenzahl umfaßt. Der zweite IOP horcht die Übertragungen zwischen der Hauptsteuerung und irgendeinem der IOP's im Netzwerk ab.
  • Beim Erkennen, daß die Nachricht an den entsprechenden ersten IOP adressiert ist und daß die Nachricht von einem vorbestimmten Typ ist, empfängt der zweite IOP die Nachricht für eine nachfolgende Bearbeitung. Der zweite IOP überprüft die Nachrichtenzahl in der Bestätigungsnachricht des primären IOP, wobei die Nachrichtenzahl durch den zweiten IOP feststellbar ist, so daß, wenn sowohl der erste als auch der zweite IOP die Bearbeitung der empfangenen Nachricht vervollständigen, was zu einer Fortschreibung der entsprechenden Datenbanken führt, beide Datenbanken fortgesetzt die gleiche Information enthalten, wodurch die Synchronisation aufrechterhalten wird. Demgemäß ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren für die Synchronisation und die Aufrechterhaltung der Synchronisation eines primären und sekundären Nebenprozessors vorzugeben.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung ein Verfahren für die Synchronisierung und die Aufrechterhaltung der Synchronisierung eines primären und sekundären Nebenprozessors vorzugeben, die an ein Netzwerk eines Prozeßsteuersystems angeschlossen sind.
  • Es ist noch eine weitere Aufgabe der vorliegenden Erfindung, ein Verfahren für die Synchronisation und die Aufrechterhaltung der Synchronisation eines primären und sekundären Nebenprozessors vorzugeben, die an ein Netzwerk angeschlossen sind, wobei der Nebenprozessor einen Dialog miteinander auslösen kann.
  • Diese und weitere Aufgaben der vorliegenden Erfindung werden klarer, wenn sie im Zusammenhang mit der folgenden Beschreibung und den beigefügten Zeichnungen betrachtet werden. wobei gleiche Bezugsziffern gleiche Teile beziffern und welche Zeichnungen einen Teil der vorliegenden Anmeldung bilden.
  • Kurze Beschreibung der Zeichnungen
  • Fio. 1 zeiot ein Blockdiagramm eines Prozeßsteuersystems, bei dem die vorliegende Erfindung verwendet werden kann;
  • Fig. 2 zeigt ein Blockdiagramm eines Prozeßreglers einschließlich E/A-Modulen (IOP), in welchem die vorliegende Erfindung verwendet werden kann:
  • Fig. 3 zeigt ein Blockdiagramm einer Steuerung, die in dem Prozeßregler von Fig. 2 enthalten ist;
  • Fig. 4 zeigt ein Blockdiagramm eines E/A-Moduls, der in dem Prozeßregler von Fig. 2 enthalten ist;
  • Fig. 5 zeigt ein Blockdiagramm des Redundanzschemas des E/A-Moduls innerhalb der Prozeßsteuerung von Fig. 2;
  • Fig. 6 zeigt ein vereinfachtes Blockdiagramm der Prozeßsteuerung von Fig. 2;
  • Fig. 7 zeigt ein Flußdiagramm des Dialogschemas zwischen der Steuerung und den primären und sekundären IOP's gemäß dem Verfahren der vorliegenden Erfindung:
  • Fig. 8 zeigt ein Flußdiagramm der Auslösung der Datenbank des sekundären IOP unter Verwendung des Dialogschemas des Verfahrens der vorliegenden Erfindung gemäß Fig. 7; und
  • Fig. 9 welche die Figuren 9A und 9B umfaßt, zeigt den Auslöse-Synchronisationsprozeß des Verfahrens der vorliegenden Erfindung.
  • Detaillierte Beschreibung
  • Bevor das Verfahren der vorliegenden Erfindung beschrieben wird, ist es hilfreich, eine Systemumgebung zu verstehen, in der die vorliegende Erfindung verwendet werden kann. Bezug nehmend auf Fig. 1 ist dort ein Blockdiagramm eines Prozeßsteuersystems 10 gezeigt, in welchem die vorliegende Erfindung angetroffen werden kann. Das Prozeßsteuersystem umfaßt ein Anlagen-Steuernetzwerk 11, in welchem eine Prozeßsteuerung 20 betriebsmäßig mit dem Anlagen-Steuernetzwerk 11 über ein universelles Steuemetzwerk (UCN) 14 mit einem Netzwerk-Schnittstellenmodul (NIM) 602 verbunden ist. Im bevorzugten Ausführungsbeispiel des Prozeßsteuersystems 10 können zusätzliche Prozeßsteuerungen 20 betriebsmäßig mit dem Anlagen-Steuemetzwerk 11 über ein entsprechendes UCN 14 und einen entsprechenden NIM 602 angeschlossen sein. Die Prozeßsteuerung 20 bildet eine Schnittstelle zwischen analogen Eingangs- und Ausgangssignalen Lind zwischen digitalen Eingangs- und Ausgangssignalen (A/I, A/O, D/I und D/O) mit dem Prozeßsteuersystem 10 und zu einer Vielzahl von Feldgeräten (nicht dargestellt) welche Ventile. Druckschalter, Druckmeßgeräte, Thermoelemente, ... umfassen.
  • Das Anlagen-Steuemetzwerk 11 gibt eine Gesamtüberwachung eines gesteuerten Prozesses zusammen mit dem Anlagenbediener vor und erhält alle Information, die für die Ausführung der Überwachungsfunktion erforderlich ist und es umfaßt eine Schnittstelle zu der Bedienungsperson. Das Anlagen-Steuernetzwerk 11 umfaßt eine Vielzahl physikalischer Module, welche eine universelle Bedienstation (US) 122, einen Anwendungsmodul (AM) 124, einen Verlaufsmodul (FIM) 126, und einen Computermodul (CM) 128 umfassen und es umfaßt Duplikate dieser Module (und zusätzliche Arten von Modulen, nicht dargestellt) falls erforderlich, um die geforderte Steuer/Überwachungsfunktion des gesteuerten Prozesses auszuführen. Jeder dieser physikalischen Module ist im Betrieb an ein lokales Steuernetzwerk (LCN) 120 angeschlossen, welches jedem dieser Module den Dialog mit jedem anderen Modul in der erforderlichen Weise gestattet. Der NIM 602 bildet eine Schnittstelle zwischen dem LCN 120 und dem UCN 14. Eine vollständigere Beschreibung des Anlagen-Steuernetzwerkes 11 und der physikalischen Module kann durch Bezugnahme auf das US-Patent Nr.4 607 256 erhalten werden.
  • Bezug nehmend auf Fig. 2 ist dort ein Blockdiagramm der Prozeßsteuerung 20 dargestellt. Die Prozeßsteuerung 20 des bevorzugten Ausführungsbeispieles des Prozeßsteuersystems 10 umfaßt eine Steuerung A 30 und eine Steuerung B 40, welche effektiv als eine primäre und sekundäre Steuerung arbeiten. Die Steuerung A 30 und die Steuerung B 40 sind an das UCN 14 angeschlossen. wobei das UCN 14 im bevorzugten Ausführungsbeispiel für die Zwecke des redundanten Dialoges ein UCN(A) 14A und ein UCN(B) 148 umfaßt. Ein/Ausgabe-Prozessoren (IOP's) 21 (manchmal hier als Eingabe/Ausgabe (E/A)-Module bezeichnet). bilden eine Schnittstelle zu Feldgeräten, wobei die Feldgeräte verschiedene Ventile, Druckschalter. Druckanzeigen, Thermoelemente,... umfassen, die analoge Eingänge (A/I). analoge Ausgänge (A/O), digitale Eingänge (D/I) und digitale Ausgänge (D/O) sein können. Die Steuerung A 30 bildet eine Schnittstelle mit jedem E/A Modul 21 über einen Bus A 22 und die Steuerung B 40 bildet eine Schnittstelle mit jedem E/A- Modul 21 über einen Bus B 23. Zusätzlich ist erneut für die Zwecke des redundanten Dialogs die Steuerung A 30 ebenfalls mit dem Bus B 23 und die Steuerung B 40 mit dem Bus A 22 verbunden.
  • Die Steuerung A 30 und die Steuerung B 40 können miteinander über drei Medien, das UCN 14. eine Verbindung 13 zwischen den Steuerungen und die Busse A 22. B 23. einen Dialog ausführen. wobei der Bus A und der Bus B im bevorzugten Ausführungsbeispiel serielle E/A-Verbindungen sind. Eine Steuerung (Steuerung A 30 oder Steuerung B 40) arbeitet als eine primäre Steuerung und die andere Steuerung arbeitet als eine sekundäre Steuerung (mehr in einem Reservemodus als in einem Stützmodus insofern, als beim Ausfall der Steuerung A 30 die Steuerung B 40 bereit ist, die Steuerungsfunktion mit im wesentlichen keiner Start- bzw. Auslösezeit zu übernehmen). Auf einer vorbestimmten Zeitbasis wird eine Punktverarbeitung durch die Steuerung ausgeführt, die als die primäre Steuerung bezeichnet ist und im Dialog mit den E/A-Modulen 21 steht. Zusätzlich steht die als die primäre Steuerung wirkende Steuerung im Dialog mit dem Anlage-Steuernetzwerk 11 und berichtet den Status und den Verlauf und nimmt Eingänge von dem Anlagen- Steuernetzwerk. wie beispielsweise Anweisungen von der Bedienungsperson über die Uni versalstation 122 an. Zusätzlich wird eine durch die primäre Steuerung unterhaltene Datenbank der sekundären Steuerung über die Verbindung 13 mitgeteilt. Wie zuvor erwähnt. arbeitet eine Steuerung als eine sekundäre Steuerung; es versteht sich jedoch durch den Fachmann. daß eine sekundäre Steuerung für die Prozeßsteuerung 20 nicht erforderlich ist.
  • Gemäß Fig. 3 ist ein Blockdiagramm der Steuerung 30, 40 gezeigt. Ein Modem so ist an das UCN 14 angeschlossen, wobei das Modem zwei Eingänge besitzt, von denen einer an das UCN 14A und der andere an das UCN 14B angeschlossen ist. Das Modem 50 bildet eine Schnittstelle mit einer Dialogeinheit (COMM) 60, welche ihrerseits eine Schnittstelle mit einem globalen Speicher 70, einer E/A-Schnittstelleneinheit 80 und einer Steuereinheit 90 über einen globalen Bus 72 bildet. Die Dialogeinheit 60 umfaßt eine Dialog- Steuereinheit. im bevorzugten Ausführungsbeispiel eine Token-Bussteuerung (TBC) 61 vom Motorola-Typ 68824. die an einen lokalen Bus 62 angeschlossen ist. Ein Prozessor A 63 (der im wesentlichen die Dialogfunktion ausführt) ist an den lokalen Bus 62 und an einen lokalen Speicher A 64 angeschlossen, der ebenfalls mit dem lokalen Bus 62 verbunden ist. Der Prozessor A 63 führt einen Dialog mit dem Anlagen-Steuernetzwerk 11 über das Modem 50 und die TBC 61 aus. Der lokale Speicher A 64 speichert Information einschließlich eines Persönlichkeitsbildes, welches aus dem Anlagen-Steuernetzwerk 11 geladen wird zur Verwendung durch den Prozessor A 63 und die TBC 61. Der globale Speicher 70 speichert Information, die sowohl dem Prozessor A 63 als auch dem Prozessor B 91 gemeinsam ist. Er speichert ebenfalls alle Daten, die von dem Bus A 22 Lind dem Bus B 23 empfangen werden. Der globale Speicher 70 dient ebenfalls der Dialogförderung zwischen den Prozessoren A 63 und B 91. Die Steuereinheit 90 umfaßt den Prozessor B 91 und einen lokalen Speicher B 92, die beide an einen lokalen Bus 93 angeschlossen sind. Der Prozessor B 91 führt die Steuerfunktion aus (d.h. die Steuerverarbeitung) bezüglich der Feldgeräte. Dies umfaßt im wesentlichen die Ausführung der Meßpunktverarbeitung und die Fortschreibung des lokalen Speichers B 92 und des globalen Speichers 70. Ebenfalls an den lokalen Bus 93 der Steuereinheit 90 angeschlossen ist eine Verfolgungseinheit (nicht dargestellt), welche verwendet wird, um die Datenbankübertragung über die Verbindung 13 zu der anderen Steuerung 30, 40 der Prozeßsteuerung 20 zu verwirklichen. Eine detailliertere Beschreibung der Verfolgungseinheit kann erhalten werden durch Bezugnahme auf die Patentanmeldungen:
  • (a) Patentanmeldung mit der Seriennummer 07/299 857 und mit dem Titel "APPARATUS FOR TRACKING PREDETERMINED DATA FOR UPDATING A SECONDARY DATA BASE", von P. Gerhart, angemeldet am 23. Januar 1989; und
  • (b) Patentanmeldung mit der Seriennummer 07/299 859mit dem Titel "METHOD FOR CONTROL DATA BASE UPDATING OF A REDUNDANT PROCESSOR IN A PROCESS CONTROL SYSTEM" durch P. McLaughlin et al, angemeldet am 23. Januar 1989 und ausgegeben als US-Patent 4 958 270 am 18.9.1990 und entsprechend der europäischen Anmeldung 90 306 116.6, angemeldet am 5.6.1990. welche keinen Teil der vorliegenden Anmeldung bilden.
  • Beide oben angegebene Anmeldungen sind für Honeywell Inc. eingetragen, dem Anmelder der vorliegenden Anmeldung. Die E/A-Schnittstelleneinheit 80 umfaßt eine Empfangs/Sendeeinrichtung, wobei diese Einrichtung ein UART 81 (Universal Asynchronous Receiver/Transmitter) ist. Der UART 81 ist über Treiber 82.83 an den Bus A 22 und den Bus B 23 entsprechend angeschlossen.
  • Der Prozessor B 91 empfängt Daten von verschiedenen Feldgeräten über den globalen Speicher 70, führt die erforderliche Meßpunktverarbeitung und Steuerfunktion aus und schreibt sodann den lokalen Speicher B 92 und den globalen Speicher 70 in der erforderlichen Weise fort. Die Dialogeinheit 60 gibt auf Grund von Anweisungen von der Steuereinheit 90 über den globalen Speicher 70 Daten zwischen den E/A-Modulen 21 (über die E/A-Schnittstelleneinheit 80) und den globalen Speicher 70 ein und aus, wodurch die Steuereinheit 90 von der Last der E/A-Modulverwaltung befreit wird. Auf diese Weise wird die Steuerverarbeitung durch die Steuereinheit 90 innerhalb der Prozeßsteuerung 20 für die im voraus definierten angeschlossenen Feldgeräte ausgeführt und der Dialog (d.h. die E/A-Steuerung) wird durch die Dialogeinheit 60 über den UART 81 gehandhabt.
  • Bezug nehmend auf Fig. 4 ist dort ein Blockdiagramm eines E/A-Moduls dargestellt. Ein Sende/Empfänger 201 (Entprellschaltkreis) bildet eine Schnittstelle mit dem Bus A 22 und dem Bus B 23. Der Sender/Emplänger 201 bildet eine Schnittstelle mit einem Mikrokontroller (µ-Kontroller) 202, welcher im bevorzugten Ausführungsbeispiel vom Typ 80C31 der Firma Intel ist. Der Mikrokontroller ist an einen lokalen Bus 203 angeschlossen und umfaßt einen EPROM 204 und einen RAM 205, die ebenfalls an den lokalen Bus 203 angeschlossen sind. Der RAM 205 enthält die Information, die die Datenbank für den E/A-Modul 21 bildet. Der EPROM 204 enthält die Programminformation, die durch den Mikrokontroller 202 verwendet wird. Ebenfalls mit dem lokalen Bus 203 verbunden ist ein Eingangspuffer, der die E/A-Verbindungs- Adresseninformation von der E/A-Verbindung (Bus A 22, Bus B 223) empfängt. Der Ausgangspuffer 208 (Pufferausgang) ist mit dem lokalen Bus 203 verbunden. Die anwendungsspezifischen Schaltkreise 209 sind ebenfalls an den lokalen Bus 203 angeschlossen und bilden eine Schnittstelle mit den Ein- und Ausgangspuffern 206. 208 und dem Mikrokontroller 202 über den lokalen Bus 203. Die anwendungsspezifischen Schaltkreise 209 variieren von E/A-Modul zu E/A-Modul in Abhängigkeit von dem Feldgerät. an das der E/A-Modul angeschlossen ist. Wenn das Feldgerät von einem Typ ist der einen digitalen Eingang erfordert, so umfassen die anwendungsspezifischen Schaltkreise 209 die Logik. um den digitalen Eingang in ein im voraus definiertes Format zu bringen. das von dem Rest des E/A-Moduls verarbeitet wird. Wenn das Feldgerät solcher Art ist. daß es einen analogen Eingang erfordert, so enthalten in gleicher Weise die anwendungsspezifischen Schaltkreise eine Logik, die das analoge Eingangssignal (über einen A/D-Wandler) in ein Format umwandelt, das erneut mit den im voraus definierten Formaten übereinstimmt. Auf diese Weise werden die E/A-Module als ein spezifischer E/A-Modultyp bezeichnet. Der Mikrokontroller 202 führt die E/A-Verarbeitung (oder Vorverarbeituno) für die anwendungsspezifischen Schaltkreise 209 aus. Die Vorverarbeituno variiert zwischen jedem E/A-Modul 21 in Abhängigkeit von dem Typ (d.h. A/I. A/O. ...). wobei die Vorverarbeitung im wesentlichen in der Umsetzung der Signale von den anwendungsspezifischen Schaltkreisen in ein Format besteht. das mit der Steuerung 30.40 kompatibel ist und in der Umsetzung der Signale von der Steuerung 30, 40 in ein Format besteht, das mit dem E/A-Modul 21 kompatibel ist. Die ausgeführte Vorverarbeitung umfaßt eine Nullpunktdrift, eine Linearisierung (Linearisierung von Thermoelementen), eine Hardwarekorrektur, eine Kompensation (Verstärkungskompensation und Nullpunktkompensation), eine Referenzverbindungs-Kompensation, eine Kalibrierkorrektur. Umwandlungen, Alarmprüfungen (Grenzwerte)... und die Erzeugung eines Signales in einem vorbestimmten Format mit vorbestimmter Skalierung (d.h. Reduziereinheiten, normierte Einheiten, Skalierungsprozente, ...). Im bevorzugten Ausführungsbeispiel sind sieben Typen von anwendungsspezifischen Schaltkreisen vorgesehen, wobei diese umfassen einen analogen Eingang mit hohem Pegel, einen analogen Eingang mit niedrigem Pegel, einen analogen Ausgang, einen digitalen Eingang, einen digitalen Ausgang, eine intelligente Transmitter-Schnittstelle und einen Impuls- Eingangszahler.
  • Bezug nehmend auf Fig. 5 ist dort ein funktionelles Blockdiagramm einer Feld- Anschlußanordung 251 (FTA) dargestellt, die verwendet wird, um das Redundanzschema der E/A- Module 21 innerhalb der Prozeßsteuerung 20 zu verwirklichen. Wie zuvor beschrieben. umfaßt die Prozeßsteuerung 20 die Steuerung A 30 und die Steuerung B 40. die an die E/A-Verbindung 22, 23 angeschlossen sind. Ebenfalls verbunden mit der E/A- Verbindung 22.23 sind die E/A-Module 21 (hier ebenfalls als Einlausgabe-Prozessor IOP bezeichnet). Bei dem Redundanzschema der IOP's, wie es bei dem bevorzugten Ausführungsbeispiel der Prozeßsteuerung 20 verwendet wird, ist der E/A-Modul 21 vom Typ mit analogem Ausgang dupliziert, was in Fig. 5 als AO(A) 21-A und AO(B) 21-B gezeigt ist (andere E/A-Module sind, wie zuvor erläutert, an die E/A-Verbindung 22.23 angeschlossen. aber hier der Vereinfachung wegen nicht gezeigt). Jeder IOP umfaßt einen Prozessor 202-A, 202-B wie zuvor beschrieben. Der IOP AO(A) und der IOP AO(B) sind beide an ein Feldgerät (D) 250 über eine Feld-Anschlußanordnung (FTA) 251 angeschlossen. wobei das Feldgerät ein Ventil, Thermoelement, ... ist. Beide IOP's AO(A) 21-A und AO(B) 21-B bearbeiten die gleichen Aufgaben und geben die gleiche Information an die FTA 251 aus (unter der Annahme, daß keine Fehler in irgendeinem IOP vorliegen). Der Ausgang von nur einem IOP ist jedoch tatsächlich an das Feldgerät 250 angeschlossen. wie dies nunmehr erläutert wird.
  • Ein IOP wird als Haupt-IOP oder primärer IOP festgelegt und der andere IOP wird als Stütz-IOP oder redundanter IOP festgelegt. Hier wird der IOP AO(A) 21-A als der Haupt- IOP bezeichnet der mit dem Feldgerät 250 eine Schnittstelle bildet und der IOP AO(B) 21-B wird als redundanter IOP festgelegt. Beide IOP's geben die gleiche Information von einer entsprechenden Stromquelle 211-A, 211-B aus. Die Ausgangsinformation ist an einen gemeinsamen Meßpunkt 252 (einen Anschluß, der manchmal als Kundenanschluß bezeichnet wird) über eine entsprechende Diode 212-A, 212-B angeschlossen. Ein gemeinsamer Punkt zwischen der Stromquelle 211-A und der Diode 212-A von AO(A) 21-A ist mit einem ersten Kontaktpunkt 256 eines Relais 253 verbunden und ein gemeinsamer Punkt zwischen der Stromquelle 211-B und der Diode 212-B von AO(B) 21-B ist an einen zweiten Kontaktpunkt des Relais 253 angeschlossen. Der Arm 258 des Relais 253 ist mit einem Massepunkt verbunden und wird normalerweise auf den zweiten Kontaktpunkt des Relais 253 geschaltet (d.h. kein Strom durch die Spule 254) so daß der Ausgang der zweiten Stromquelle 211-B von AO(B) 21-B nach Masse kurzgeschlossen ist. Auf diese Weise wird nur die Ausgangsinformation von AO(A) 21-A an das Feldgerät 250 angeschlossen. Für den Fall eines Ausfalles von AO(A) 21-A schaltet das Relais 253, so daß der Ausgang von AO(A) 21-A nach Masse kurzgeschlossen wird und der Ausgang von dem redundanten IOP AO(B) 21-B unmittelbar an den Kundenanschluß 252 angeschlossen wird und somit an das Feldgerät 250. Das Schalten des Relais 253 wird ausgelöst durch Aktivierung einer Spule 254 des Relais 253.
  • 20 Ein Anschluß der Relaisspule 254 ist an AO(A) 21-A angeschlossen und der andere Anschluß der Relaisspule 254 ist an AO(B) 21-B angeschlossen. Normalerweise ist das Relais geschaltet (kein Strom durch die Spule 254), so daß der IOP(A) mit dem Feldgerät 250 in Verbindung steht und der IOP(B) sich im Stützmodus befindet (d.h. der Ausgang des IOP(B) ist nach Masse durch das Relais 253 kurzgeschlossen). Wenn ein Fehler durch die Steuerung 30 festgestellt wird. so löst die Steuerung A 30 (oder die Steuerung B 40, wenn sie als die primäre Steuerung arbeitet) eine Anweisung an die IOP's aus. um das Relais 253 zu schalten. (Die IOP's IOP(A) und IOP(B) können ebenfalls die Umschaltung bewirken. wenn sie einen Fehler feststellen).
  • Die IOP-Redundanz wird nunmehr beschrieben. Bezug nehmend auf Fig. 6 ist dort ein vereinfachtes Blockdiagramm der Prozeßsteuerung 20 von Fig. 2 gezeigt. bei dem die Redundanz der Steuerung unterdrückt ist und die einen IOP und einen Stütz-IOP nur für die Zwecke des Beispiels besitzt. Im bevorzugten Ausführungsbeispiel können bis zu vierzig (40) IOP's enthalten sein und irgendeine Mischung von IOP-Typen kann in einer redundanten oder nicht-redundanten Konfiguration enthalten sein. Wie der Fachmann aus der obigen Beschreibung erkennt, arbeitet die Steuerung 30 als Haupt-Prozessor und der IOP-Modul 21-A als primärer Neben-Prozessor und der IOP-Modul 21-B als Stütz- (oder sekundärer oder redundanter)-Nebenprozessor.
  • Nur für die Zwecke des Beispiels sei angenommen, daß die Prozeßsteuerung 20 mit der Steuerung 30 als primärer Steuerung arbeitet und der E/A-Modul 21-A (ein analoger Ausgangsmodul) als Modul 1 gemäß den Konfigurationsregeln des Prozeßsteuersystems konfiguriert ist. Der IOP A 21-A ist immer vorhanden (unter der Annahme des Erfordernisses nach einem A/O IOP) und der IOP B 21-B ist wahlweise vorhanden (mit der anfänglichen Annahme, daß der nicht konfiguriert ist). Daher ist der IOP B in Fig. 6 in gestrichelten Linien gezeigt. Für die Zwecke des Beispieles sei angenommen. daß der IOP(A) an der Dateiadresse 3 und der Kartenadresse 8 angeordnet ist. (Im bevorzugten Ausführungsbeispiel des Systems ist das Gehäuse unterteilt in Dateien (Reihen) und Kartenschlitze). Somit wird in diesem Beispiel die "gedruckte Schaltkreiskarte" eines A/O IOP, der als IOP(A) 21-A bezeichnet wird, in der Reihe 3 in den Kartenschlitz 8 eingesetzt. Dem IOP(A) wird eine logische Adresse gegeben wobei angenommen wird daß in diesem Beispiel die logische Adresse 1 zugeordnet wird. Die Datenbank der Steuerung 30 umfaßt die Daten für einen unter der logischen Adresse 1 an den Bus A 22 angeschlossenen IOP. die physikalische Adresse des IOP(A) der Datei 3, die Karte 8 und ist anfänglich nicht-redundant (Siehe Zustand 1 von Tabelle 1). Die Steuerung 30 steht im Dialog mit dem primären Neben-IOP über die konfigurierte logische Adresse. Das Prozeßsteuersystem 10 wird an Spannung gelegt und zusammen mit der Prozeßsteuerung 20 ausgelöst. die die Steuerung 30 und den IOP(A) 21-A umfaßt und normal betrieben wird. Der IOP(A) 21-A ist an die Punkte "A" der FTA 251 angeschlossen. Tabelle 1 - Datenbank der Steuerung 30
  • Zu irgendeinem späteren Zeitpunkt kann der Stütz-Neben-IOP 21-B hinzugefügt werden, während das System 10 läuft. Der IOP(A) 21-A arbeitet weiterhin normal und der IOP(B) 21-B ist an irgendeinem Ersatzort in der Datei (Gehäuse, Reihe, ...) konfiguriert. Der IOP(B) ist an die Anschlüsse "B" der FTA 251 angeschlossen und gemäß den Konfigurationsregeln des Systems wird Information ausgegeben (von der Universalstation US 122 des Anlagen-Steuernetzwerkes 11), die auf den IOP(B) bezogen ist und Information über den Ort enthält und die Tatsache, daß der IOP(B) der Stützprozessor für den Modul 1 ist (d.h. den Modul mit der logischen Adresse 1). Diese Information wird zu der Steuerung 30 während des normalen Betriebs des Systemes 10 übertragen und die Datenbank der Steuerung wird fortgeschrieben (Referenzzustand 2 von Tabelle 1 unter der Annahme, daß der IOP(B) 21-B in der Datei 4, Kartenschlitz 10 angeordnet ist). Es sei durch den Fachmann vermerkt, daß viele Techniken für die manuelle Eingabe solcher Information an einem Eingangsterminal durch die Bedienungsperson verfügbar sind, was hier nicht näher erläutert wird, da es für das Verständnis des Redundanzschemas des vorliegenden Systems nicht erforderlich ist.
  • Die vorliegende Erfindung sei nunmehr beschrieben. Die Steuerung 30 bewirkt sodann eine Synchronisation des IOP(B) 21-B gemäß dem Verfahren der vorliegenden Erfindung. Die Synchronisation ist das Verfahren, bei dem die gleiche Datenbank sowohl in dem IOP(A) 21-A als auch in dem IOP(B) 21-B enthalten ist. Die Information der Datenbank des IOP(A) wird durch die Steuerung 30 angefordert. Der IOP(B) 21-B horcht die Übertragungen der Daten von dem IOP(A) 21-A zu der Steuerung 30 ab und speichert die Information in einem Datenbankspeicher, wodurch die Datenbank des IOP(B) 21-B zu der gleichen Datenbank gemacht wird woraufhin dem IOP(B) der Bearbeitungsbeginn befohlen wird. Wenn die Steuerung 30 einmal alle Daten der Datenbank des IOP(A)gelesen hat. d.h. der IOP(B) hat die Daten abgebildet, so bewirkt die Steuerung eine Überprüfung, um sicherzustellen, daß der IOP(A) und der IOP(B) äquivalente Daten in der Datenbank zu diesen Zeitpunkt besitzen und beide werden durch die Steuerung 30 informiert. daß die Synchronisation erfolgreich und vollständig ist. Der IOP(B) führt die gleichen Operationen wie der IOP(A) aus und gibt die gleiche Information zu der FTA 251 im wesentlichen zum gleichen Zeitpunkt 0 eder IOP arbeitet jedoch mit seinem eigenen Takt). Es sei vermerkt. daß der IOP(B) 21-B ein zugeteilter Stütz-IOP ist. Der Betrieb, der FTA 251 erlaubt jedoch nur dem IOP(A) oder dem IOP(B) das Erreichen des Feldgerätes 250, wie dies zuvor beschrieben wurde. Wenn der IOP(B) einmal synchronisiert ist, so ist die Datenbank der Steuerung fortgeschrieben, wie dies im Zustand 3 von Tabelle 1 gezeigt ist.
  • Bezugnehmend auf Fig. 7 ist dort ein Flußdiagramm des Dialogschemas zwischen der Steuerung und den primären und sekundären IOP's gezeigt, um die Synchronisation gemäß dem Verfahren der vorliegenden Erfindung aufrechtzuerhalten. Im Normalbetrieb werden alle Übertragungen (d.h. Einschreibungen) in den IOP(A) 21-A von der Steuerung 30 ebenfalls durch den IOP(B) empfangen. Der IOP(B) horcht den Dialog ab, da sowohl der IOP(A) als auch der IOP(B) eine logische Adresse von 1 in diesem Beispiel besitzen und die Steuerung 30 durch die logische Adresse den Dialog mit dem primären IOP führt. Die Steuerung führt ihre Hauptverarbeitung durch, der primäre IOP führt seine Hauptverarbeitung durch und der sekundäre IOP führt seine Hauptverarbeitung durch, welche die gleiche wie diejenige des primären IOP's ist aber voraus- oder nacheilt, da jeder IOP mit seinem eigenen Takt läuft (dies setzt voraus, daß die Auslösung des sekundären IOP vervollständigt worden ist und synchronisiert ist). Zu irgendeinem Zeitpunkt überträgt die Steuerung eine Nachricht zu dem IOP mit einer logischen Adresse von 1. Sowohl der primäre IOP 21-A als auch der sekundäre IOP 21-B empfangen diese Nachricht. Die Steuerung fährt sodann mit ihrer Hauptverarbeitung weiter. Der primäre IOP unterbricht jedoch seine Hauptverarbeitung, um die empfangene Nachricht anzunehmen (Block 900). Die an die logische Adresse 1 gerichtete Nachricht wird empfangen (Block 901) und die Nachricht wird dekodiert (Block 902). Wenn eine Lesenachricht festgestellt worden ist, so wird die Nachricht in einem Lesepuffer für das nachfolgende Lesen der angeforderten Daten in die primäre Datenbank für die nachfolgende Übertragung zu der Steuerung (Block 903) gespeichert. Wenn eine Schreibnachricht dekodiert worden ist so wird die Nachricht in einem Schreibpuffer (Block 904) gespeichert und es wird ihr eine Nachrichtenzahl (Block 905) zugeordnet. Eine Bestätigungsnachricht wird sodann durch den primären IOP (Block 906) zu der Steuerung zusammen mit der zugeordneten Nachrichtenzahl übertragen. Die Bestätigungsnachricht zeigt der Steuerung an, daß die Nachricht empfangen worden ist und die Nachrichtenzahl zeigt der Steuerung die zugeordnete Nachrichtenzahl an, so daß nachfolgende Abfragen durch die Steuerung bezüglich des Status der speziellen Nachrichtenanforderungen durch die Nachrichtenzahl erfolgen können (Bei dieser Beschreibung bedeuten Schreibanforderungen durch die Steuerung irgendwelche Veränderungen der Datenbank). Nachfolgende Anfragen durch die Steuerung betreffend den Status einer Nachricht mit einer spezifischen Nachrichtenzahl führen zu einer Statusrückführung der bearbeiteten Nachricht zusammen mit der Nachrichtenzahl. Wenn die angeforderte Aktion vervollständigt ist, was normalerweise während der Hauptverarbeitung des primären IOP's stattfindet, so wird der Status auf einen vollständigen Status fortgeschrieben, so daß, wenn eine Statusanforderung durch die Steuerung erfolgt. ein vollständiger Status angezeigt werden kann. Im bevorzugten Ausführungsbeispiel des Verfahrens der vorliegenden Erfindung besitzt der vollständige Status drei eindeutige Klassen, welche umfassen: Okay, Warnung und Ausfall. In dieser besonderen Situation bedeutet der Ausfall, daß die Aktion auf Grund irgendeines Fehlers nicht stattgefunden hat (z.B. ist der Meßpunkt nicht aktiv, ...) und Warnung bedeutet, daß die Aktion stattgefunden hat, die Daten aber modifiziert worden sind (z.B. kann eine Anforderung zur Öffnung eines Ventus um 102% durch den primären IOP modifiziert werden, um das Ventil nur um 100 % zu öffnen...).
  • Der sekundäre IOP empfängt ebenfalls die übertragene Nachricht mit einer logischen Adresse von 1, da der sekundäre IOP die logische Adresse seines primären Partners kennt. Der sekundäre IOP unterbricht seine Hauptverarbeitung, um die Nachricht anzunehmen (Block 907). Die empfangene Nachricht wird decodiert ( Block 908) und wenn eine Lesenachricht festgestellt worden ist, so endet die Verarbeitung und kehrt zurück zu der Hauptverarbeitung des sekundären IOP. Wenn eine Schreibnachricht festgestellt worden ist, so wird die Nachricht in einem Schreibpuffer gespeichert (Block 909) und nachdem der primäre bP geantwortet hat, wird die Nachrichtenzahl durch den primären IOP zu der Steuerung übertragen und die Bestägungsnachricht wird jiberprüft (Block 910). Wenn der primäre IOP nicht antwortet, so ignoriert der sekundäre IOP die Nachricht und beendet die Bearbeitung. Die Nachrichtenzahlen sind der Reihe nach zugeordnet, so daß der sekundäre IOP Kenntnis von der nächsten Nachrichtenzahl besitzt, die durch den primären IOP zugeteilt wird (Block 910). Während der anfänglichen Synchronisation wird der sekundäre IOP ebenfalls mit der laufenden Nachrichtenzahl des primären IOP's bekanntgemacht. Wenn die Überprüfung der Nachrichtenzahl sich als okay herausstellt (Block 911), so endet die Verarbeitungsroutine der Nachricht durch den sekundären IOP und kehrt zurück zu der Hauptverarbeitung des sekundären IOP's (Block 911). Wenn die Nachrichtenzahl nicht die erwartete Nachrichtenzahl ist, so wird ein Fehler angezeigt, um nachfolgend der Steuerung anzuzeigen, daß ein Fehler, d.h. eine nicht korrekte Nachrichtenzahl festgestellt worden ist und daß sich der sekundäre IOP nicht länger in Synchronismus mit dem primären bP befindet. Der sekundäre IOP bearbeitet bei seiner Hauptverarbeitung die gleichen Daten wie der primäre IOP (unter der Annahme, daß die Überprüfung der Nachrichtenzahl durchgeführt wurde) wobei dies aber zu unterschiedlichen Zeitpunkten aber in der gleichen Reihenfolge geschieht. Da er mit seinem eigenen Takt betrieben wird. kann der sekundäre IOP in seiner Verarbeitung im Vergleich zu der Hauptverarbeitung des primären IOP's vorauseilen oder nacheilen.
  • Gemäß Fig. 8 ist ein Flußdiagramm der Auslösung des sekundären IOP's gezeigt. In Übereinstimmung mit dem Dialogschema, das zuvor im Zusammenhang mit Fig. 7 beschrieben wurde, überträgt die Steuerung Anforderungen an den primären IOP, um die Datenbank zu lesen (Block 920). Die Leseanforderung an die Datenbank ist in der Form einer Depot-Anweisung. Vor dem Senden der Depot-Anweisung gibt die Steuerung 30 eine Anweisung "Einfrieren Schreibpuffer" an den primären IOP aus. Die Einfrier-Anweisung wird in dem Schreibpuffer abgelegt (es sei erinnert, daß alle Eingänge in einer Warteschlange in der Reihenfolge des Empfangs abgelegt werden). Sowohl der primäre als auch der sekundäre IOP hält die Verarbeitung von allen Dingen an, die nach der Einfrier- Anweisung kommen (Nachrichten können von irgendeiner Quelle auf der Verbindung durch den Bus A 22 angenommen werden, werden aber nicht verarbeitet, nachdem die Einfrier-Anweisung festgestellt ist). Wenn die Steuerung 30 feststellt, daß beide IOP's "eingefroren" sind so löst die Steuerung 30 eine Depot-Folge aus. Die angeforderten Daten, d.h. die Datenbank wird zu der Steuerung durch den primären IOP (Block 921) übertragen. Das Depot bzw. das Lesen der Datenbank benötigt eine vorbestimmte Anzahl von Lese/Übertragungs-Transaktionen zu ihrer Vervollständigung. Die Daten der Datenbank, die zu der Steuerung 30 übertragen werden, umfassen einen Kopfteil und einen Endteil die vorbestimmt sind und dem sekundären IOP bekannt sind, der diese Übertragungen abhört. Der sekundäre IOP horcht die zu der Steuerung 30 übertragene Datenbankinformation ab und speichert die Information in seiner Datenbank (Block 922). Auf diese Weise enthält die Datenbank des sekundären IOP's die gleichen Daten wie die Datenbank des primären IOP's. Die Steuerung fragt sodann den sekundären IOP (über die physikalische Adresse) nach Statusinformation ab (Block 923). Wenn sich der Status als okay herausstellt (Block 924), so ist der sekundäre IOP synchronisiert und die Steuerung setzt den Synchronisationshinweis übereinstimmend mit der Beschreibung, wie sie zuvor für die Tabelle 1 gegeben wurde. Wenn der Status anzeigt, daß die Übertragung nicht okay war und daß die Fortschreibung der Datenbank nicht ohne irgendwelche Fehler geschehen ist, so wird ein Fehler angezeigt und es können verschiedene Fehler-Bearbeitungsroutinen stattfinden, wie beispielsweise eine Anzeige für die Bedienungsperson, das Setzen des Status auf nicht-synchronisiert, das Herausnehmen des sekundären IOP's, ein Neuversuch, ...
  • Das Verfahren der anfänglichen Synchronisation sei nunmehr im Zusammenhang mit Fig. 9 beschrieben. Bezug nehmend auf die Figuren 9A und 9B, welche zusammen die Figur 9 umfassen ist dort der anfängliche Synchronisationsprozeß des sekundären IOP's gezeigt. Für Beispielszwecke führt der primäre IOP eine Bearbeitung durch und der sekundäre IOP arbeitet mit einer nicht-synchronisierten Datenbank. Gemaß dem zuvor beschriebenen Dialogschema empfängt der primäre IOP Anweisungen, die in einer Warteschlange gespeichert sind und der sekundäre IOP speichert ebenfalls einige Anweisungen (d.h. Anweisungen vom Schreibtyp) in seiner Warteschlange. Gemäß Fig. 9A sind die primären und sekundären Warteschlangen mit dem Inhalt der entsprechenden Warteschlangen dargestellt. Die Steuerung 30 hat Anweisungen CMD1 bis CMD4 an den primären IOP übertragen, der primäre IOP hat mit den angezeigten Nachrichtenzahlen geantwortet und speichert die Anweisungen in seiner Warteschlange. Der sekundäre IOP hat ebenfalls die gleichen Anweisungen empfangen und sie in seiner Warteschlange gespeichert, überprüft die Nachrichtenzahl gemäß dem zuvor beschriebenen Dialogschema mit Ausnahme für CMD2, welche eine Leseanweisung war und durch den sekundären IOP im wesentlichen gestrichen wird. CMD1, welche durch den sekundären IOP empfangen wurde, ist bereits durch den sekundären IOP bearbeitet worden und tritt daher momentan in seiner Warteschlange nicht auf Die zwei IOP's befinden sich nicht im Verriegelungsschritt. Die Reihenfolge der Information und der Datenanweisungen, die in die IOP's reinkommt, ist jedoch die gleiche.
  • Die nächste durch die Steuerung 30 übertragene Anweisung ist eine Einfrier-Anweisung, welche durch beide IOP's in ihren entsprechenden Warteschlangen gespeichert wird. Jeder IOP fährt mit seiner Verarbeitung fort, einschließlich der Verarbeitung der Anweisungen bis die Einfrier-Anweisung festgestellt wird. (Zusätzliche Anweisungen können weiter von der Steuerung 30 oder irgendeinem anderen IOP an der Verbindung eingehen. Diese Anweisungen werden in den Warteschlangen gespeichert, werden aber nicht verarbeitet bis der IOP eine Entfrier-Anweisung empfängt). Wenn die Einfrier-Anweisung festgestellt wird, tritt keine weitere Verarbeitung auf Wenn die Steuerung 30 feststellt, daß sowohl der primäre als auch der sekundäre IOP "eingefroren" sind, so gibt die Steuerung eine Depot- Anweisung an den primären IOP aus. Die Depot-Anweisung löst eine vorbestimmte Anzahl von Lesetransaktionen gemäß dem zuvor beschriebenen Schema aus, wobei der primäre IOP Information zu der Steuerung überträgt. Jedoch werden dieses Mal (auf Grund der Depot-Anweisung) die Übertragungen durch den sekundären IOP abgehorcht, der die Information annimmt und die Information in seiner Datenbank speichert. Der primäre und der sekundäre IOP besitzen eine vorbestimmte Kenntnis von der Anzahl der Aufzeichnungen. dem Format der Aufzeichnungen Bei der letzten Lesetransaktion der Depot-Anweisung zeigt der primäre IOP die letzte Leseanweisung der Steuerung 30 an, wodurch das Ende der Datenbankinformation angezeigt wird. Zu diesem Zeitpunkt sind die Datenbanken des primären und sekundären IOP's die gleichen. In Kenntnis, daß die Depot- Operation vervollständigt ist (und keine Fehler festgestellt worden sind), werden in dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung beide IOP's "entfroren", d.h. sowohl der primäre als auch der sekundäre IOP starten die Verarbeitung und beginnen mit der normalen Bearbeitung. Somit verarbeitet jeder IOP CMD5 in seiner entsprechenden Warteschlange und fährt normal mit der Verarbeitung weiter. Fig. 9B zeigt ein Flußdiagramm der Depot-Operation des bevorzugten Ausführungsbeispieles der vorliegenden Erfindung.
  • Erneut werden bei der normalen Operation alle Übertragungen (d.h. Schreibanweisungen) zu dem IOP(A) 21-A durch die Steuerung 30 ebenfalls durch den IOP(B) empfangen. Der IOP(B) horcht den Dialog ab da sowohl der IOP(A) als auch der IOP(B) eine logische Adresse von 1 in diesem Beispiel besitzen und die Steuerung 30 den Dialog mit den IOP's über die logische Adresse führt. Auf diese Weise wird die Synchronisation des IOP(B) aufrechterhalten und es sind keine gesonderten Dialoge erforderlich und es wird keine gesonderte Dialogzeit gebraucht. In dem vorliegenden System lösen der IOP(A) und der IOP(B) keinen Dialog mit der Steuerung 30 aus, sondern sie antworten auf Informationsanforderungen. Im sekundären Modus antwortet der sekundäre IOP nicht auf Schreibanforderungen. wenn die Steuerung den IOP durch die logische Adresse adressiert sondern er antwortet auf die Steuerung, wenn die physikalische Adresse benutzt wird. Die Steuerung adressiert periodisch sowohl den primären als auch den sekundären IOP, um zu überprüfen. daß keine Fehler aufgetreten sind.
  • Während gezeigt worden ist, was als das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung angesehen wird. liegt es auf der Hand, daß viele Änderungen und Modifikationen dabei vorgenommen werden können, ohne daß von dem Rahmen der Erfindung abgewichen wird. Es ist daher bearsichtigt, in den angefügten Ansprüchen alle solche Änderungen und Modifikationen abzudecken, die in den wahren Rahmen der Erfindung fallen.

Claims (14)

1. Verfahren zum Betrieb eines Prozeßsteuersystems mit einer Hauptsteuerung und wenigstens einem Paar von Neben-Ein/Ausgabe-Prozessoren (IOP's), wobei ein erster IOP des Paares ein primärer Neben-IOP ist und ein zweiter IOP des Paares ein sekundärer Neben-IOP ist, der erste und zweite IOP eine erste und zweite Datenbank entsprechend besitzen, der erste und zweite IOP jeweils die gleichen Aufgaben unter Verwendung eines ersten und zweiten Taktsystems entsprechend bearbeiten und wobei ferner die Datenbanken der ersten und zweiten IOP's synchronisiert sind, Dialoge durch die Hauptsteuerung nur zu dem ersten IOP erfolgen und Dialoge umfassen, die die erste Datenbank modifizieren, wobei das Verfahren gekennzeichnet ist durch die Aufrechterhaltung der Synchronisation zwischen dem ersten und dem zweiten IOP und die Schritte umfaßt:
a) Übertragung einer Nachrichtenadresse zu dem ersten IOP durch die Hauptsteuerung;
b) Empfang der Nachricht durch den ersten IOP zur nachfolgenden Bearbeitung;
c) Bestätigung des Empfangs der Nachricht durch eine Übertragung einer Bestätigungsnachricht zurück zu der Hauptsteuerung, wobei die Bestätigungsnaclrricht eine Nachrichtenzahl umfaßt;
d) Abhören der Übertragung zwischen der Hauptsteuerung und irgendeinem der IOP's durch den zweiten IOP;
e) Beim Erkennen, daß die Nachricht zu dem entsprechenden ersten IOP adressiert ist und daß die Nachricht von einem vorbestimmten Typ ist, Empfang der Nachricht durch den zweiten IOP für eine nachfolgende Bearbeitung; und
f) Überprüfung der Nachrichtenzahl in der Bestätigungsnachricht durch den zweiten IOP, wobei die Nachrichtenzahl durch den zweiten IOP bestimmbar ist, so daß, wenn sowohl der erste als auch der zweite IOP die Bearbeitung der empfangenen Nachricht vervollständigt, was zu einer Fortschreibung der entsprechenden Datenbanken fuhrt, beide Datenbanken fortgesetzt die gleiche Information enthalten, wodurch die Synchronisation aufrechterhalten wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß in einem Schritt der Übertragung einer Nachricht zu dem ersten IOP der erste IOP durch die Hauptsteuerung mit einer logischen Adresse adressiert wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß in dem Schritt der Bestätigung die in der Bestätigungsnachricht verwendete Nachrichtenzahl eine sequentielle Zahl für jede empfangene Übertragung ist, wobei eine anfängliche Nachrichtenzahl zu dem zweiten IOP während einer Auslösung des zweiten IOP übertragen worden ist.
4. Verfahren nach irgendeinem vorhergehenden Anspruch, dadurch gekennzeichnet, daß bei dem Schritt des Empfangs der Nachricht durch den zweiten IOP die Nachricht von einem vorbestimmten Typ eine Nachricht vom Schreibtyp ist, welche eine Modifikation der Daten in der Datenbank hervorruft.
5. Verfahren nach irgendeinem vorhergehenden Anspruch, dadurch gekennzeichnet, daß bei dem Schritt des Empfangs der Nachricht durch den zweiten IOP der zweite IOP die Erkennung ausführt, ob die übertragene Nachricht an den entsprechenden ersten IOP adressiert ist, in dem er die logische Adresse des ersten IOP erkennt, wobei der entsprechende zweite IOP die gleiche logische Adresse wie der entsprechende erste IOP besitzt.
6. Verfahren nach irgendeinem vorhergehenden Anspruch, gekennzeichnet ferner dadurch, daß es den schritt umfaßt: Anzeige an die Hauptsteuerung durch den zweiten IOP eines Verlustes der Synchronisation bei der Feststellung, daß die Nachrichtenzahlen nicht übereinstimmen.
7. Verfahren nach irgendeinem vorhergehenden Anspruch, dadurch gekennzeichnet, daß vorbestimme Nachrichtentypen, die durch den ersten und zweiten IOP empfangen werden, in einer Warteschlange in der Reihe des Empfanges gespeichert sind und dieses ferner die Schritte umfaßt:
a) Bei der Auslührung einer Anweisung vom eingefrorenen typ Anhalten der normalen Bearbeitung;
b) Beim Empfang einer Anweisung vom Depot-Typ Ausführung einer vorbestimmten Reihe von Auslesungen aus dem ersten IOP zu der Hauptsteuerung;
c) Aufgrund der Depot-Anweisung Abhorchen der Übertragungen vom Schritt (1,) durch den zweiten IOP, um die Information abzufangen, die von dem ersten IOP zu der Hauptsteuerung übertragen wird;
d) Wiederholung der Schritte (b) und (c) während einer vorbestimmten Zahl von Zeiten; und
e) Wenn keine Fehler festgestellt worden sind, Beginn der normalen Bearbeitung durch den ersten und zweiten IOP.
8. Prozeßsteuersystem mit einer Hauptsteuerung und wenigstens einem Paar von Neben- Ein/Ausgabe-Prozessoren (IOP's), wobei ein erster IOP des Paares ein primärer Neben-IOP und ein zweiter IOP des Paares ein sekundärer Neben-IOP ist, der erste und zweite IOP eine erste und zweite Datenbank entsprechend besitzen, der erste und zweite IOP jeweils die gleichen Aufgaben unter Verwendung eines ersten und zweiten Taktsystems entsprechend bearbeiten und wobei ferner die Datenbanken der ersten und zweiten IOP's synchronisiert sind, Dialoge durch die Hauptsteuerung nur zu dem ersten IOP erfolgen und Dialoge umfassen, die die erste Datenbank modifizieren, wobei das System gekennzeichnet ist durch mittel zur Aufrechterhaltung der Synchronisation zwischen dem ersten und dem zweiten IOP und umfaßt:
a) Mittel zum Übertragen einer Nachricht zu dem ersten IOP durch die Hauptsteuerung;
b) Mittel zum Empfang der Nachricht durch den ersten IOP zur nachfolgenden Bearbeitung;
c) Mittel zur Bestätigung des Empfangs der Nachricht durch eine Übertragung einer Bestätigungsnachricht zurück zu der Hauptsteuerung, wobei die Bestätigungsnachricht eine Nachrichtenzahl umfaßt;
d) Mittel zum Abhorchen der Übertragung zwischen der Hauptsteuerung und irgendeinem der IOP's durch den zweiten IOP;
e) Beim Erkennen, daß die Nachricht zu dem entsprechenden erstep IOP adressiert ist und daß die Nachricht von einem vorbestimmten Typ ist, Mittel zum Empfang der Nachricht durch den zweiten IOP tur eine nachfolgende Bearbeitung; und
f) Mittel zum Überprüfen der Nachrichtenzahl in der Bestätigungsnachricht durch den zweiten IOP, wobei die Nachrichtenzahl durch den zweiten IOP bestimmbar ist, so daß, wenn sowohl der erste als auch der zweite IOP die Bearbeitung der empfangenen Nachricht vervollständigt, was zu einer Fortschreibung der entsprechenden Datenbanken führt, beide Datenbanken fortgesetzt die gleiche Information enthalten, wodurch die Synchronisation aufrechterhalten wird.
9. VorrichtungnachanspruchB, gekennzeichnet durch Mittelzum Adressieren des ersten IOP durch die Hauptsteuerung durch eine logische Adresse bei dem Schritt der Übertragung einer Nachricht zu dem ersten IOP.
10. Vorrichtung nach den Ansprüchen 8 oder 9, gekennzeichnetdurc h Mittel bei dem Schritt der Bestätigung, daß die in der Bestätigungsnachricht verwendete Nachrichtenzahl eine sequentielle Zahl für jede empfangene Übertragung ist, wobei eine anfängliche Nachrichtenzahl zu dem zweiten IOP während einer Auslösung des zweiten IOP übertragen worden ist.
11. Vorrichtung nach irgendeinem der Ansprüche 8 bis 10, dadurch gekennzeichnet, daß in dem Schritt des Empfangs der Nachricht durch den zweiten IOP die Nachricht von einem vorbestimmten Typ eine Nachricht vom Schreibtyp ist, welche eine Modifikation der Daten in der Datenbank hervorruft.
12. Vorrichtung nach irgendeinem der Ansprüche 8 bis 11, dadurch gekennzeichnet, daß bei dem Schritt des Empfangs der Nachricht durch den zweiten IOP der zweite IOP die Erkennung ausgeführt, ob die übertragene Nachricht an den entsprechenden ersten IOP adressiert ist, indem er die logische Adresse des ersten IOP erkennt, wobei der entsprechende zweite IOP die gleiche logische Adresse wie der entsprechende erste IOP besitzt.
13. Vorrichtung nach irgendeinem der Ansprüche 8 bis 12, gekennzeichnet durch Mittel zum Anzeigen der Hauptsteuerung eines Verlustes der Synchronisation durch den zweiten IOP bei der Feststellung, daß die Nachrichtenzahlen nicht übereinstimmen.
14. Vorrichtung nach irgendeinem der Ansprüche 8 bis 13, gekennzeichnet durch Mittel zum Speichern vorbestimmter Nachrichtentypen in einer Warteschlange in der Reihe, wie sie durch den ersten und zweiten IOP empfangen werden, und die ferner umfaßt:
a) Mittel zum Anhalten der normalen Bearbeitung bei der Ausführung einer Anweisung vom eingefrorenen Typ;
b) Mittel zur Ausführung einer vorbestimmten Reihe von Auslesungen aus dem ersten IOP zu der Hauptsteuerung beim Empfang einer Anweisung vom Depot- Typ;
c) Mittel zum Abhören der Übertragungen von (b) durch den zweiten IOP, um die Information abzufangen, die von dem ersten IOP zu der Hauptsteuerung übertragenwird;
d) Mittel zum Beginn einer normalen Bearbeitung durch den ersten und zweiten IOP, wenn keine Fehler festgestellt worden sind.
DE69128331T 1990-09-26 1991-09-25 Verfahren zur Haltung der Synchronisation eines freilaufenden Sekundärprozessors Expired - Fee Related DE69128331T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/588,211 US5142470A (en) 1990-09-26 1990-09-26 Method of maintaining synchronization of a free-running secondary processor

Publications (2)

Publication Number Publication Date
DE69128331D1 DE69128331D1 (de) 1998-01-15
DE69128331T2 true DE69128331T2 (de) 1998-06-04

Family

ID=24352943

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69128331T Expired - Fee Related DE69128331T2 (de) 1990-09-26 1991-09-25 Verfahren zur Haltung der Synchronisation eines freilaufenden Sekundärprozessors

Country Status (6)

Country Link
US (1) US5142470A (de)
EP (1) EP0478290B1 (de)
JP (1) JPH0511820A (de)
AU (1) AU645601B2 (de)
CA (1) CA2051717C (de)
DE (1) DE69128331T2 (de)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255388A (en) * 1990-09-26 1993-10-19 Honeywell Inc. Synchronizing slave processors through eavesdrop by one on a write request message directed to another followed by comparison of individual status request replies
US5202822A (en) * 1990-09-26 1993-04-13 Honeywell Inc. Universal scheme of input/output redundancy in a process control system
JPH04133102A (ja) * 1990-09-26 1992-05-07 Mitsubishi Electric Corp プログラマブル・コントローラ及びその制御方法
US5222017A (en) * 1990-11-23 1993-06-22 The University Of British Columbia Control system to synchronize slave computers
US5978831A (en) * 1991-03-07 1999-11-02 Lucent Technologies Inc. Synchronous multiprocessor using tasks directly proportional in size to the individual processors rates
US5583757A (en) * 1992-08-04 1996-12-10 The Dow Chemical Company Method of input signal resolution for actively redundant process control computers
JP2557192B2 (ja) * 1993-03-15 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法
US5473771A (en) * 1993-09-01 1995-12-05 At&T Corp. Fault-tolerant processing system architecture
JPH07262032A (ja) * 1994-03-17 1995-10-13 Fujitsu Ltd 情報処理装置
US6381595B1 (en) 1994-09-29 2002-04-30 International Business Machines Corporation System and method for compensation of functional differences between heterogeneous database management systems
US5768577A (en) * 1994-09-29 1998-06-16 International Business Machines Corporation Performance optimization in a heterogeneous, distributed database environment
US5764949A (en) * 1994-09-29 1998-06-09 International Business Machines Corporation Query pass through in a heterogeneous, distributed database environment
US5588150A (en) * 1994-09-29 1996-12-24 International Business Machines Corporation Push down optimization in a distributed, multi-database system
US5535217A (en) * 1994-12-20 1996-07-09 International Business Machines Corporation Method and apparatus for probabilistic clock synchronization with interval arithmetic
US5802265A (en) * 1995-12-01 1998-09-01 Stratus Computer, Inc. Transparent fault tolerant computer system
US5761518A (en) * 1996-02-29 1998-06-02 The Foxboro Company System for replacing control processor by operating processor in partially disabled mode for tracking control outputs and in write enabled mode for transferring control loops
US5790397A (en) * 1996-09-17 1998-08-04 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US5941915A (en) * 1997-02-18 1999-08-24 Cummins Engine Company, Inc. System for providing accurately time stamped vehicle operational messages following a real-time clock reset
US5966301A (en) * 1997-06-13 1999-10-12 Allen-Bradley Company, Llc Redundant processor controller providing upgrade recovery
US5933347A (en) * 1997-06-13 1999-08-03 Allen-Bradley Company Llc Industrial controller with program synchronized updating of back-up controller
US6070251A (en) * 1997-06-26 2000-05-30 Sun Microsystems, Inc. Method and apparatus for high availability and caching data storage devices
US6073141A (en) * 1997-11-25 2000-06-06 International Business Machine Corporation System and method for synchronizing local versions of database
US6516327B1 (en) * 1998-12-24 2003-02-04 International Business Machines Corporation System and method for synchronizing data in multiple databases
US6701198B1 (en) * 1999-12-22 2004-03-02 Rockwell Automation Technologies, Inc. Safety network for industrial controller allowing initialization on standard networks
US6931307B2 (en) * 2001-02-16 2005-08-16 Visteon Global Technologies, Inc. Technique for data synchronization in a multiple system vehicle architecture
DE10113260B4 (de) * 2001-03-16 2005-10-20 Siemens Ag Synchrones, getaktetes Kommunikationssystem mit Relativuhr und Verfahren zum Aufbau eines solchen Systems
DE10149986C2 (de) * 2001-10-11 2003-11-13 Siemens Ag Rechneranordnung mit einem signaltechnisch sicheren Mehrrechnersystem und einem Vorverarbeitungsrechnersystem
US7251693B2 (en) * 2001-10-12 2007-07-31 Direct Computer Resources, Inc. System and method for data quality management and control of heterogeneous data sources
FI115015B (fi) * 2002-04-22 2005-02-15 Metso Automation Oy Menetelmä ja järjestelmä väylän varmistamiseksi sekä ohjauspalvelin
US7797394B2 (en) * 2005-04-18 2010-09-14 Dell Products L.P. System and method for processing commands in a storage enclosure
US7739234B1 (en) 2005-12-15 2010-06-15 Teradata Us, Inc. Techniques for synchronizing data store tables
US8421614B2 (en) * 2007-09-19 2013-04-16 International Business Machines Corporation Reliable redundant data communication through alternating current power distribution system
WO2013061494A1 (ja) * 2011-10-28 2013-05-02 日本電気株式会社 通信中継装置、稼働状態決定方法、通信中継制御基板及び制御プログラムが格納された記憶媒体
EP2787404A1 (de) * 2013-04-04 2014-10-08 Siemens Aktiengesellschaft Verfahren zum Betreiben eines dezentralen Peripheriesystems
US9618909B2 (en) * 2013-12-20 2017-04-11 Thales Canada Inc Safety assurance of multiple redundant systems
JP5954338B2 (ja) 2014-01-14 2016-07-20 横河電機株式会社 計装システム及びその保守方法
US10248601B2 (en) * 2014-03-27 2019-04-02 Honeywell International Inc. Remote terminal unit (RTU) with universal input/output (UIO) and related method
US10503617B2 (en) 2017-02-16 2019-12-10 Honeywell International Inc. Method for synchronizing redundant controllers without hardware support
CN109510774B (zh) * 2018-12-05 2022-08-02 浪潮电子信息产业股份有限公司 一种在数据同步过程中实现流量控制的方法
EP4063974A1 (de) * 2021-03-23 2022-09-28 ABB Schweiz AG Steuerung eines industriellen prozesses unter verwendung virtualisierter instanzen einer steuerungssoftware
FR3128391B1 (fr) * 2021-10-21 2023-10-20 Renault Procédé de contrôle de l’usinage de pièces

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4141066A (en) * 1977-09-13 1979-02-20 Honeywell Inc. Process control system with backup process controller
US4590554A (en) * 1982-11-23 1986-05-20 Parallel Computers Systems, Inc. Backup fault tolerant computer system
US4872106A (en) * 1983-04-06 1989-10-03 New Forney Corp. Industrial process control system with back-up data processors to take over from failed primary data processors
US4607256A (en) * 1983-10-07 1986-08-19 Honeywell, Inc. Plant management system
JPS62214465A (ja) * 1986-03-17 1987-09-21 Hitachi Ltd 2重化コントロ−ラの制御方法
US4958270A (en) * 1989-01-23 1990-09-18 Honeywell Inc. Method for control data base updating of a redundant processor in a process control system
US4959768A (en) * 1989-01-23 1990-09-25 Honeywell Inc. Apparatus for tracking predetermined data for updating a secondary data base
US5008805A (en) * 1989-08-03 1991-04-16 International Business Machines Corporation Real time, fail safe process control system and method
US5088021A (en) * 1989-09-07 1992-02-11 Honeywell, Inc. Apparatus and method for guaranteed data store in redundant controllers of a process control system

Also Published As

Publication number Publication date
CA2051717C (en) 1998-05-26
DE69128331D1 (de) 1998-01-15
EP0478290B1 (de) 1997-12-03
EP0478290A2 (de) 1992-04-01
EP0478290A3 (en) 1993-06-23
JPH0511820A (ja) 1993-01-22
AU645601B2 (en) 1994-01-20
US5142470A (en) 1992-08-25
AU8386991A (en) 1992-04-02
CA2051717A1 (en) 1992-03-27

Similar Documents

Publication Publication Date Title
DE69128331T2 (de) Verfahren zur Haltung der Synchronisation eines freilaufenden Sekundärprozessors
DE69125330T2 (de) Verfahren zur Verordnung der Sicherheitsübertragung eines 1:1-redundanten Sklavenprozessorpaares
DE69127417T2 (de) Universale Eingangs-/Ausgangsredundanzaufstellung in einem Prozessregelsystem
DE69124899T2 (de) Verfahren zur Ende-zu-Endenachprüfung einer primären und sekondären Datenbank in einem Prozessregelsystem
DE69125778T2 (de) Verfahren zur Sicherung von in einer Primär- und Sekundärdatenbank gespeicherten Daten in einem Prozessregelsystem
DE69414392T2 (de) Verfahren zur erhaltung der ereignisfolge während der sicherheitsübertragung in einem redundanten mehrschichtigen system
DE69506155T2 (de) Asynchrones Datenfernkopieren
DE69923621T2 (de) Verfahren und Vorrichtung zu korrekten und vollständigen Übertragungen in einem fehlertoleranten verteilten Datenbanksystem
DE69410671T2 (de) Datensicherung in einer Datenverarbeitungsanlage
DE69021712T2 (de) Wiederanlaufkennzeichnungsmechanismus für fehlertolerierende Systeme.
DE69715537T2 (de) Fehlertolerante verfahrensmethode
DE19836347C2 (de) Fehlertolerantes Computersystem
EP2817682B1 (de) Verfahren zum ausfallsicheren betreiben eines prozesssteuersystems mit redundanten steuereinrichtungen
DE69122713T2 (de) Fehlertolerantes rechnersystem
DE69715967T2 (de) Quorummechanismus in einem verteilten Zweiknotenrechnersystem
DE69021122T2 (de) Verfahren und Gerät zur ununterbrochenen Versorgung von Anwendungen in einem Rechnernetzwerk.
DE69905594T2 (de) Protokoll für replizierte server
DE69715536T2 (de) Fehlertolerantes verarbeitungssystem
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69623229T2 (de) Bindungsverfahren in einer Transaktion in einer verteilten Datenbank
DE60001460T2 (de) Datenfernkopieren unter verwendung von potentiellen aufhebungsbefehlen
DE102004001031B4 (de) Redundante Anwendungsendgeräte für Prozesssteuerungssysteme
DE3876776T2 (de) Steuerflussverminderung in selektiven wiederholungsprotokollen.
DE69802535T2 (de) Aktive fehlererkennung
DE69232703T2 (de) Synchrones Steuerwerk für Knoten in Vermittlungsnetzwerken

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee