[go: up one dir, main page]

DE69330970T2 - Sicheres Frontenverbindungssystem und Verfahren für Prozesssteuerungsrechner - Google Patents

Sicheres Frontenverbindungssystem und Verfahren für Prozesssteuerungsrechner

Info

Publication number
DE69330970T2
DE69330970T2 DE69330970T DE69330970T DE69330970T2 DE 69330970 T2 DE69330970 T2 DE 69330970T2 DE 69330970 T DE69330970 T DE 69330970T DE 69330970 T DE69330970 T DE 69330970T DE 69330970 T2 DE69330970 T2 DE 69330970T2
Authority
DE
Germany
Prior art keywords
computer
process control
data
computers
communication
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
DE69330970T
Other languages
English (en)
Other versions
DE69330970D1 (de
Inventor
Brian G Bell
Bruijn Ronny P De
Dale H Schultz
Oscar E Schulze
Weele Leonardus Arie Van
Marc Louis Karel Verboven
Roger R Vermeire
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.)
Dow Benelux BV
Dow Chemical Co
Original Assignee
Dow Benelux BV
Dow Chemical Co
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 Dow Benelux BV, Dow Chemical Co filed Critical Dow Benelux BV
Application granted granted Critical
Publication of DE69330970D1 publication Critical patent/DE69330970D1/de
Publication of DE69330970T2 publication Critical patent/DE69330970T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern
    • 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/0421Multiprocessor system
    • 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/0423Input/output
    • G05B19/0425Safety, monitoring
    • 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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/41855Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by local area network [LAN], network structure
    • 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/24167Encryption, password, user access privileges
    • 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/24182Redundancy
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)
  • Control By Computers (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren des Steuerns der Kommunikation einer Befehlsnachricht von einer Computereinheit an einem Computernetzwerk zu einem Prozeßsteuerungscomputer, welcher wenigstens eine aus einer Mehrzahl von Betriebsvariablen zu verändern sucht, welche von dem Prozeßsteuerungscomputer zur Steuerung eines physikalischen Prozesses verwendet werden. Die vorliegende Erfindung bezieht sich ferner auf ein Sicherheits-Vorfeld-Kommunikationssystem für wenigstens einen Prozeßsteuerungscomputer, der den Lauf eines physikalischen Prozesses steuert, umfassend ein Computernetz zum Ermöglichen von Kommunikation zwischen einer Mehrzahl von Computern sowie wenigstens eine Computereinheit, die mit dem Computernetz verbunden ist.
  • Ein derartiges Verfahren und ein derartiges Sicherheits-Vorfeld-Kommunikationssystem sind von hoher Relevanz, z. B. in chemischen Herstellungsanlagen oder anderen relativ großen Verarbeitungsanlagen, wie aus der folgenden Beschreibung des allgemeinen Hintergrunds der Erfindung verstanden werden wird.
  • In chemischen Herstellungsanlagen und anderen relativ großen Verarbeitungsanlagen können ein Netz von Steuerungscomputern und Bedienungsarbeitsplatzrechnern nötig sein, um eine automatische Steuerung/Regelung eines ablaufenden physikalischen Prozesses in der Anlage zu erreichen. Zum Beispiel zeigt das am 05. Mai 1987 ausgegebene US-Patent Nr. 4,663,704 von Jones et al. ein verteiltes Verarbeitungssystem für eine Anlage, in der ein einzelner Datenübertragungsweg alle verschiedenen Eingabe/Adsgabeterminals, Datenaufnahmestationen, Steuerungsvorrichtungen, Aufzeichnungsvorrichtungen usw. verbindet. Ähnlich zeigt das am 19. August 1986 ausgegebene US- Patent Nr. 4,607,256 von Henzel ein Anlagenmanagementsystem, das einen Anlagensteuerungsbus für den Zweck der Übertragung von Daten zu physikalischen Computermodulen am Netz verwendet.
  • In einigen dieser Prozeßsteuerungscomputernetzen werden redundante Prozeßsteuerungscomputer verwendet, um die Zuverlässigkeit des Anlagensteuerungs- und Überwachungssystems zu erhöhen. Zum Beispiel zeigt das am 16. April 1991 ausgegebene US-Patent Nr. 5,008,805 von Fiebig et al. ein Netzwerk-Steuerungssystem, das einen redundanten "Heißersatz"-Prozessor enthält, der synchron eine Kontroll-Soll-Tabelle verarbeitet zum Vergleich mit Steuerungsmitteilungen von einem Senderprozessor, die auf dem Netz übertragen werden. Der redundante Mithörprozessor hält ein Doppel der Konfiguration in seinem Speicher bereit, um die Steuerung des Systems im Falle eines Versagens des Senderprozessors zu übernehmen. Als ein anderes Beispiel zeigt das am 18. September 1990 ausgegebene US-Patent Nr. 4,958,270 von McLaughlin et al. ein Netzwerk-Steuerungssystem, das eine primäre Steuereinheit und sekundäre Steuereinheit verwendet. Um die primäre Datenbasis und ein sekundäres Bild der Datenbasis konsistent zu halten, werden nur vorbestimmte geänderte Bereiche aktualisiert als eine Möglichkeit der Vergrößerung der Effizienz der Aktualisierungsfunktion. Ähnlich zeigt das am 3. Oktober 1989 ausgegebene US-Patent Nr. 4,872,106 von Slater ein Netzwerk- Steuerungssystem, das einen primären Datenprozessor und einen Reserve- Datenprozessor verwendet. Normalerweise wird der Reserveprozessor in einem Reservebetriebsmodus sein und wird nicht arbeiten, um die Steuerung über die Eingabe/Ausgabevorrichtungen auszuüben oder Daten betreffend die Zustände der Eingabe/Ausgabevorrichtungen zu empfangen. Dementsprechend wird die Steuerung über die Eingabe/Ausgabevorrichtungen ausschließlich durch den primären Prozessor durchgeführt. Allerdings überträgt der primäre Prozessor periodisch Statusdaten, die sich auf seine Funktion bei der Steuerung der Eingabe/Ausgabevorrichtungen beziehen, über einen mit den beiden Prozessoren verbundenen Dualportspeicher zu dem Reservedatenprozessor.
  • Im Gegensatz zu den obigen Netzwerk-Steuerungssystemen existiert eine andere Steuerungstechnik für redundante Prozeßsteuerungscomputer, bei der beide Prozeßsteuerungscomputer auf Eingabedaten arbeiten und Steuerungskommandos zu den gleichen Ausgabevorrichtungen ausgeben. Auf diesen Typ von Steuerungstechnik kann als aktive Redundanz Bezug genommen werden, da jeder der redundanten Prozeßsteuerungscomputer unabhängig und gleichzeitig auf gemeinsamen Eingabedaten arbeitet. Eine Diskussion dieses Typs von Steuerungstechnik kann in der WO 93/20488 mit dem Titel "Process Control Interface System Having Triply Redundant Remote Field Units" gefunden werden.
  • Die Verwendung aktiver Redundanz als eine Steuerungstechnik stellt ein schwieriges Problem hinsichtlich der Kommunikation mit dem Anlagencomputernetz dar, da jeder aktiv redundante Prozeßsteuerungscomputer einen Satz von Eingabewerten empfangen wird und jeder dieser Prozeßsteuerungscomputer einen Satz von Ausgabewerten erzeugen wird. In dem Fall, wenn die aktivredundanten Prozeßsteuerungscomputer einige oder alle der Eingabe- und/oder Ausgabewerte - in dem Ausmaß, daß Unterschiede existieren - schlichten oder darüber entscheiden, könnten dann mehrfache Sätze von Eingabe- und Ausgabewerte erzeugt werden. Zum Beispiel könnte ein Satz von Vorschlichtungs- und Nachschlichtungseingabedatenwerten möglicherweise von jedem der aktiv redundanten Prozeßsteuerungscomputern erhältlich sein. Dementsprechend wäre es wünschenswert, daß einige oder alle dieser Datensätze durch einen anderen Computer am Anlagennetz abgeglichen und analysiert werden könnten, ohne die Funktion der aktiv redundanten Prozeßsteuerungscomputer zu stören oder zu verlangsamen.
  • Unabhängig von der verwendeten Steuerungsmethode ist es notwendig, sicherzustellen, daß eine ordnungsgemäße Abstimmung mit dem Betriebsprogramm im Prozeßsteuerungscomputer besteht. Dies gilt im besonderen, falls die Möglichkeit vorgesehen ist, daß wenigstens eine aus einer Mehrzahl von Betriebsvariablen, welche von dem Prozeßsteuerungscomputer zur Steuerung eines physikalischen Prozesses verwendet werden, über eine externe Computereinheit geändert werden kann, d. h. eine Computereinheit an einem Computernetz mit Zugang zum Prozeßsteuerungscomputer.
  • Die US 4,956,769 offenbart ein Verfahren zur Bereitstellung von Sicherheit bezüglich Eingabe-/Ausgabeoperationen an ausgewählten Datenaufzeichnungen und Datenfeldern einem Datenbasis. Zur Bereitstellung von Sicherheit werden eine Datensicherheit-Zugangstabelle eine Benutzersicherheit-Zugangstabelle und eine Terminalortsicherheit-Zugangstabelle etabliert. Diese Tabellen spezifizieren, welche Eingabe/Ausgabeoperationen an der jeweiligen Datenaufzeichnung oder dem jeweiligen Datenfeld durch welchen Benutzer von welchem Terminal aus erlaubt sind.
  • Es ist eine Aufgabe der Erfindung ein sicheres und zuverlässiges Verfahren des Steuerns der Kommunikation der Kommandomitteilung von einer Computereinheit eines Computernetzes zu einem Prozeßsteuerungscomputer bereitzustellen, welcher wenigstens eine aus einer Mehrzahl von Betriebsvariablen zu verändern sucht, welche von dem Prozeßsteuerungscomputer zur Steuerung eines physikalischen Prozesses verwendet werden.
  • Diese Aufgabe wird durch das Verfahren gemäß Anspruch 1 erreicht. Die Verwendung der Zuläsigkeitstabelle gemäß den Merkmalen B), C), D), E) gewährleistet, daß lediglich gewisse vorbestimmte Variable durch gewisse, dazu authorisierte Computereinheiten verändert werden können. Gemäß Schritte F) und G) prüft der Prozeßsteuerungscomputer weiterhin, ob die im Vorfeldcomputer gespeicherte Zuläsigkeitstabelle eng mit der Version des Programms koordiniert ist, welches durch den Prozeßsteuerungscomputer ausgeführt wird. Daher ist es unmöglich, daß eine Variable unbeabsichtigt durch Veränderungen in der am Prozeßsteuerungscomputer ablaufenden Software geändert wird.
  • Das letztgenannte Merkmal ist von großer Wichtigkeit, da die Bedeutung gewisser Variablen abhängig von der Softwareversion unterschiedlich sein kann. Ein unbeabsichtigtes Ändern einer Betriebsvariablen kann zu einem unvorhersagbaren Verhalten des Prozeßsteuerungscomputers und des zu steuernden physikalischen Prozesses führen.
  • Weitere Verbesserungen des Verfahrens bezüglich der Verhinderung von unauthorisierten Variablenänderungen werden durch die Gegenstände der abhängigen Ansprüche 2 und 3 erhalten.
  • Ein extrem hohes Sicherheitsniveau kann erhalten werden, wenn die Kommunikation zwischen einem ersten und einem zweiten Computern an dem Netz auf Grundlage zeitbegrenzter Kommunikationskontrakte, wie in den abhängigen Ansprüchen 4 bis 18 dargelegt, gesteuert wird.
  • Die Implementierung des erfindungsgemäßen Verfahrens wird durch das Sicherheits-Vorfeld-Kommunikationssystem, wie in Anspruch 19 bzw. in den Unteransprüchen 20 bis 23 definiert, erreicht.
  • Ein Beispiel einer Ausführungsform der vorliegenden Erfindung wird im folgenden auf Basis der Fig. 1 bis 11 erklärt.
  • Fig. 1 ist ein Blockdiagramm eines intelligenten Vorfeld-Kommunikationssystems für eine Mehrzahl von aktiv redundanten Prozeßsteuerungscomputern, das ein Heimlichkeitsinterface verwendet.
  • Fig. 2A und 2B liefern eine schematische Wiedergabe der Datentabellen, die in einen zeitabgestimmten Spiegelspeicherpuffer und dem Korrelationspuffer gespeichert sind, die in Fig. 1 gezeigt sind.
  • Fig. 3 ist ein Blockdiagramm des in Fig. 1 gezeigten Heimlichkeitsinterface.
  • Fig. 4A und 4B umfassen ein schematisches Diagramm des Heimlichkeitsinterface der Fig. 1 und 2.
  • Fig. 5A und 5B veranschaulichen zwei Timing-Diagramme für das Heimlichkeitsinterface.
  • Fig. 6A bis 6E umfassen einen Satz von Flußdiagrammen, die bestimmte Aspekte der Sicherheits- und Überprüfungsverfahren gemäß der vorliegenden Erfindung veranschaulichen.
  • Fig. 7 ist ein Blockdiagramm der Anwendungs-Software für die in Fig. 1 gezeigten Vorfeldcomputer.
  • Fig. 8 ist eine schematische Veranschaulichung der Konfiguration der Vorfeldcomputer.
  • Fig. 9 ist eine schematische Veranschaulichung der Beziehung zwischen den Spiegelspeicherpuffern in den Vorfeldcomputern, dem Übertragungsfeld in der IFS-Schaltung und dem Datenspeicher in den Prozeßsteuerungscomputern.
  • Fig. 10 ist ein Blockdiagramm der in Fig. 1 gezeigten IFS-Schaltung.
  • Fig. 11 ist ein Blockdiagramm der in Fig. 1 gezeigten IFQ-Schaltung.
  • Im folgenden wird das sichere (intelligente) Vorfeld-Kommunikationssystem gemäß der Erfindung, das das Verfahren zum Vorsehen sicherer Kommunikation gemäß der Erfindung implementiert, im Kontext eines Prozeßsteuerungssystem erklärt, das ein Paar von aktiv redundanten Prozeßsteuerungscomputern 12a-12b aufweist, die über zwei sogenannte "Heimlichkeitsinterfaces" 16a-16b und zwei sogenannte "Vorfeldcomputer" 18a-18b des Sicherheits- Vorfeldkommunikationssystems mit einem Computernetz (Anlagen/Lokalbereichsnetz) 20 verbunden sind. Mit dem Computernetz oder Anlagen/Lokalbereichsnetz ist eine Mehrzahl von Computereinheiten verbunden, von denen in der Figur ein Sicherheitsserver 68, zwei Bediener-Arbeitsplatzrechner 70, 72, ein Prozeßinformationscomputer 74, ein Steuerungsraum-Datenverwaltungscomputer 76 und eine Herabladeassistenzeinheit 78 gezeigt sind. Der Zweck dieser Computereinheiten wird im folgenden klar werden.
  • Bevor das Sicherheits-Vorfeld-Kommunikationssystem der vorliegenden Ausführungsform im Detail erklärt wird, wird eine kurze Übersicht über das Prozeßsteuerungssystem als Ganzes, insbesondere bezüglich der Kommunikation zwischen den Vorfeldcomputern und den Prozeßsteuerungscomputern gegeben, um die Vorteile, die durch das Sicherheits-Vorfeld-Kommunikationssystem gemäß der vorliegenden Erfindung erreicht werden, klarer aufzuzeigen.
  • Es wird auf Fig. 1 Bezug genommen, die ein Blockdiagramm des intelligenten Vorfeld-Kommunikationssystems 10 zeigt, das mit dem Paar von aktivredundanten Prozeßsteuerungscomputern 12a-12b verbunden ist. Jeder der Prozeßsteuerungscomputer 12a-12b empfängt gemeinsame Eingabedaten von den Feldcomputereinheiten (nicht gezeigt) oder von anderem geeigneten Feldinstrumentarium. Diesbezüglich beschreibt die oben in bezug genommene WO 93/20488 im Detail die Kommunikations- und Steuerungsverbindungen zwischen einem Paar von aktiv-redundanteri Prozeßsteuerungscomputern, wie etwa die Prozeßsteuerungscomputer 12a-12b, und die dem zu steuernden physikalischen Prozeß direkt zugeordneten Eingabe/Ausgabe-Vorrichtungen.
  • Wenn auch die Redundanz der beiden aktiv arbeitenden Prozeßsteuerungscomputern gewisse Vorteile hinsichtlich der Fehlertoleranz gegenüber einem einzigen Entscheidungen treffenden Prozeßsteuerungscomputer aufweist, versteht es sich, daß die Prinzipien der vorliegenden Erfindung nicht auf irgendeine bestimmte Konfiguration der Prozeßsteuerungscomputer beschränkt ist. Zum Beispiel mag es unter passenden Umständen wünschenswert sein, anstelle der beiden in Fig. 1 gezeigten Prozeßsteuerungscomputer 12a-12b drei Prozeßsteuerungscomputer zu verwenden.
  • Bei der vorliegenden Ausführungsform arbeiten die Prozeßsteuerungscomputer 12a-12b bevorzugt gleichzeitig auf allen von einer oder mehreren Feldcomputereinheiten übertragenen Signalen. Mit anderen Worten ist jeder der Prozeßsteuerungscomputer 12a-12b fähig, unabhängige Entscheidungen auf Grundlage der von diesen redundanten Computern vom Feld empfangenen Daten zu treffen. Die durch die Prozeßsteuerungscomputer 12a-12b gemachten Entscheidungen bestimmen die Ausgabesignalwerte, die schließlich zu spezifischen Ausgabevorrichtungen (z. B. Ventile, Pumpenmotoren und Reaktionsheizvorrichtungen) durch die entsprechenden Feldcomputereinheiten gerichtet werden. Wenn auch die Ausgabesignalwerte bevorzugt wenigstens in gewissem Ausmaß zwischen den beiden aktiv-redundanten Prozeßsteuerungscomputern 12a-12b vor der Übertragung dieser Signale ins Feld in Einklang gebracht werden, sollte verstanden werden, daß zwei unabhängige Sätze von Ausgabesignalwerten zu den Feldcomputereinheiten kommuniziert werden könnten. Diesbezüglich könnten die von einer Feldcomputereinheit empfangenen Eingabewerte geschlichtet sein, was es unnötig machen sollte, die Ausgabewerte zu schlichten oder in Einklang zu bringen. Dies liegt daran, daß beide Prozeßsteuerungscomputer 12a-12b dann mit dem gleichen Prozeßsteuerungsprogramm auf dem gleichen Satz von geschichteten Eingabewerten arbeiten würden.
  • Als ein Beispiel einer bevorzugten Form des möglichen in Einklang bringens von Werten könnten entsprechende Eingabewertetabellen in jedem der Prozeßsteuerungscomputer 12a-12b während einer vorgesetzten Zeitperiode verglichen werden und könnte für jedes Eingabewertsignal, das dem Prozeßsteuerungsprogramm zu unterwerfen ist, einer der Werte gewählt werden. Diese Auswahl der Eingabewerte könnte mit einem geeigneten Kriterium für den zu steuernden Prozeß gemacht werden, wie etwa die Verwendung des durch den linken Prozeßsteuerungscomputer 12a bestimmten Werts, wenn der durch den rechten Prozeßsteuerungscomputer 12b bestimmte Wert innerhalb einer gewissen vorbestimmten Prozentgrenze (z. B. 2,5%) liegt. Andernfalls könnten jeweils die unterschiedlichen Eingabewerte vom linken und rechten Prozeßsteuerungscomputer verwendet werden, wenn gefunden wird, daß diese Werte außerhalb der vorbestimmten Prozentgrenze liegen. Alternativ könnte die Auswahl verschiedener Eingabe/Ausgabewerte von dem linken und rechten Prozeßsteuerungscomputer auf Grundlage einer Softwareimplementierten Präferenz gemacht werden. Zum Beispiel könnte es unter gewissen Prozeßbedingungen als angemessener betrachtet werden, entweder den hohen oder niedrigen Wert zu wählen ungeachtet dessen, ob der Wert durch den linken oder rechten Prozeßsteuerungscomputer bestimmt wurde.
  • Um diesen Schlichtungs- oder in-Einklang-Bringungsprozeß zu vereinfachen, ist eine parallele Kommunikationsverbindung 14 zwischen den Prozeßsteuerungscomputern 12a-12b vorgesehen. Auf die parallele Kommunikationsverbindung 14 wird als die "Haupt"-Verbindung Bezug genommen, da sie eine direkte Übertragung von Daten und Timingsignalen zwischen den Prozeßsteuerungscomputern ermöglicht. Es sollte bemerkt werden, daß der linke Prozeßsteuerungscomputer 12a als "Fuchs" bezeichnet ist, wohingegen der rechte Prozeßsteuerungscomputer 12b als "Hund" bezeichnet ist. Dies sind logische Bezeichnungen für alternative Betriebsmodi der Prozeßsteuerungscomputer 12a-12b.
  • Während jeder der Prozeßsteuerungscomputer 12a-12b unabhängige Entscheidungen trifft, die einer Schlichtung ausgesetzt werden können, hat der sich momentan im Fuchs-Modus befindende Prozeßsteuerungscomputer die Fähigkeit zu erzwingen, daß der Prozeßsteuerungscomputer im Hund-Modus zu einem nachfolgenden Schritt in einer programmierten Folge fortschreitet, um die zusammenwirkenden Bemühungen der beiden Prozeßsteuerungscomputer in relativer Synchronisation zu halten. Zusätzlich wird der Prozeßsteuerungscomputer im Fuchs-Modus am Anfang seines Prozeßsteuerungsprogrammzyklus (z. B. eine Periode von einer Sekunde) ein Timingsignal zum Prozeßsteuerungscomputer im Hund-Modus senden, so daß der Prozeßsteuerungscomputer im Hund-Modus Kenntnis haben wird, ebenfalls einen neuen Prozeßsteuerungsprogrammzyklus anzufangen. Da die Prozeßsteuerungscomputer 12a-12b unter ihren eigenen Taktoszillatoren arbeiten, wird die Erfassung und Interpretation dieses Programmzyklus-Timingsignals durch den Prozeßsteuerungscomputer im Hund-Modus helfen, periodisch diese Prozeßsteuerungscomputer in relativer Synchronisation zu halten. Allerdings sollte es gewürdigt werden, daß der Programmzyklus des Prozeßsteuerungscomputers im Hund-Modus typischerweise dem Programmzyklus des Prozeßsteuerungscomputers im Fuchs-Modus um die Zeitperiode nachfolgen wird, die die Übertragung und dann Erfassung des Programmzyklus-Timingsignals braucht (z. B. 20 Mikrosekunden bis 20 Millisekunden).
  • Im Fall, daß die Prozeßsteuerungscomputer 12a-12b zeitweilig nicht fähig sind, über die Hauptverbindung 14 zu kommunizieren, wird jeder der Prozeßsteuerungscomputer seine Operationen in einem Modus fortfahren, der annimmt, daß sie jeweils alleine arbeiten. Es sollte gewürdigt werden, daß in diesem Betriebsmodus die Programmzyklen der Prozeßsteuerungscomputer 12a-12b allmählich relativ zueinander zeitlich auseinanderdriften können. Wie aus der Diskussion unten gesehen wird, ist das Vorfeldkommunikationssystem 10 nichtsdestotrotz dazu ausgelegt, eine Zeitabstimmung der von den Prozeßsteuerungscomputern 12a-12b empfangenen Daten für eine Echtzeitanalyse zu ermöglichen.
  • Wie in Fig. 1 veranschaulicht, umfaßt jeder der Prozeßsteuerungscomputer 12a-12b ein Heimlichkeitsinterface, das im Zusammenhang der vorliegenden Erfindung sehr nützlich ist. Genauer: Der Prozeßsteuerungscomputer 12a umfaßt eine Heimlichkeitsinterfaceschaltung 16a, wohingegen der Prozeßsteuerungscomputer 12b eine Heimlichkeitsinterfaceschaltung 16b umfaßt. Da die Heimlichkeitsinterfaceschaltungen 16a-16b identische Schaltungen umfassen, wird auf diese Heimlichkeitsinterfaceschaltungen hierin manchmal allgemein als Heimlichkeitsinterfaceschaltung 16 Bezug genommen. Aufgrund der redundanten Natur des Vorfeldkommunikationssystems 10 wird auch für andere doppelt vorgesehene Komponenten im System ein allgemeines Bezugszeichen verwendet.
  • Das Heimlichkeitsinterface 16 sorgt für eine transparente Datenübertragung zwischen dem Prozeßsteuerungscomputer, mit dem es verbunden ist, und externen Kommunikationsvorrichtungen. Diesbezüglich sind die Datenübertragungen zum Prozeßsteuerungscomputer 12 insofern transparent, als daß der Betrieb des Prozeßsteuerungscomputers durch eine Übertragung seiner Daten zu einer oder mehreren externen Kommunikationsvorrichtungen nicht verzögert oder auf andere Weise negativ beeinflußt wird. Das Heimlichkeitsinterface 16 ermöglicht auch die Übertragung von Mitteilungen von einer externen Kommunikationsvorrichtung, ohne den Betrieb des Prozeßsteuerungscomputers 12 zu beeinträchtigen. Das Hauptbeispiel einer derartigen externen Kommunikationsvorrichtung ist in Fig. 1 dahingehend gezeigt, daß es ein Paar redundanter Vorfeldcomputer 18a-18b umfaßt. Die Vorfeldcomputer 18a-18b sind redundant, da Kommunikationswege vorgesehen sind um zu ermöglichen, daß jeder der Vorfeldcomputer Daten und Mitteilungen mit beiden Heimlichkeitsinterfaceschaltungen 16a-16b austauscht.
  • Jeder der Vorfeldcomputer 18a-18b liefert ein hochgradig intelligentes Interface zwischen den Heimlichkeitsinterfaceschaltungen 16a-16b und einem Anlagen/Lokalbereichsnetz, das allgemein durch das Bezugszeichen 20 bezeichnet ist. Da allerdings jeder der redundanten Vorfeldcomputer 18a-18b fähig ist, mit jedem der Heimlichkeitsinterfaceschaltungen 16a-16b zu kommunizieren, sollte gewürdigt werden, daß diese Redundanz nicht erforderlich ist, und daß ein einziger Vorfeldcomputer bei der passenden Anwendung verwendet sein könnte. Wie aus der Diskussion unten klarer wird, sind die Heimlichkeitsinterfaceschaltungen ferner fähig, Daten und Mitteilungen sowohl mit anderen externen Kommunikationsvorrichtungen als auch mit den Vorfeldcomputern 18a-18b auszutauschen.
  • Wie in Fig. 1 veranschaulicht, weist die Heimlichkeitsinterfaceschaltung 16 einen Dual-Port-Speicher "DPM" 22 auf, der an der Busstruktur des Prozeßsteuerungscomputers 12 residiert. Tatsächlich liefert bei der hier offenbarten Ausführungsform der Dual-Port-Speicher 22 den Haupt- oder einzigen Datenspeicher für den Prozeßsteuerungscomputer 12. Die Heimlichkeitsinterfaceschaltung 16 wird somit externen Vorrichtungen selektiv direkten Zugang zum Datenspeicher des Prozeßsteuerungscomputers selbst gewähren. Der Dual- Port-Speicher 22 umfaßt einen inneren Anschluß, der mit der Busstruktur des Prozeßsteuerungscomputers 12 verbunden ist, und einen externen Anschluß, auf den hier manchmal als Heimlichkeitsanschluß Bezug genommen wird. Zwar könnte der Dual-Port-Speicher 22 konfiguriert sein, um zusätzliche Anschlüsse bereitzustellen; bevorzugt umfaßt der Dual-Port-Speicher aber eine Schlichtungsschaltung, die es einer Mehrzahl von externen Kommunikationsvorrichtungen ermöglicht, abwechselnd Zugang zum Heimlichkeitsanschluß zu haben. Mit anderen Worten wird an jedem gegebenen Zeitpunkt nur eine externe Vorrichtung fähig sein, die Daten- und Adreßleitungen des Heimlichkeitsanschlusses zu benutzen, wenn Zugang durch den Heimlichkeitsanschluß zum Dual-Port-Speicher erlaubt ist, obwohl mehr als eine externe Vorrichtung letztendlich mit den Daten und Adreßleitungen des Heimlichkeitsanschlusses gekoppelt sein mag. Bei der vorliegenden Ausführungsform verwendet die Heimlichkeitsinterface-Schlichtungsschaltung einen zuerst-gekommen/zuerstbedient-Ansatz, um Zugangsrechte zu gewähren.
  • Diese Schichtungsschaltung arbeitet allerdings nur auf dem Heimlichkeitsanschluß. Es gibt keine Schlichtung als solche zwischen dem inneren und dem äußeren Anschluß der Heimlichkeitsinterfaceschaltung 16. Vielmehr ist ein Zugang zum Dual-Port-Speicher 22 vom externen/Heimlichkeitsanschluß nur während jenen Zeiten erhältlich, wenn der Prozeßsteuerungscomputer 12 nicht auf den Dual-Port-Speicher zugreifen kann. Genauer: Der Maschinenzyklus des Prozeßsteuerungscomputers 12 wird verwendet, um den Zugang zum Dual- Port-Speicher 16 zu steuern. Wie gut bekannt ist, muß die Zentralprozessoreinheit jedes Computers eine oder mehrere Programminstruktionen holen und decodieren, um auf einem oder mehreren Datenworten zu arbeiten. Bei auf der Neumann-Architektur beruhenden Computern braucht es typischerweise mehrere Computertaktzyklen, um eine Instruktion zu holen, zu decodieren und auszuführen. Bei der vorliegenden Ausführungsform beruht der Prozeßsteuerungscomputer 12 allerdings auf der Harvard-Architektur, die es ermöglicht, daß eine Operationscodeinstruktion und die Operantendaten für diese Instruktion im gleichen Taktzyklus geholt werden. Dies liegt daran, daß ein Computer beruhend auf der Harvard-Architektur physikalisch gesonderte Instruktionsspeicher und Datenspeicher enthält und daß jeder dieser Speicher seine eigenen Adreß- und Datenleitungen zur Zentralprozessoreinheit aufweist. Somit kann während desjenigen Abschnitts des Taktzyklus für den Prozeßsteuerungscomputer 12, der dem Holen und Decodieren einer Instruktion gewidmet ist, auf den Dual-Port-Datenspeicher 22 vom Heimlichkeitsanschluß zugegriffen werden. Während des Abschnitts des Taktzyklus für den Prozeßsteuerungscomputer 12, der dem Holen des Operanden aus dem Datenspeicher gewidmet ist, wird dann der Prozeßsteuerungscomputer über den inneren Anschluß Zugang zum Dual-Port-Datenspeicher 22 haben.
  • Das Heimlichkeitsinterface 16 wartet auf einen spezifischen Übergang im Speichertaktsignal des Prozeßsteuerungscomputers 12, um zu bestimmen, wann der Heimlichkeitsanschluß Zugang zum Dual-Port-Datenspeicher 16 haben kann. Diesbezüglich sollte verstanden werden, daß der Prozeßsteuerungscomputer selbst durch diesen externen Zugang nicht berührt wird, da der externe Zugang durch die Heimlichkeitsinterfaceschaltung 16 nur während jenen Zeitperioden erlaubt wird, wenn der Prozeßsteuerungscomputer 12 keinen Zugang zum Dual-Port-Datenspeicher 22 benötigt. Tatsächlich braucht der Prozeßsteuerungscomputer 12 noch nicht einmal wissen, daß eine extern erzeugte Lese/Schreibaktivität momentan bezüglich seines Datenspeichers stattfindet. Nichtsdestotrotz wird eine wichtige Unterscheidung zwischen der Fähigkeit, aus dem Dual-Port-Datenspeicher 22 zu "lesen" und der Fähigkeit, in den Dual-Port-Datenspeicher zu "schreiben", gemacht, soweit der Heimlichkeitsanschluß betroffen ist. Wenn es auch wünschenswert sein mag, einer externen Kommunikationsvorrichtung zu ermöglichen, alle und jede Speicherstelle im Dual-Port-Datenspeicher 22 zu lesen, so kann dies auf die Fähigkeit einer externen Vorrichtung, in Speicherstellen im Dual-Port-Speicher zu schreiben, nicht zutreffen. Diesbezüglich wird der Dual-Port-Datenspeicher 22 nicht nur dynamische Daten speichern, die dem zu steuernden/regelnden physikalischen Prozeß zugeordnet sind, sondern er mag auch andere Prozeßsteuerungsvariablen, wie etwa analoge und digitale Konstanten, speichern.
  • Dementsprechend umfaßt der Dual-Port-Datenspeicher 22 zwei "logische" Speicherabschnitte, nämlich einen Variablenabschnitt 24 und einen Mitteilungsspeicherabschnitt 26. Diese Speicherabschnitte sind logisch zu unterscheiden, da sie gesondert behandelt werden, obwohl sie beide im gleichen physikalischen Speicherschaltungschip oder Chipsatz angeordnet sein können. Bei der bevorzugten Ausführungsform umfaßt der Mitteilungsspeicherabschnitt 26 einen Satz von 256 Speicherwortstellen (jeweils 16 Bit) im Dual-Port-Datenspeicher 22 und der Variablenabschnitt 24 umfaßt die verbleibenden Speicherstellen im Dual-Port-Datenspeicher 22 (z. B. ein Block von 64k Speicherwortstellen). Der Variablenabschnitt 24 kann auch einen Mitteilungsbereich zum Halten von Systemmitteilungen vom Prozeßsteuerungscomputer 12 zum Vorfeldcomputer 18 umfassen. Der Mitteilungsspeicherabschnitt 26 wird verwendet, um einen bestimmten Speicherbereich zum Speichern von Mitteilungen von externen Vorrichtungen, wie etwa den Vorfeldcomputern 18a-18b, bereitzustellen. Diesbezüglich sollte gewürdigt werden, daß die Speicherstellen des Mitteilungsspeicherabschnitts 26 physikalisch nicht kontinuierlich sein müssen. Wenn auch der Mitteilungsspeicherabschnitt 26 konfiguriert sein mag, in Abhängigkeit von dem verwendeten Mitteilungsübertragungsprotokoll mehr als eine Mitteilung zu einem Zeitpunkt zu halten, braucht der Mitteilungsspeicherabschnitt nur groß genug sein, um eine vollständige Mitteilung zu halten. Diese Mitteilung kann so einfach sein wie eine externe Anforderung für den Prozeßsteuerungscomputer 12, Gesundheits/Statusdaten von einer entfernten Feldcomputereinheit zu sammeln und zu übertragen, die er unter Umständen weniger häufig erhält. Eine Mitteilung kann auch ein Kommando zum Ändern einer bestimmten, im Dual-Port-Datenspeicher 22 gespeicherten Variablen enthalten. Zusätzlich kann der Mitteilungsspeicherabschnitt 26 des Dual-Port-Datenspeichers 22 auch dazu verwendet werden, eine Programmrevision elektronisch zum Prozeßsteuerungscomputer 12 zu übertragen.
  • Wie unten vollständiger diskutiert wird, umfaßt die Heimlichkeitsinterfaceschaltung 16 eine Wärterschaltung, die verhindert, daß irgendeine externe Einheit zu irgendeiner Speicherstelle im Variablenabschnitt 24 des Dual-Port-Datenspeichers 22 schreibt. Während einige oder alle der Speicherstellen im Dual- Port-Datenspeicher 22 vom Heimlichkeitsanschluß her gelesen werden können, ist somit einer externen Einheit nur erlaubt, in Speicherstellen im Mitteilungsspeicherabschnitt 26 des Dual-Port-Speichers 22 zu schreiben. Dieses Merkmal der vorliegenden Erfindung sorgt für eine Hardwaresicherung am Prozeßsteuerungscomputer 12, die gewährleistet, daß keine externe Einheit fähig sein wird, unabsichtlich in die Datenverarbeitungsoperationen des Prozeßsteuerungscomputers 12 einzugreifen. Wie aus der Diskussion unten klarer wird, könnte dieses Merkmal der vorliegenden Erfindung auch dazu verwendet werden, einen externen Schreibzugriff auf irgendeine bestimmte Speicherstelle oder Satz von Speicherstellen im Dual-Port-Datenspeicher 22 zu gewähren oder nicht zu gewähren.
  • Um Daten schnell in den Heimlichkeitsanschluß oder aus diesem heraus zu pumpen, ist das Vorfeldkommunikationssystem 10 der Fig. 1 auch dahingehend gezeigt, daß es eine Schnittstellenschaltung "IFS" 28 zur Heimlichkeitsschaltung, eine Schnittstellenschaltung "IFQ" 30 zum Q-Bus und einen dazwischen angeordneten Satz von faseroptischen Kabeln 32 umfaßt. Die IFS- Schaltung 28 ist mit dem Heimlichkeitsanschluß des Dual-Port-Datenspeichers 22 verbunden, wohingegen die IFQ-Schaltung 30 am "Q-Bus" des Vorfeldcomputers 18 residiert. Aufgrund der redundanten Natur des Vorfeldkommunikationssystems 10 sollte gewürdigt werden, daß die IFS-Schaltung 28a mit dem Heimlichkeitsanschluß des Dual-Port-Datenspeichers 22a verbunden ist, wohingegen die IFS-Schaltung 28b mit dem Heimlichkeitsanschluß des Dual- Port-Datenspeichers 22b verbunden ist. Auf ähnliche Weise ist die IFQ-Schaltung 30a mit dem Q-Bus des Vorfeldcomputers 18a verbunden, wohingegen die IFQ-Schaltung 30b mit dem Q-Bus des Vorfeldcomputers 18b verbunden ist. Bei der hierin offenbarten Ausführungsform umfaßt der Vorfeldcomputer 18 bevorzugt einen MICROVAX 3400 Computer, der das ELN-Echtzeitbetriebssystem der Digital Equipment Corporation "DEC" verwendet. Wenn auch die VAX-Computerfamilie von DEC beträchtliche Geschwindigkeits- und Netzwerkvorteile bietet, sollte gewürdigt werden, daß andere geeignete Vorfeldcomputer bei geeigneten Anwendungen verwendet werden können.
  • Um zu ermöglichen, daß jeder der Vorfeldcomputer 18a-18b bidirektionale Kommunikation mit beiden Heimlichkeitsinterfaceschaltungen 16a-16b durchführt, umfaßt das faseroptische Kabel 32 tatsächlich zwei Sätze von optischen Sende- und Empfangsfasern (z. B. Fasern des Typs 62.5/125/0.275NA). Der Einfachheit halber sind allerdings die gesonderten optischen Sende- und Empfangsfasern für jeden der Vorfeldcomputer 18a-18b als einfache Kanäle in Fig. 1 repräsentiert. Der faseroptische Kanal 34a umfaßt somit eine gesonderte optische Faser zum Senden von Information vom Vorfeldcomputer 18a zur Heimlichkeitsinterfaceschaltung 22a und eine optische Faser zum Empfangen von Information von der Heimlichkeitsinterfaceschaltung 22a. In gleicher Weise umfaßt der faseroptische Kanal 36a eine gesonderte optische Faser zum Senden von Information vom Vorfeldcomputer 18a zur Heimlichkeitsinterfaceschaltung 22b und eine optische Faser zum Empfangen von Information von der Heimlichkeitsinterfaceschaltung 22b. Diese Anordnung von optischen Fasern wiederholt sich für den Vorfeldcomputer 18b.
  • Bei der vorliegenden Ausführungsform liefern die Kombination der IFS-Schaltung 28, der IFQ-Schaltung 30 und der faseroptischen Kabel 32 ein optisches Übertragungsinterface, das den Vorfeldcomputern 18a-18b ermöglicht, fern von den Prozeßsteuerungscomputern 12a-12b angeordnet zu sein. Zum Beispiel ist es bei dieser Ausführungsform für die Vorfeldcomputer 18a-18b möglich, bis zu 2 km von den Prozeßsteuerungscomputern 12a-12b entfernt angeordnet zu sein. Es sollte ferner vermerkt werden, daß das Faser-verteilte- Daten-Interface-Protokoll "FDDI" verwendet werden kann, um Information zwischen den IFQ- und IFS-Schaltungen über die faseroptischen Kabel 32 zu übertragen.
  • Die IFS-Schaltung 28 enthält angemessene Adreß- und Datenpufferschaltungen (nicht gezeigt) zur Übertragung von Information zum und vom Heimlichkeitsanschluß des Dual-Port-Datenspeichers 22. Die IFS-Schaltung 28 enthält ferner ein Übertragungsfeld 37, das ermöglicht, daß Daten von gewählten Stellen im Dual-Port-Datenspeicher 22 gesammelt und als ein kontinuierlicher Datenblock übertragen werden. Das Übertragungsfeld 37 kann statischen RAM mit ausreichender Adreßspeicherkapazität umfassen, um Daten aus allen vorhandenen Speicherstellen im Dual-Port-Datenspeicher 22 zu sammeln.
  • Zusätzlich umfaßt die IFS-Schaltung 28 eine gesonderte Sender- und Empfängerschaltung für jeden der beiden Vorfeldcomputer 18a-18b, wie etwa einen Sender 38a und einen Empfänger 40a. Der Sender 38a ist geeignet, parallele Datenwörter (z. B. 16 Bit) vom Heimlichkeitsanschluß in einen seriellen Bitstrom umzuwandeln, der zur Übertragung über eines der faseroptischen Kabel 32 geeignet ist. Ähnlich ist der Empfänger 40a dazu geeignet, einen seriellen Bitstrom vom Vorfeldcomputer 18 in ein paralleles Datenwort umzuwandeln zur Übertragung zum Heimlichkeitsanschluß durch eine oder mehrere der IFS- Pufferschaltungen. Ein entsprechender Satz von Sendern und Empfängern ist auch in der IFQ-Schaltung 30 vorgesehen, wie etwa ein Sender 38b und ein Empfänger 40b. Aus dem obigen sollte gewürdigt werden, daß die Verwendung von zwei Sätzen von Sender-Empfänger-Paaren ermöglicht, daß Daten zwischen beiden IFS-Schaltungen 28a-28b und beiden IFQ-Schaltungen 30a- 30b simultan übertragen und/oder empfangen werden. Somit ist die IFS- Schaltung 28a beispielsweise fähig, vom Prozeßsteuerungscomputer 12a erhaltene Daten simultan zu beiden der Vorfeldcomputer 18a-18b zu übertragen.
  • Die IFQ-Schaltung 30 enthält einen Mikroprozessor 42 (z. B. ein Intel 80186- Chip), der die Datenpumpe für den Vorfeldcomputer 18 bereitstellt. Der Mikroprozessor 42 ist nicht nur für die gesamte IFQ/IFS-Protokollsteuerung und Übertragung von Daten von den Prozeßsteuerungscomputern 12a-12b zu einem Ziel am Netz 20 verantwortlich, sondern er ist auch verantwortlich, die Integrität von Schreibaktivitäten zu den IFS- und IFQ-Schaltungen zu steuern. Beispielsweise kann der Mikroprozessor 42 dazu verwendet werden, das Übertragungsfeld 37 in der IFS-Schaltung 28 zu programmieren, so daß nur eine bestimmte Untermenge von Daten im Dualportspeicher 22 gesammelt und zum Vorfeldcomputer 18 übertragen werden kann, falls weniger als alle der erhältlichen Variablen (z. B. Eingabe/Ausgabewerte, Alarme und Ereignisse) gewünscht sind. Auf diese Art und Weise kann der tatsächliche Inhalt des Übertragungsfelds 37 von einer speziellen Prozeßsteuerungsanwendung abhängen.
  • Alle Signalübertragungen zwischen der IFQ-Schaltung 30 und der IFS-Schaltung stehen unter der Steuerung/Kontrolle des Mikroprozessors 42 der IFQ- Schaltung. Diesbezüglich existieren drei Arten von Datenübertragungen von der IFQ-Schaltung 30 zur IFS-Schaltung 28, nämlich "lade Übertragungsfeld", "sende Kommandomitteilungen" und "empfange Daten". Die Lade- Übertragungsfeld-Übertragung ermöglicht der IFQ-Schaltung 30, das Übertragungsfeld 37 der IFS-Schaltung 28 mit den bestimmten variablen Adressen zu laden, die die Datenspeicherübertragungdatenblöcke von der IFS-Schaltung steuern werden. Die Empfange-Daten-Übertragung wird bewirken, daß die IFS- Schaltung 28 das angeforderte Speichersegment vom Dual-Port-Datenspeicher 22 zurückgeben wird.
  • Eine Kommando-Mitteilung-Übertragung wird mit einer Schreib-Sperrung- Anforderung an die IFS-Schaltung 28 beginnen. Unter der Annahme, daß der Ankommpuffer frei ist, wird die IFS-Schaltung 28 dem Mitteilungsspeicherabschnitt 26 des Dual-Port-Datenspeichers 22 eine Schreib-Sperrung auferlegen und eine positive Bestätigung zur IFQ-Schaltung 30 zurückgeben. Die IFQ-Schaltung 30 kann dann ihre Mitteilung übertragen unter Gewährleistung, daß keine andere Vorrichtung fähig sein wird, zum Mitteilungsspeicherabschnitt 26 zu schreiben, bis ihre Mitteilung vollständig gespeichert und bevorzugt durch den Prozeßsteuerungscomputer 12 gelesen wurde. Allerdings kann der Schreibsperrung eine Zeitbeschränkung auferlegt sein, um zu gewährleisten, daß der Kommunikationsfluß nicht durch eine der mit der Heimlichkeitsinterfaceschaltung 16 verbundenen externen Einheiten behindert wird. Es sollte auch gewürdigt werden, daß Mitteilungsübertragungen nicht zu Zeiten stattfinden sollten, in denen Datenblöcke von der IFS-Schaltung 28 empfangen werden sollten.
  • Als eine andere Maßnahme des Datenübertragungsschutzes wird die IFQ- Schaltung 30 veranlassen, daß die IFS-Schaltung 28 eine zum Mitteilungsspeicherabschnitt 26 des Dual-Port-Datenspeichers 22 übertragene und darin gespeicherte Mitteilung zurückliest, um sicher zu sein, daß die Mitteilung richtig übertragen und gespeichert wurde. Nachdem die IFQ-Schaltung 30 bestimmt hat, daß die Mitteilung richtig empfangen und gespeichert wurde, wird die IFQ-Schaltung dann das Setzen eines Merkers veranlassen, der dem Signalprozeßcomputer 12 signalisieren wird, eine neue Mitteilung abzuholen. Im Fall, daß diese Datenverifikation fehlgeht, wird dann der gesamte Mitteilungsübertragungsprozeß wiederholt werden.
  • Die IFQ-Schaltung 30 enthält auch einen Prozeßdatenpuffer 44, der der einfachen Darstellung wegen als ein Block in Fig. 1 gezeigt ist. Der Prozeßdatenpuffer 44 sollte allerdings eine ausreichende Speicherkapazität enthalten, um eine gesonderte Datentabelle für jeden der Prozeßsteuerungscomputer 12a- 12b zu speichern (z. B. 262144 Byte). Jede dieser Datentabellen wird sowohl die SDSS- und DSS-Datenübertragungen enthalten. Zusätzlich kann auch ein (nicht gezeigter) DMA-Puffer vorgesehen sein, um bei der Verarbeitung der empfangenen Daten eine gewisse Flexibilität zu ermöglichen. Diesbezüglich sollte vermerkt werden, daß sowohl die IFS-Schaltung 28 als auch die IFQ- Schaltung 30 derart konfiguriert sind, daß sie bidirektionale Direktspeicherzugriffsübertragungen "DMA" zwischen der IFQ-Schaltung 30 und dem Q-Bus des Vorfeldcomputers 18 erleichtern. Auf diese Weise braucht die zentrale Prozessoreinheit 45 des Vorfeldcomputers 18 keine substantielle Zeit der Verarbeitung von Datenübertragungen zu und von der IFG-Schaltung 30 widmen. Dementsprechend wird der DMA-Puffer bevorzugt als ein Reservebrigadenbereich verwendet, um DMA-Übertragungen mit Datenblöcken vom Prozeßdatenpuffer 44 (z. B. 8K Byte zu einem Zeitpunkt) zu einem geeigneten Speicher durchzuführen, der am Q-Bus des Vorfeldcomputers 18 residiert.
  • Die Verwendung von DMA-Übertragungen verstärkt auch die Fähigkeit des Vorfeldkommunikationssystems 10, das Ziel zu erreichen, Echtzeitdaten von den Prozeßsteuerungscomputern 12a-12b einem oder mehreren Computern am Netz 20 zugänglich zu machen. Genauer: Das Vorfeldkommunikationssystem 10 ist dazu ausgelegt, Netzanforderungen von sowohl Vorverbindungs- als auch Nachschlichtungsdaten von jedem der Prozeßsteuerungscomputer 12a-12b innerhalb einer Zeitauflösung von 1 Sekunde anzufordern, zu empfangen und zu beantworten. Bei dieser bestimmten Ausführungsform wird z. B. jeder der Prozeßsteuerungscomputer 12a-12b ein stabile-Datenfrequenz- Hinweissignal "SDDS" einmal pro Programmzyklus von 1 Sekunde ausgeben, das anzeigt, daß näherungsweise 1024 (16 Bit) Wörter von analogen/digitalen dynamischen Vorverbindungseingabedaten stabil und im Dual-Port-Datenspeicher 22 vorhanden sind. Auf diesen spezifischen Datensatz wird als Vorverbindungsdaten Bezug genommen, da diese Daten noch nicht zwischen den Prozeßsteuerungscomputern 12a-12b mittels Datenübertragungen über die Hauptverbindung 14 geschlichtet worden sind. Nachfolgend wird jeder der Prozeßsteuerungscomputer 12a-12b im gleichen 1-Sekunden-Programmzyklus ein Daten-Stabil-Hinweissignal "DSS" ausgeben, das anzeigt, daß ein kompletter Satz von Nachschlichtungseingabe- und -ausgabedaten stabil und im Dual-Port-Datenspeicher 22 erhältlich ist. Auf diesen Datensatz wird als Nachschlichtungsdatensatz Bezug genommen, da die Eingabewerte an diesem Punkt im Programmzyklus geschlichtet oder in Einklang gebracht worden sind. Bei der vorliegenden Ausführungsform kann dieser Nachschlichtungsdatensatz bis zu 65536 (16 Bit) Wörter umfassen, da er sowohl Eingabe- und Ausgabewerte (und beliebige andere im Dual-Port-Datenspeicher 22 gespeicherte Variablen) enthalten wird.
  • Es sollte an diesem Punkt vermerkt werden, daß eine der ersten Funktionen im Programmzyklus der Prozeßsteuerungscomputer 12a-12b darin besteht, Ausgabewertentscheidungen auf Grundlage der im unmittelbar vorangehenden Programmzyklus erhaltenen Nachschlichtungseingabedaten zu treffen. Dementsprechend sollte gewürdigt werden, daß der Nachschlichtungsdatensatz die geschlichteten Eingabewerte des momentanen Programmzyklus und die Ausgabewerte des unmittelbar vorangehenden Programmzyklus enthalten wird.
  • Es ist auch wichtig zu verstehen, daß die Funktion des Erhaltens einer Kopie der Vorverbindungs- und Nachschlichtungsdatensätze nicht den Betrieb der Prozeßsteuerungscomputer 12a-12b verlangsamen darf. Somit muß z. B. das Vorfeld-Kommunikationssystem 10 ausreichend schnell sein, eine Kopie der Vorverbindungsdatensätze zu erhalten, bevor die Prozeßsteuerungscomputer 12a-12b die Fähigkeit haben müssen, eine oder mehrere dieser Datenwerte durch den Schlichtungsprozeß zu ändern. In dem Kontext der vorliegenden Ausführungsform muß das Vorfeldkommunikationssystem 10 dementsprechend fähig sein, einen Vorverbindungssatz innerhalb von 10 Millisekunden von dem Zeitpunkt zu erlangen, an dem das SDSS-Signal anfänglich gültig war, um hinsichtlich der Datenstabilität sicher zu sein. Ähnlich muß das Vorfeldkommunikationssystem 10 fähig sein, einen Nachschlichtungsdatensatz innerhalb von 50 Millisekunden von dem Zeitpunkt zu erlangen, an dem das DSS-Signal anfänglich gültig war. Diesbezüglich sollte gewürdigt werden, daß jeder dieser Datensätze von beiden Prozeßsteuerungscomputern 12a-12b durch jeden der Vorfeldcomputer 18a-18b unabhängig erlangt werden muß. Zusätzlich muß jeder der Vorfeldcomputer 18a-18b ferner fähig sein, Mitteilungen zu einem oder zu beiden der Prozeßsteuerungscomputer 12a-12b während der Zeitperioden außerhalb der SDSS- und DSS-Datenaquisitionsfenster zu senden.
  • Um die Fähigkeit des Vorfeldkommunikationssystems, die SDSS- und DSS- Datensätze ohne jegliche Datenübertragungsflaschenhälse zu erlangen, weiter zu vereinfachen und um ferner die Fähigkeit vorzusehen, die empfangenen Datensätze zu gruppieren und zeitlich abzustimmen, umfaßt jeder der Vorfeldcomputer 18a-18b einen Satz von wenigstens drei Spiegelpuffern für jeden der Prozeßsteuerungscomputer 12a-12b. Jeder dieser logisch getrennten Spiegelpuffer oder Schattenspeicher kann in dem gleichen physikalischen Speicherchip oder Chipsatz im Vorfeldcomputer 18 residieren. Wie in Fig. 1 gezeigt, umfaßt der in dem Vorfeldcomputer 18a enthaltene Satz von Spiegelpuffern allgemein einen NULL-Puffer "ZL" 46a für den linken Prozeßsteuerungscomputer 12a, einen NULL-Puffer "2R" 48a für den rechten Prozeßsteuerungscomputer 12b, einen EINS-Puffer "OL" für den linken Prozeßsteuerungscomputer, einen EINS-Puffer "OR" für den rechten Prozeßsteuerungscomputer, einen ZWEI-Puffer "TL" für den linken Prozeßsteuerungscomputer und einen ZWEI-Puffer "TR" für den rechten Prozeßsteuerungscomputer. Zusätzlich sollte verstanden werden, daß ein entsprechender Satz von Spiegelpuffern im Vorfeldcomputer 18b enthalten ist, wie der NULL-Puffer "ZL" 46b für den linken Prozeßsteuerungscomputer 12a und der NULL-Puffer "2R" 48b für den rechten Prozeßsteuerungscomputer 12b.
  • Die IFQ-Schaltung 30 schreibt zu diesen linken und rechten Puffern in einer "round robin"-Art unter Verwendung von DMA-Datenübertragungen. Mit anderen Worten wird die IFQ-Schaltung 30 den NULL-Puffer 46a mit Vorverbindungs- und Nachschlichtungsdaten eines bestimmten Prozeßsteuerungszyklus vom linken Prozeßsteuerungscomputer 12a füllen. Wenn dann Vorverbindungs- und Nachschlichtungsdaten für den nächsten Prozeßsteuerungszyklus vom linken Prozeßsteuerungscomputer 12a empfangen werden, wird die IFQ-Schaltung zum EINS-Puffer 50a fortschreiten, um diese Daten zu speichern. In gleicher Weise wird sich die IFQ-Schaltung 30 zum "ZWEI-Puffer" 54a wenden, wenn Vorverbindungs- und Nachschlichtungsdaten für den dritten Prozeßsteuerungszyklus vom linken Prozeßsteuerungscomputer 12a empfangen werden, um diese Daten zu speichern. Wenn dann Vorverbindungs- und Nachschlichtungsdaten für den zeitlich vierten Prozeßsteuerungscomputer vom linken Prozeßsteuerungscomputer 12a zu speichern sind, wird die IFQ- Schaltung 30 wieder den NULL-Puffer 46a für die Datenspeicherung adressieren. Es sollte natürlich gewürdigt werden, daß die IFQ-Schaltung 30 die gleiche Round-Robin-Sequenz zum individuellen Übertragen von Vorverbindungs- und Nachschlichtungsdaten zu den drei Spiegelpuffern 48a, 52a und 56a verwenden wird, die für den rechten Prozeßsteuerungscomputer 12b verwendet werden.
  • Für Veranschaulichungszwecke zeigt Fig. 1 drei Spiegelspeicherpuffer (46a, 50a und 54a) für den linken Prozeßsteuerungscomputer 12a und drei Spiegelspeicherpuffer (48a, 52a und 56a) für den rechten Prozeßsteuerungscomputer 12b. Da allerdings die SDSS- und DSS-Datenübertragungen als unabhängige DMA-Ereignisse behandelt werden, umfassen die Spiegelspeicherpuffer bevorzugt getrennte Spiegefspeicherpuffer für jedes dieser Ereignisse. Dementsprechend sind bevorzugt insgesamt zwölf Spiegelspeicherpuffer im Vorfetdcomputer 18 vorgesehen. Zusätzlich wird jeder dieser Spiegelspeicherpuffer individuell überwacht, so daß die Anordnung dieser Puffer nicht notwendigerweise der unten gezeigten Organisation folgen muß:
  • Zweites N: (NULL-SDSS-L NULL-DSS-L NULL-SDDS-R NULL-DSS-R)
  • Zweites N + 1: (EINS-SDSS-L EINS-DSS-L EINS-SDDS-R EINS-DSS-R)
  • Zweites N + 2: (ZWEI-SDSS-L ZWEI-DSS-L ZWEI-SDDS-R ZWEI-DSS-R)
  • Statt dessen könnte die Anordnung dieser Puffer auch einer anderen Organisation folgen, wie etwa unten gezeigt:
  • Zweites N: (EINS-SDSS-L ZWEI-DSS-L NULL-SDDS-R EINS-DSS-R)
  • Zweites N + 1: (ZWEI-SDSS-L NULL-DSS-L EINS-SDDS-R ZWEI-DSS-R)
  • Zweites N + 2: (NULL-SDSS-L EINS-DSS-L ZWEI-SDDS-R NULL-DSS-R)
  • Es ist wichtig zu verstehen, daß die entsprechenden linken und rechten Spiegelpuffer (z. B. Puffer 46a und 48a) im allgemeinen nicht zur gleichen Zeit voll werden, da die Programmzeitlinie des Prozeßsteuerungscomputers im Hund-Modus der Programmzeitlinie des Prozeßsteuerungscomputers im Fuchs- Modus in einem vorbestimmten Zeitabstand (z. B. 20 Mikrosekunden bis 20 Millisekunden) folgen sollte. Diese Zeitlinien können allerdings in dem Fall beträchtlich voneinander getrennt werden, daß die Kommunikation über die Hauptverbindung 14 nicht möglich ist, wie oben erwähnt. Selbst wenn die linken und rechten SDSS- oder DSS-Signale nahezu zum gleichen Zeitpunkt ausgewertet werden, können die Verzögerungen, die zur Übertragung dieser Information zur IFQ-Schaltung 30 und dann zur Übertragung dieser Information in die angemessenen Spiegelspeicher erforderlich sind, eine stärkere Zeitasymmetrie zwischen diesen Ereignissen aus Sicht der Anwendungssoftware der Vorfeldcomputer 18 als aus Sicht des Prozeßsteuerungscomputer und der IFS-Schaltungshardware zur Folge haben. Nichtsdestotrotz ist es die Verantwortlichkeit des Vorfeldcomputers 18 zu gewährleisten, daß die schließlich dem Computernetz 20 zugänglich gemachten Datensätze die Daten von den Prozeßsteuerungscomputern 12a-12b im gleichen Programmzyklus (z. B. eine Periode von einer Sekunde) repräsentieren. Diesbezüglich umfaßt die Anwendungssoftware des Vorfeldcomputers 18 eine Prozedur, auf die als "MI Sync" Bezug genommen wird, die einzelne Datenübertragungsereignisse in einem zusammenhängenden Satz von Puffern gruppiert, die einen "Schnappschuß" der Vorverbindungs- und Nachschlichtungsdaten für einen bestimmten Prozeßsteuerungszyklus repräsentieren.
  • Die MI Sync Prozedur verwendet einen Satz von Spiegelspeicherpufferverwaltungsstrukturen (MI RMBMS) zum Überwachen des Status von eingehenden Datenübertragungen. Wenn die Treibersoftware der IFQ-Schaltung der MI Sync-Prozedur signalisiert, daß ein DMA-Transfer beendet ist, schreibt die MI Sync-Prozedur die benötigte Information in die angemessen MI_RMBMS- Datenstruktur. Wenn MI Sync bestimmt, daß ein vollständiger Satz von Puffern empfangen und gespeichert wurde (d. h. linker SDSS, rechter SDSS, linker DSS und rechter DSS), aktualisiert sie eine globale Datenstruktur (MI_RM_DATA) mit den Zeigern zu den neu empfangenen Daten. Diese Zeiger werden von der MI_RMBMS-Datenstruktur kopiert. Dementsprechend enthält MI_RM_DATA die Zeiger zu dem momentan erhältlichen "vollständigen" oder zeitabgestimmten Satz von Spiegelspeicherpuffern. In Abhängigkeit davon, wo sich der Vorfeldcomputer 12 in der Round-Robin-Prozedur befindet, können die aktuellsten zeitabgestimmten Sätze von Spiegelspeicherpuffern die ZWEI-Puffer 54a und 56a in einem Zeitintervall, die EINS-Puffer 50a und 52a im nächsten Zeitintervall und die NULL-Puffer 46a und 48a im folgenden Zeitintervall sein. Im Fall daß die SDSS oder DSS-Daten von einem der Prozeßsteuerungscomputer 12a-12b nicht durch die IFQ-Schaltung 30 empfangen werden, wird MI Sync die Zeitabstimmung beibehalten, indem eine angemessene Auszeit (z. B. 700 Millisekunden) für das Aktualisieren der MI_RM_DATA-Zeiger verwendet wird. Es wird auch eine Anzeige geliefert, welcher Puffer oder welche Puffer nicht zur Verfügung stehen.
  • Die Pufferzeiger innerhalb MI_RM_DATA sind durch eine gegenseitiger- Ausschluß-Semaphore oder "mutex" geschützt. MI SYNC fordert diese mutex an, bevor die neuen Zeiger zu MI RM DATA kopiert werden, und gibt sie sofort frei, nachdem die Kopie vollständig ist. Wenn eine Netzeinheit Zugang zu Spiegelspeicherdaten benötigt, wird eine Kopie der MI_RM_DATA-Zeiger gemacht, indem diese mutex angefordert wird, diese Pufferzeiger zu einer lokalen Datenstruktur kopiert werden und dann die mutex freigegeben wird. Da die Anwendung zum Anfordern oder Lesen der Daten eine Kopie des Zeigers verwendet, wird der Wettstreit um die mutex minimiert und MI Sync wird fähig sein, MI_RM_DATA mit neuen Zeigern zu aktualisieren, sobald der nächste komplette Satz von Daten gespeichert worden ist. Diesbezüglich ist es wichtig zu vermerken, daß dieses Verfahren der lesenden Anwendung ermöglicht, noch auf den gleichen Satz von Spiegelspeicherpuffern zuzugreifen, während MI Sync MI_RM_DATA mit neuen Zeigern aktualisiert. Da lesende Anwendungen auf den aktuellsten zeitabgestimmten Satz von Spiegelspeicherpuffern zugreifen werden, sollte verstanden werden, daß eine lesende Anwendung auf einen Satz von Spiegelspeicherpuffern (z. B. die ZWEI-Puffer 54a und 56a) zugreifen könnte, während einer nachfolgenden Leseanwendung Zugang zu einem anderen Satz von Spiegelspeicherpuffern (z. B. die EINS-Puffer 50a und 52a) Zugang gegeben werden könnte, sobald MI Sync MI_RM_DATA mit neuen Zeigern aktualisiert.
  • Es sollte auch verstanden werden, daß Anwendungen, die auf die Spiegelspeicher zugreifen, bis zu ihrer Beendigung laufen können, bevor die in Bezug genommenen Puffer mit neuen eingehenden Daten überschrieben werden. Bei einer Ausführungsform des Vorfeldkommunikationssystems 10 werden Spiegelspeicherdaten benötigende Anwendungen Ausführungsprioritäten zugeordnet, die hoch genug sind, um es ihnen zu ermöglichen, bis zum Ende in weniger als einer Sekunde zu laufen. Allerdings sollte gewürdigt werden, daß der Vorfeldcomputer 18 mit zusätzlichen Sätzen von Puffern konfiguriert sein könnte, um die Entwicklung einer Anwendung zu ermöglichen, die länger bis zum Ende laufen kann.
  • Von dem obigen sollte auch gewürdigt werden, daß die Verwendung der Vorfeldcomputer 18a-18b auch ermöglicht, daß das Kommunikationssystem 10 die notwendige Intelligenz aufweist, um spezifischen Datenanforderungen zu antworten. Die Verwendung der Vorfeldcomputer 18a-18b ermöglicht auch eine schnelle Überprüfung, ob die Prozeßsteuerungscomputer 12a-12b tatsächlich fortfahren, Echtzeitdaten zu senden. Weiterhin sind die Vorfeldcomputer 18a-18b ferner bevorzugt programmiert zu bestimmen, ob Lese- oder Schreibanforderungen von den Prozeßsteuerungscomputern 12a-12b bezüglich einer Einheit am Computernetz 20 gewährt werden sollten, die die Anforderung gesendet hat. Wie unten vollständiger diskutiert wird, enthalten die Vorfeldcomputer 18a-18b beide eine Sicherheitstabelle und zwei Zulässigkeitstabellen in ihren Speichern, um diese Bestimmungen zu vereinfachen. Die Sicherheitstabelle wird zum Bestimmen verwendet, ob überhaupt Kommunikation mit verschiedenen Einheiten am Computernetz 20 erlaubt wird, wohingegen die Zulässigkeitstabellen verwendet werden, um Schreibanweisungsmitteilungen von einer Einheit am Computernetz zu evaluieren, die bestimmte Stellen in den Dual-Port-Datenspeichern 22a-22b berühren könnten.
  • Die Vorfeldcomputer 18a-18b können auch wenigstens einen Satz zusätzlicher Spiegelpuffer verwenden, wie etwa Korrelationspuffer 58a und 60a. Angesichts der Tatsache, daß der DSS-Datensatz die Nachschlichtungseingabewertdaten vom momentanen Programmzyklus und die Ausgabewertdaten, die auf den Nachschlichtungseingabewerten des unmittelbar vorangehenden Programmzyklus beruhen, enthalten wird, mag es wünschenswert sein, in einer Datentabelle die Ausgabewerte für einen bestimmten Programmzyklus mit den Eingabewerten zu korrelieren, die zum Entscheiden über diese Ausgabewerte verwendet wurden. Dementsprechend kann der Vorfeldcomputer 18a die Korrelationspuffer 58a und 60a verwenden, um eine Kopie der Nachschlichtungseingabewerte vom momentanen DSS-Datensets zu speichern und dann auf die Abstimmung des nächsten DSS-Datensatzes zu warten, um eine Kopie der Ausgabewerte von diesem nachfolgenden Datensatz im gleichen Korrelationspuffer zu speichern. Diesbezüglich sollte gewürdigt werden, daß diese Kopierprozedur vom aktuellsten zeitabgestimmten Satz von Spiegelspeicherpuffern durchgeführt werden wird. Somit zeigt z. B. Fig. 2a ein schematisches Beispiel einer Datentabelle in einem zeitabgestimmten Puffer, wohingegen Fig. 2b ein ähnliches Beispiel einer Datentabelle im Korrelationspuffer CL zeigt. Auf jeden Fall sollte verstanden werden, daß die Zeitabstimmungsfähigkeiten der Vorfeldcomputer 18a-18b ein leistungsfähiges Diagnosewerkzeug zum Analysieren sowohl des Betriebs der Prozeßsteuerungscomputer 12a-12b als auch des gesteuerten/geregelten physikalischen Prozesses bereitstellen. Zum Beispiel kann die bezüglich den Eingabedatenwerten durchgeführte Schlichtung für beide Prozeßsteuerungscomputer 12a-12b analysiert werden, wenn Vorverbindungs- und Nachschlichtungseingabedatenwerte zeitabgestimmt werden und durch die Vorfeldcomputer 18a-18b zugänglich gemacht werden.
  • Das in Fig. 1 gezeigte Computernetz 20 umfaßt allgemein ein Direktsteuerungssegment, ein Prozeßinformationssegment und eine Verbindung zu einem Weitbereichsnetz "WAN". Jedes dieser Netzsegmente verwendet bevorzugt Ethernet kompatible Medien und zum Protokoll IEEE 802.3 kompatible Kommunikationsprotokolle. Das Direktsteuerungssegment umfaßt die beiden Anlagenbereichsnetze "PAN-1 " und "PAN-2", wohingegen das Prozeßinformationssegment das Anlagenbereichsnetz "PAN-3" umfaßt. Es wird wenigstens eine Brücke 62 verwendet, um die PAN-1 und PAN-2 Segmente zu verbinden. Zusätzlich wird wenigstens eine Brücke 64 verwendet, um das PAN-2 Segment mit dem PAN-3 Segment zu verbinden. Eine weitere Brücke kann verwendet werden, um das PAN-1 Segment mit dem PAN-3 Segment zu verbinden. Eine oder mehrere Brücken 66 können auch verwendet werden, um das PAN-3 Segment mit dem WAN zu verbinden.
  • Es sollte bemerkt werden, daß der Vorfeldcomputer 18a mit dem PAN-1 Segment gekoppelt ist, wohingegen der Vorfeldcomputer 18b mit dem PAN-2 Segment gekoppelt ist. Wenn auch ein einzelnes Anlagenbereichsnetz vorgesehen sein könnte, weist die Verwendung der hierin gezeigten doppelten Anlagenbereichsnetze gewisse Kommunikations- und Redundanzvorteile gegenüber einem einzigen Anlagenbereichsnetz auf. In dieser Hinsicht werden die Brücken typischerweise Kommunikation durch Ethernet Hardwareadressen ausfiltern, um die Menge an Verkehr auf jedem der Netzsegmente zu vermindern. Zum Beispiel wird eine Kommunikation zwischen dem Sicherheitsserver 68 und der Bedienungsstation 70 nicht über die Brücke 62 zum PAN-1 Segment übertragen werden. Die Brücken 62-66 liefern auch eine physikalische Trennungsschicht zwischen den Netzsegmente, so daß - falls ein Fehler auf einem der Netzsegmente auftritt - der Fehler dann daran gehindert wird, die anderen Netzsegmente schädlich zu beeinträchtigen. Zusätzlich kann eine oder können mehrere der Brücken auch dazu verwendet werden, Kommunikation auf der Basis spezifischer Datenkommunikationsprotokollidentifikationen auszufiltern, um die Gesamtsicherheit des Netzes 20 zu vergrößern. Zum Beispiel kann die Brücke 64 verwendet werden, um die Übertragung von Mitteilungen, die das durch den Sicherheitsserver 68 verwendete Ethernet kompatible Protokoll verwenden, von einem der PAN-2 und PAN-3 Segmente zum anderen zu verhindern. In gleicher Weise kann die Brücke 64 verwendet werden, um die Übertragung von Mitteilungen zu verhindern, die das Ethernet kompatible Protokoll verwenden, das zum Schreiben von Information in den Mitteilungsspeicherabschnitt 26 des Dual-Port-Datenspeichers verwendet wird.
  • Das Computernetzwerk 20 umfaßt auch eine Mehrzahl von Operator-Arbeitsplatzrechnern, wie etwa die Operator-Arbeitsplatzrechner 70 und 72. Wie in Fig. 1 gezeigt, können die Operator-Arbeitsplatzrechner an verschiedenen Netzsegmenten angeordnet sein, und die Anzahl von Operator-Arbeitsplatzrechnern wird von der bestimmten Prozeßsteuerungsanwendung abhängen. Eine oder mehrere dieser Operator-Arbeitsplatzrechner können dazu verwendet werden, von den Vorfeldcomputern 18a-18b empfangene Daten anzusehen oder zu analysieren. Zusätzlich können diese Operator-Arbeitsplatzrechner durch einen autorisierten Kontrollraumoperator dazu verwendet werden, die angemessenen Instruktionen zu den Vorfeldcomputern 18a-18b zu übertragen, die veranlassen, daß eine Anweisungsmitteilung zu den Prozeßsteuerungscomputern 12a-12b befördert wird.
  • Das Netz 20 umfaßt ferner den Prozeßinformationscomputer 74, der eine Vielzahl an Funktionen durchführen kann. Zum Beispiel kann der Prozeßinformationscomputer dazu verwendet werden, den Werdegang von von den Vorfeldcomputern 12a-12b empfangenen Prozeßdaten zu speichern. Zusätzlich kann der Prozeßinformationscomputer 74 dazu verwendet werden, die sowohl zum Ändern der in den Vorfeldcomputern 18a-18b laufenden Computerprogramme als auch zum Ändern der in den Prozeßsteuerungscomputern 12a- 12b laufenden Programme benötigten Compiler zu speichern. Der Prozeßinformationscomputer 74 kann auch Ladeassistenzsoftware zum Übertragen von Betriebsprogrammrevisionen zu den Prozeßsteuerungscomputern 12a-12b enthalten. Das Netz umfaßt auch den Steuerraumdatenverwaltungscomputer 76, der verwendet werden kann, um verschiedene Dateibedienungs- und Suchfunktionen unter den mit dem Netz verbundenen Computern durchzuführen.
  • Der schon erwähnte Herabladeexpertenassistent 78 ist dafür vorgesehen, Programmrevision in den Vorfeldcomputern 18a-18b zu vereinfachen. Im Gegensatz dazu kann die Ladeassistenzsoftware im Prozeßinformationscomputer 74 dazu verwendet werden, daß ein neues Computerprogramm in einen der Prozeßsteuerungscomputer 12a-12b durch wenigstens einen der Vorfeldcomputer 18a-18b und den Mitteilungsspeicherabschnitt 26 des Dual-Port- Datenspeichers 22 herabgeladen wird. Obwohl der Herabladeassistent 78 in seinem eigenen Netzcomputer residieren kann, könnte der Herabladeassistent auch in einem geeigneten Netzcomputer, wie dem Prozeßinformationscomputer 74, residieren.
  • Der Ladeassistent kann auch dazu verwendet werden, daß der Prozeßsteuerungscomputer mit dem revidierten Programm in einem Modus zu arbeiten anfängt, der ein Echtzeittesten des revidierten Programms ermöglicht. In diesem Betriebsmodus wird der Prozeßsteuerungscomputer Eingabedaten empfangen und Ausgabeentscheidungen treffen; diese Ausgabeentscheidungen werden aber nicht zu den Feldinstrumentariumsvorrichtungen übertragen. Dies wird ermöglichen, daß der Anlageningenieur die Revisionen evaluiert und falls nötig sogar weitere Revisionen vornimmt, bevor er den Prozeßsteuerungscomputer instruiert, einen aktiven Betriebsmodus, wie etwa der Fuchs- oder Hundmodus, einzunehmen.
  • Wann immer es entschieden wird, daß die Art und Weise, mit der die Prozeßsteuerungscomputer 12a-12b ihre speziellen Herstellungssteuerungsoperationen durchführen, durch eine Programmrevision geändert werden sollten, muß das revidierte Programm für die Prozeßsteuerungscomputer 12a-12b aus der Quellenprogrammiersprache zu einer ausführbaren Datei oder einem Satz von dynamisch verbundenen Dateien kompiliert werden. Bei der bevorzugten Ausführungsform wird eine eindeutige Identifizierung während der Compilierprozedur in den ausführbaren Code eingebettet. Diese Identifizierung repräsentiert die Version der revidierten Software (oder ist dieser auf andere Weise zugeordnet) für die Prozeßsteuerungscomputer 12a-12b. Die Programmversionsidentifikation wird verwendet, um eine richtige Abstimmung zwischen der Version des durch die Prozeßsteuerungscomputer 12a-12b ausgeführten Programms und den Dateien/Tabellen in den Vorfeldcomputern 18a-18b zu gewährleisten, die zum Evaluieren von Schreibkommandomitteilungen an diese Prozeßsteuerungscomputer verwendet werden.
  • Wie oben erwähnt, enthält jeder der Vorfeldcomputer 18a-18b zwei Zulässigkeitstabellen, wie die "PL"-Zulässigkeitstabelle 80a für den linken Prozeßsteuerungscomputer 12a und die "PR"-Zulässigkeitstabelle 82a für den rechten Prozeßsteuerungscomputer 12b. Diese Zulässigkeitstabellen werden durch die Vorfeldcomputer 18a-18b verwendet, um zu bestimmen, ob einer Einheit am Computernetz 20 erlaubt werden sollte, die Inhalte bestimmter Stellen in den Dual-Port-Datenspeichern 22a-22b zu ändern. Allerdings sollte gewürdigt werden, daß die Datenstruktur der Zulässigkeitstabelle dazu ausgelegt sein könnte, die Inhalte beliebiger Speicherstellen oder Bereiche in den Prozeßsteuerungscomputern 12a-12b zu schützen, die durch eine Schreibkommandomitteilung geändert werden könnten.
  • Wenn eine Mitteilung durch einen Vorfeldcomputer 18 von einer Einheit am Netz empfangen wird, die das Schreibkommandoprotokoll verwendet, wie etwa eine Schreibkommandomitteilung von einer der Operator-Arbeitsplatzrechner 70-72, wird ein "data_write_check" ("Daten Schreiben_ Überprüfung")-Unterprogramm durch die Zentralprozessoreinheit des Vorfeldcomputers aufgerufen. Das data_write_check (Daten_Schreiben_Überprüfung")-Unterprogramm wird einen Vergleich zwischen den variablen Elementen, die in der Schreibkommandomitteilung identifiziert sind und den variablen Elementen in der Zulässigkeitstabelle, für die Änderungen authorisiert oder abgelehnt werden sollen, durchführen. Falls z. B. der Vorfeldcomputer 18a eine Schreibkommandomitteilung empfängt, die trachtet, einen analogen Verstärkungsfaktor "AG" zu vergrößern/zu verkleinern, der durch das durch den linken Prozeßsteuerungs- Computer 12a ausgeführte Programm verwendet wird, wird der Vorfeldcomputer 18a das Elementwort für diesen bestimmten AG-Faktor in der Zulässigkeitstabelle 80a nachsehen und bestimmen, ob ein Bit gesetzt worden ist, das die zum Ändern dieses Faktors erforderliche Autorisierung verneint. Falls die Autorisierung verneint ist, wird dann der Vorfeldcomputer 18a die Schreibkommandomitteilung nicht zum Prozeßsteuerungscomputer 12a übertragen. Statt dessen wird der Vorfeldcomputer 18a bevorzugt eine Antwortmitteilung zur Zentralrechnereinheit am Computernetz 20 senden, die ursprünglich die Schreibkommandomitteilung gesendet hat, um die Zentralrechnereinheit darüber zu informieren, daß ein Schreibfehler aufgetreten ist.
  • Aus dem obigen sollte gewürdigt werden, daß die PL- und PR-Zulässigkeitstabellen, die in den Vorfeldcomputer 18a-18b gespeichert sind, eng koordiniert mit der Version des durch die Prozeßsteuercomputer 12a-12b jeweils ausgeführten Programms sein müssen. Um zu gewährleisten, daß jede dieser Zulässigkeitstabellen ausreichend mit den in ihren jeweiligen Prozeßsteuerungscomputern 12a-12b ausgeführten Programmen abgestimmt ist, wird die oben diskutierte Programmversionsidentifizierung auch in diesen Zulässigkeitstabellen eingebettet, wenn diese kompiliert werden. Diese Programmversionsidentifizierung kann dann zu dem Prozeßsteuerungscomputer 12 zusammen mit einer verifizierten Schreibkommandomitteilung gesendet werden, so daß der Prozeßsteuerungscomputer 12 bestätigen kann, daß die angewiesen Variablenänderung für seine Programmversion angemessen ist.
  • Um die Sicherheit dieses Verifikationsprozesses zu erhöhen, wird die Programmversionsidentifizierung aus der Zulässigkeitstabelle bevorzugt durch einen geeigneten Verschlüsselungsalgorithmus geändert, bevor sie mit der Schreibkommandomitteilung zum Mitteilungsspeicherbereichabschnitt 26 der Heimlichkeitsinterfaceschaltung 16 für den betreffenden Prozeßsteuerungscomputer 12 übertragen wird. Der Prozeßsteuerungscomputer 12, der die Schreibkommandomitteilung empfängt, wird dann diese Versionsidentifizierung decodieren und sie mit der in seinem Programm eingebetteten Programmversionsidentifizierung vergleichen, um zu bestimmen, ob eine Übereinstimmung vorliegt. Falls die Programmversionsidentifizierungen übereinstimmen, wird der Prozeßsteuerungscomputer 12 dann die angewiesene Variablenänderung durchführen. Andernfalls wird der Prozeßsteuerungscomputer 12 reagieren, indem er die Schreibkommandomitteilung fallen läßt und eine angemessene Fehlermitteilung an den Vorfeldcomputer 18 sendet.
  • Die PL- und PR-Zulässigkeitstabellen sind bevorzugt ferner mit einer Datenstruktur versehen, die es ermöglicht, für spezifische Zentralrechnereinheiten am Computernetz 20 Schreibkommando-Autorisierungsbestimmungen durchzuführen. Mit anderen Worten kann die Zulässigkeitstabelle 80a zulassen, daß bestimmte Variablenänderungen von dem Operator-Arbeitsplatzrechner 70 aus durchgeführt werden, die von dem Operator-Arbeitsplatzrechner 72 aus nicht erlaubt sind. Die Zulässigkeitstabellen können somit sowohl mehrere stationsspezifische Tabellenabschnitte als auch Vorbelegungstabellenabschnitte aufweisen. Nichtsdestotrotz kann durch die Verwendung eines geeigneten Passworts an einer Zentralrechnereinheit am Computernetz 20 auch die Möglichkeit vorgesehen sein, eine Überprüfung durch die angemessene Zulässigkeitstabelle zu umgehen. In diesem Fall sollte allerdings ein Vermerk erzeugt und im Vorfeldcomputer 18 gespeichert werden, der die Transaktion und die Identität der Zentralrechnereinheit (z. B. eine Zentralprozessoreinheitidentifizierung) identifizieren wird.
  • Es sollte vermerkt werden, daß die Verwendung von gesonderten Zulässigkeitstabellen für die Prozeßsteuerungscomputer 12a-12b den Vorteil aufweist, daß ermöglicht wird, eine Programmherabladeoperation an einem der Prozeßsteuerungscomputer durchzuführen, während der andere Prozeßsteuerungscomputer fortfährt, aktiv einen Herstellungsprozeß zu steuern. Selbst nachdem ein revidiertes Programm erfolgreich zum Prozeßsteuerungscomputer 12a transferiert worden ist (und die entsprechende Zulässigkeitstabelle 80a im Vorfeldcomputer 18a geladen wurde), ermöglicht die Verwendung gesonderter Zulässigkeitstabellen dem Vorfeldcomputer 18a, eine für den Prozeßsteuerungscomputer 12a bestimmte Schreibkommandomitteilung zu evaluieren, die von einer für den Prozeßsteuerungscomputer 12b bestimmten Schreibkommandomitteilung verschieden ist. Wenn es auch in gewissen Umständen nicht ratsam ist, in den Prozeßsteuerungscomputern 12a-12b verschiedene Programmversionen in einem aktiven Steuermodus laufen zu lassen, kann ein passiver Betriebsmodus für den Prozeßsteuerungscomputer mit dem revidierten Programm verwendet werden, während der andere Prozeßsteuerungscomputer in einem aktiven Steuermodus ist. In einem solchen Fall kann der Anlageningenieur den Herabladeassistent 78 während des abschließenden Programmtestens verwenden, um Schreibkommandomitteilungen für den passiven Prozeßsteuerungscomputer auszugeben, während ein anderer Anlageningenieur durch den gleichen Vorfeldcomputer 18 Schreibkommandomitteilungen zum aktiven Prozeßsteuerungscomputer ausgibt.
  • Der Sicherheitsserver 68 wird dazu verwendet, jeden der am Netz 20 residierenden Computer darüber zu informieren, mit wem sie am Netz kommunizieren dürfen. Hierzu speichert der Sicherheitsserver eine spezifische Sicherheitstabelle für jede der gültigen Einheiten am Netz. Jede dieser Sicherheitstabellen wird identifizieren, mit welcher der Netzcomputereinheiten ein bestimmter Netzcomputer eine bidirektionale Kommunikation durchführen kann. Im Falle der Vorfeldcomputer 18a-18b wird z. B. eine der ersten Funktionen beim Hochfahren sein, ihre jeweiligen Sicherheitstabellen vom Sicherheitsserver 68 zu erhalten. Dementsprechend ist der Sicherheitsserver 68 in Fig. 1 dahingehend gezeigt, daß er eine Sicherheitstabelle "S1" für den Vorfeldcomputer 18a und eine Sicherheitstabelle "S2" für den Vorfeldcomputer 18b speichert. Wenn auch der Sicherheitsserver dazu verwendet werden könnte, die oben diskutierten Zulässigkeitstabellen PL und PR zu den Vorfeldcomputern 18 zu senden, ist es bevorzugt, daß neu kompilierte Zulässigkeitstabellen von dem Herabladeassistenten 78 empfangen werden. Diesbezüglich sollte bemerkt werden, daß der Herabladeassistent bevorzugt auch dazu verwendet wird, das für die IFS- Schaltung 28 bestimmte Übertragungsfeld 37 zum Vorfeldcomputer 18 zusammen mit der angemessenen Zulässigkeitstabelle zu senden.
  • Um die Integrität der Sicherheitstabellenübertragungen vom Sicherheitsserver 68 zu den Vorfeldcomputern 18a-18b zu gewährleisten, wird bei der vorliegenden Ausführungsform ein Verfahren zum Validieren dieser Übertragungen verwendet. In Übereinstimmung mit diesen Verfahren wird der Vorfeldcomputer 18 eine Zufalls- oder Pseudozufallszahl in einer Netzsendemitteilung einbetten, um anzufordern, daß sich der Sicherheitsserver 68 als eine Einleitung zum Senden der angemessenen Sicherheitstabelle selbst identifiziert. Der Sicherheitsserver wird auf diese Anforderung mit einer Bestätigungsmitteilung antworten, die eine Sicherheitsprotokollidentifizierung verwendet, die von derjenigen verschieden ist, die bei anderen Arten von Netzmitteilungen verwendet wird. Wichtig ist, daß diese Bestätigungsmitteilung die Zufallszahl vom Vorfeldcomputer 18 in einem transformierten Zustand enthalten wird. Hierzu kann ein geeigneter Verschlüsselungsalgorithmus verwendet werden, um die Zufallszahl zu ändern, und die Zufallszahl sollte eine Bit-Länge haben, die es für unauthorisierte Einheiten schwierig macht, diese zu decodieren (z. B. 32 Bit). Nach Empfang der Bestätigungsmitteilung wird der Vorfeldcomputer 18 dann entweder den Verschlüsselungsprozeß umkehren, um die Zufallszahl zu erhalten, oder seine ursprüngliche Zufallszahl verschlüsseln, um die übertragenden und empfangenen Zufallszahlen zu vergleichen. Unter der Annahme, daß diese Zufallszahlen übereinstimmen, wird der Vorfeldcomputer 18 dann bestimmen, daß die Bestätigungsmitteilung von einem gültigen Sicherheitsserver empfangen worden ist, und der Übertragungsprozeß wird voranschreiten.
  • Um die Sicherheit der Kommunikation zwischen den Vorfeldcomputern 18a- 18b und anderen Einheiten am Computernetz 20 weiter zu vergrößern, ist gemäß einer bevorzugten Ausführungsform eine zusätzliche Validierungsprozedur implementiert. Genauer: Gemäß der hierin beschriebenen Ausführungsform der vorliegenden Erfindung wird diese zusätzliche Validierungsprozedur verwendet, um eine Kommunikation zwischen den Vorfeldcomputern 18a-18b und jeder Netzeinheit zu ermöglichen, für die eine Schreibkommandomitteilung anerkannt werden kann. In Übereinstimmung mit diesem Validierungsverfahren wird der Vorfeldcomputer 18 eine Kontraktangebotsmitteilung auf periodischer Basis zu der Ethernetadresse jeder Zentralrechnereinheit am Netz 20 senden, die er anerkennt, eine Schreibmitteilungsfähigkeit zu haben. Jede dieser Kontraktangebotsmitteilungen wird eine Zufalls- oder Pseudozufallszahl oder eine andere geeignete unvorhersagbare Mitteilungskomponente enthalten. Damit eine Zentralrechnereinheit ihre Schreibkommandomitteilungen anerkannt bekommt, muß sie auf seine Kontraktangebotsmitteilung innerhalb einer vorbestimmten Zeitperiode (z. B. 10 Sekunden) mit einer Kontraktannahmemitteilung antworten, die eine transformierte Version dieser unvorhersagbaren Mitteilungskomponente enthält. Wenn auch jeder angemessene Verschlüsselungsalgorithmus für diesen Zweck verwendet werden kann, ist es bevorzugt, daß dieser Verschlüsselungsalgorithmus von dem Verschlüsselungsalgorithmus verschieden ist, der zum Validieren der Übertragung einer Sicherheitstabelle vom Sicherheitsserver 68 verwendet wird. Ferner sollte vermerkt werden, daß das Sicherheitsmitteilungsprotokoll für diese Kontaktangebots- und -annahmemitteilungen verwendet werden kann.
  • Der Vorfeldcomputer 18 wird dann eine in die Kontraktannahmemitteilung eingebettete Zufallszahl entschlüsseln, um zu bestimmen, ob ein zeitbeschränkter Kommunikationskontrakt zwischen dem Vorfeldcomputer und dieser Zentralrechnereinheit an der spezifischen Ethernetadresse für die Zentralrechnereinheit, die in der Sicherheitstabelle enthalten war, etabliert wird. Dieser zeitbeschränkte Kommunikationskontrakt wird gewährleisten, daß eine Schreibkommandomitteilungsverbindung zwischen einem Vorfeldcomputer 18 und einer bestimmten Zentralrechnereinheit verläßlich und spezifisch sein wird. Zum Beispiel wird somit der Vorfeldcomputer 18a eine Kontraktangebotsmitteilung zu der Ethernetadresse des Operator-Arbeitsplatzrechners 72 senden, die eine neue Zufallszahl (z. B. mit einer Länge von 32 Bit) enthalten wird. Der Operator-Arbeitsplatzrechner 72 wird mit einer Kontraktannahmemitteilung antworten, die eine verschlüsselte Version dieser bestimmten Zufallszahl enthält. Der Vorfeldcomputer 18a wird dann entweder diese Nummer mit dem in seinem Speicher für diesen Zweck gespeicherten Kontraktalgorithmusschlüssel entschlüsseln oder den gleichen Verschlüsselungsalgorithmus verwenden, um die Angebotszahl und die Annahmezahl zu vergleichen. Falls diese Zahlen übereinstimmen, wird der Vorfeldcomputer 18a dann Schreibkommandomitteilungen vom Operator-Arbeitsplatzrechner 72 für eine vorbestimmte Zeitperiode verarbeiten. Andernfalls, falls die Nummern nicht übereinstimmen, wird der Vorfeldcomputer 18a dann ein Schreibkommandoautorisierungsbit für die Ethernetadresse des Operator-Arbeitsplatzrechners 72 aus seiner Sicherheitstabelle S1 sperren, um anzuzeigen, daß Schreibkommandomitteilungen von diesem Operator-Arbeitsplatzrechner ignoriert werden sollten.
  • Der für Schreibkommandomitteilungen etablierte Kommunikationskontrakt ist zeitbeschränkt, um die Übertragungssicherheit für diese bestimmten Mitteilungen zu vergrößern. Bei der bevorzugten Ausführungsform wird der Kommunikationskontrakt automatisch innerhalb von 20 Sekunden nach der Initiierung auslaufen. Um zu gewährleisten, daß die Fähigkeit zum Senden von Schreibkommandomitteilungen nicht unterbrochen wird, sollten nichtsdestotrotz die Kontraktangebotsmitteilungen vom Vorfeldcomputer 18 zu jeder der angemessenen Zentralrechnereinheiten am Netz 20 auf einer periodischen Basis gesendet werden, was diese Kontinuität liefern wird. Bei einem Kommunikationskontrakt von 20 Sekunden ist es beispielsweise bevorzugt, daß die Kontraktangebote mit einer Rate von näherungsweise alle 10 Sekunden übertragen werden. Mit anderen Worten wird jede der Zentralrechnereinheiten, die fähig sind anerkennbare Schreibkommandomitteilungen zu senden, alle 10 Sekunden eine neue Zufallszahl von jedem der Vorfeldcomputer 18 empfangen.
  • Im Falle, daß eine Zentralrechnereinheit nicht auf eine Kontraktangebotsmitteilung von einem Vorfeldcomputer 18 reagiert, wird der Vorfeldcomputer bevorzugt drei Versuche machen, einen zeitbeschränkten Kommunikationskontrakt zu etablieren oder aufrechtzuerhalten. Falls auf diese drei Versuche keine Antwort erhalten wird, wird der Vorfeldcomputer 18 das Schreibkommandoautorisierungsbit für die Ethernetadresse dieser Zentralrechnereinheit aus seiner Sicherheitstabelle sperren. In einem solchen Fall wird es der betroffenen Zentralrechnereinheit nicht möglich sein, ihre Schreibkommandomitteilungen durch die Vorfeldcomputer 18 verarbeitet zu bekommen, bis der Sicherheitsserver 68 eine neue Sicherheitstabelle zum Vorfeldcomputer 18 sendet.
  • Aus dem obigen sollte gewürdigt werden, daß nur die Zufallszahlen verschlüsselt werden müssen, um einen Transfer der Sicherheitstabelle zu vereinfachen oder den zeitbeschränkten Kommunikationskontrakt für Schreibkommandomitteilungen zu etablieren. Es sollte allerdings verstanden werden, daß die Sicherheitstabelle selbst oder die Schreibkommandomitteilungen ebenso bei einer geeigneten Anwendung verschlüsselt werden könnten. Trotzdem sorgen die Verwendung verschiedener Ethernetprotokolle für Sicherheitsmitteilungen und Schreibkommandomitteilungen, die Verwendung verschiedener Verschlüsselungsalgorithmen für Sicherheitstabellentransfers und Schreibkommandokommunikationskontrakte, die Beschränkung der Dauer der Schreibkommandokommunikationskontrakte auf kurze Zeitdauern und die Verwendung spezifischer Zulässigkeitstabellen für jeden der Vorfeldcomputer 18 alle in Kombination für einen sehr hohen Grad der Kommunikations- und Schreibkommandosicherheit für die Prozeßsteuerungscomputer 12a-12b. Zusätzlicher Schutz wird ferner wesentlich auch durch die Wärterschaltung in der Heimlichkeitsinterfaceschaltung 16, die Einbettung einer Programmversionsidentifikation in die PL- und PR-Zulässigkeitstabellen und - wenn eine verifizierte Schreibkommandomitteilung zu den Prozeßsteuerungscomputern 12a-12b übertragen wird - die Verschlüsselung dieser Programmversionsidentifizierungen durch die Vorfeldcomputer 18a-18b geliefert. Diesbezüglich sollte bemerkt werden, daß der durch die Vorfeldcomputer 18a-18b für die Programmversionsidentifizierungen verwendete Verschlüsselungsalgorithmus bevorzugt von dem Verschlüsselungsalgorithmus verschieden ist, der zur Sicherheitstabellenübertragung verwendet wird oder der zum Etablieren der zeitbeschränkten Kommunikationskontrakte für Schreibkommandomitteilungen verwendet wird.
  • Wenden wir uns Fig. 3 zu, in der ein Blockdiagramm der Heimlichkeitsinterfaceschaltung 16 gezeigt ist. Es wird auch Bezug genommen auf das schematische Diagramm der Heimlichkeitsinterfaceschaltung 16, das in den Fig. 4A-48 gezeigt ist. Die Heimlichkeitsinterfaceschaltung 16 ist zwischen der inneren Busstruktur 100 des Prozeßsteuerungscomputers 12 und dem nach außen gerichteten Heimlichkeitsanschluß 102 zwischengeschaltet. Die Heimlichkeitsinterfaceschaltung 16 ist mit der Busstruktur 100 über einen Satz geeigneter Puffer verbunden. Hierzu umfaßt ein Pufferblock 104 zwei 8-Bit- Pufferschaltungen U17-U18, die Adreßinformation vom Adreßbus am Prozeßsteuerungscomputer 12 empfangen. Ähnlich umfaßt ein Pufferblock 106 zwei 8-Bit Pufferschaltungen U6-U7, die Dateninformation von dem Datenbus des Prozeßsteuerungscomputers 12 empfangen.
  • Die Heimlichkeitsinterfaceschaltung 16 enthält auch einen Datensteuerblock 108, der ebenfalls mit der Busstruktur 100 des Prozeßsteuerungscomputers 12 verbunden ist. Wie in Fig. 4A angegeben ist, umfaßt der Datensteuerblock 108 bevorzugt eine programmierbare logische Feldschaltung "PAL" U15 (z. B. EP5121, die dazu verwendet wird, die SDSS und DSS-Signale vom Prozeßsteuerungscomputer 12 zu erfassen. Wie im Fachgebiet gut bekannt ist, weist eine PAL-Schaltung schmelzbare Verbindungen auf, die programmiert werden können, so daß eine Mehrzahl von inneren UND-Gattern und OR-Gattern konfiguriert wird, eine gewünschte Logikfunktion auszuführen. Wenn auch eine PAL-Schaltung einen relativ kostengünstigen Weg zum Implementieren logischer Funktionen liefert, sollte verstanden werden, daß andere geeignete Schaltungsvorrichtungen für diese Anwendung verwendet werden können. Es sollte auch vermerkt werden, daß die PAL-Schaltung programmiert ist, zwei extra Hinweissignale zu erfassen, die durch den Prozeßsteuerungscomputer 12 erzeugt werden können, nämlich das "EXS1" und das "EXS2"-Signal. Eines oder beide dieser zusätzlichen Hinweissignale kann durch den Prozeßsteuerungscomputer 12 verwendet werden, um anzuzeigen, daß gewisse in dem Dual-Port-Datenspeicher 22 gespeicherte Daten stabil sind, wie etwa Daten, die zum Anzeigen graphischer Information verwendet werden.
  • Die Heimlichkeitsinterfaceschaltung 16 empfängt auch vier Steuersignale vom Prozeßsteuerungscomputer 12, die verwendet werden, auf den Dual-Port- Datenspeicher 22 zuzugreifen. Es handelt sich um die Signale "/EN_DATAMEM", "/EMR", "R/W" und "MEMCLK". Die ersten drei dieser Signale beziehen sich darauf, ob der Prozeßsteuerungscomputer 12 aus dem Dual-Port-Datenspeicher 22 lesen oder in diesen schreiben will. Allerdings ist MEMCLK das Speichertaktsignal, auf das oben Bezug genommen wurde, das den für den Zugriff auf den Dual-Port-Datenspeicher 22 zur Verfügung stehenden Maschinenzyklus des Prozeßsteuerungscomputers 12 effektiv zeitunterteilt. Das MEMCLK-Signal ist ein 50% Tastgradtaktsignal, wie in dem Timingdiagramm der Fig. 5A gezeigt ist. In Übereinstimmung mit dem in diesem Timingdiagramm veranschaulichten Verfahren kann auf den Dual-Port-Datenspeicher 22 vom inneren Prozeßsteuerungscomputeranschluß 100 zugegriffen werden, wenn MEMCLK auf niedrigem Pegel ist. Wenn dann MEMCLK zu einem Hochpegelzustand übergeht, kann auf den Dual-Port-Datenspeicher 22 vom externen Heimlichkeitsanschluß 102 zugegriffen werden. Wenn auch das MEMCLK-Signal dahingehend gezeigt ist, daß es eine Periode von 400 Nanosekunden (d. h. eine Frequenz von 2,5 MHz) aufweist, versteht es sich, daß andere geeignete Perioden und Tastgradzyklen bei der angemessenen Anwendung vorgesehen sein können.
  • Auf der Heimlichkeitsanschlußseite der Heimlichkeitsinterfaceschaltung 16 ist ferner ein Satz geeigneter Puffer vorgesehen, um die Übertragung von Adressen- und Dateninformation zu handhaben. Hierzu umfaßt ein Pufferblock 110 zwei 8-Bit-Pufferschaltungen U1-U2, die Adreßinformation vom externen Heimlichkeitsanschluß 102 empfangen. Ähnlich umfaßt ein Pufferblock 112 zwei 8-Bit-Pufferschaltungen U4-US, die fähig sind, Dateninformation zwischen dem Dual-Port-Datenspeicher 22 und dem Heimlichkeitsanschluß 102 zu senden und zu empfangen.
  • Zusätzlich enthält die Heimlichkeitsinterfaceschaltung 16 eine Schlichtungsschaltung 114, die Busanforderungssignale von externen Einheiten am Heimlichkeitsanschluß 102 empfängt. Wie in Fig. 5B gezeigt, stellt die vorliegende Ausführungsform vier einzelne Kanalleitungen für die ankommenden Busanforderungssignale "/BR1../BR4" bereit. Die Heimlichkeitsinterfaceschaltung 16 ermöglicht somit bis zu vier verschiedenen externen Einheiten, mit dem Heimlichkeitsanschluß 102 verbunden zu sein. Die Schlichtungsschaltung 114 ist in Fig. 4B dahingehend gezeigt, daß sie vier asynchrone Eingabebuszuteilungsschaltungen U9 umfaßt, die dem ersten empfangenen Busanforderungssignal den Buszugang gewähren. Hierzu wird schließlich ein spezifisches Busgewährungssignal "/BG1../BG4" erzeugt werden, um die bestimmte externe Einheit, die den Bus gewonnen hat, zu informieren, daß der Kanal für die Verwendung durch sie frei ist. Die Schlichtungsschaltung 114 weist auch ein inneres UND-Gatter auf, das das im Timingdiagramm der Fig. 5A gezeigte eine-Bus-Anforderung-Signal "/ANY_BR" erzeugen wird.
  • Die Heimlichkeitsinterfaceschaltung 16 enthält ferner eine Heimlichkeitsanschlußsteuerschaltung 116, die verwendet wird, um den Zugang zum Dual- Part-Datenspeicher 22 zu steuern. Die Steuerschaltung 116 ist in den Fig. 4A-4B dahingehend gezeigt, daß sie eine PAL-Schaltung U16, eine Zeitgeberschaltung U10 und einen Satz von tri-state-Puffern umfaßt, die im Chip U8 enthalten sind. Im Falle eines Speicherzugangs für den inneren Prozeßsteuerungscomputerbus 100 wird die PAL-Schaltung U16 das Chipwahlsignal "/CS" zu den Puffern 104 und 106 übertragen, um die Adreß- und Dateninformation vom inneren Bus zu latchen oder zu fangen. Die PAL-Schaltung U16 wird ferner das Speicherlesenfreigabesignal "/B_EMR" zum Puffer 106 senden, wenn der Prozeßsteuerungscomputer 12 Daten vom Datenbus 118 der Heimlichkeitsinterfaceschaltung 16 latchen oder fangen muß. Diesbezüglich spricht die PAL-Schaltung U16 sowohl auf das MEMCLK-Signal als auch auf das Taktsignal "CP" der Zentralprozessoreinheit des Prozeßsteuerungscomputers 12 an.
  • Im Falle eines Speicherzugriffs vom externen Heimlichkeitsanschluß 102 wird die PAL-Schaltung U16 das Freigabesignal "/SP_EN" zu den Puffern 110 und 112 übertragen, um Adreß- und Dateninformation vom externen Bus zu latchen oder zu fangen. Die PAL-Schaltung U16 wird ferner das Speicherlesefreigabesignal "SW/R" zum Puffer 112 senden, wenn einer externen Einheit erlaubt wird, Daten vom Datenbus 118 der Heimlichkeitsinterfaceschaltung 16 zu latchen oder zu fangen. Das SW/R-Signal wird am Heimlichkeitsanschlußbus 102 empfangen und liefert eine Angabe über die gewünschte Datenflußrichtung von der externen Einheit. Bei dieser speziellen Ausführungsform ist das SR/W-Signal aktiv auf Hochpegel für einen Lesezyklus und aktiv auf Niedrigpegel für einen Schreibzyklus. Das SR/W-Signal ist für alle vier potentiellen externen Benutzer gemeinsam und es sollte in einem tri-state-Zustand gehalten werden, bis der den Bus gewinnende externe Benutzer sein aktives Niedrigpegel/BR-Signal empfängt.
  • Der PAL U16 überträgt ferner das SW/R-Signal zu der Checkpunkt-Wärterschaltung 120 (PAL-Schaltung U13), um eine Auswertung der Adresse des Dual-Port-Datenspeichers 22 zu initiieren, die durch die externe Einheit für eine Schreiboperation ausgewählt ist. Diesbezüglich ist die Wärterschaltung 120 dazu programmiert, die Übertragung des zum Zugriff auf die Dual-Port-Datenspeicherchips U11-U14 benötigten Chipfreigabesignal "/CE" zu verhindern, wann immer die Adresse außerhalb des Mitteilungsspeicherbereichs 26 liegt.
  • Hinsichtlich der Sequenz von Operationen für die Heimlichkeitsinterfaceschaltung 16 sollte gewürdigt werden, daß ein Speicherlese/Schreibzyklus vom Heimlichkeitsanschluß 102 durch die externe Einheit, die auf den Dual-Port- Datenspeicher 22 zugreifen möchte, initiiert werden muß. Dieser Zyklus wird mit der Übertragung eines Busanforderungssignals/BR von der externen Einheit, wie etwa der Vorfeldcomputer 18a, begonnen. Nach Empfangen eines Busanforderungssignals wird die Schlichtungsschaltung 114 ein aktives eine- Bus-Anforderung-Signal/ANY_BR mit niedrigem Pegel zu der PAL-Schaltung U16 übertragen. Das eine-Bus-Anforderung-Signal wird zu einem inneren Flip- Flop der PAL-Schaltung U16 gerichtet, die unter dem Taktsignal CP arbeitet. Dementsprechend muß das eine-Bus-Anforderung-Signal vor der fallenden Flanke des Taktsignals CP anliegen, damit der Heimlichkeitsanschlußzugriff stattfindet, wenn MEMCLK einen hohen Pegel annimmt, wie im Timingdiagramm der Fig. 5A gezeigt. Falls das gelatchte eine-Bus-Anforderung-Signal aktiv ist, wird die Heimlichkeitsinterfaceschaltung 16 einen Heimlichkeitsanschlußspeicherzyklus anfangen. Andernfalls wird die Heimlichkeitsinterfaceschaltung 16 bis zur nächsten MEMCLK-Signalperiode keinen Heimlichkeitsanschlußspeicherzyklus initiieren.
  • Wenn ein Heimlichkeitsanschlußspeicherzyklus auftritt, wird das /SP_EN-Signal von der PAL-Schaltung U16 erzeugt. Wie oben angegeben, wird dieses Signal die Adreß- und Datenpuffer am Heimlichkeitsanschluß freigeben. Das /SP_EN- Signal wird auch die Schichtungsschaltung 114 freigeben, die ein spezifisches Busgewährungssignal /BG für den den Bus gewinnenden externen Benutzer ausgibt. Sobald die externe Einheit ihr Busgewährungssignal erfaßt, kann sie entweder die Speicheradresse, die sie lesen möchte, oder die für eine Schreiboperation notwendige Adresse und Daten übertragen. Das Chipfreigabesignal /CE wird durch die PAL-Schaltung U13 verzögert, um die durch den Adreßpuffer 110 eingeführte Verzögerung zu berücksichtigen, da die Adresse stabil sein muß, bevor auf die RAM-Chips U11-U14 tatsächlich zugegriffen wird.
  • Bei einem Heimlichkeitsanschlußlesezyklus werden die am Datenbus 118 angelegten Daten näherungsweise 45 ns nach dem Aktivwerden von ICE stabil. Diesbezüglich sollte vermerkt werden, daß Symbole wie etwa "TCE" im Timingdiagramm der Fig. 5B die angemessene Verzögerungszeitdauer angeben. Ein an die PAL-Schaltung U16 gerichtetes Leselatchsignal RDLATCH kann dann durch die externe Einheit verwendet werden, um entweder die Daten in den Puffer 112 zu latchen oder anzugeben, daß Daten erhältlich sind. Für einen Heimlichkeitsanschlußschreibzyklus werden die Adreßleitungen am Adreßbus 112 durch die Wärterschaltung 120 überwacht, um einen Schreibzugriff auf den Heimlichkeitsanschluß 102 schließlich zu erlauben oder zu versagen. Wenn der Schreibzugriff versagt wird, wird die Wärterschaltung das aktive Chipfreigabesignal /CE mit niedrigem Pegel nicht erzeugen, und hierdurch eine externe Einheit am Heimlichkeitsanschluß 102 hindern, zu der bestimmten Adreßstelle im Dual-Port-Datenspeicher 22, die sie gewählt hat, zu schreiben. In diesem Fall wird die Wärterschaltung 120 auch ein Schreibadreßzulässigkeitssignal "WR_AD_VAL" erzeugen, das zur PAL-Schaltung U16 der Steuerschaltung 116 übertragen wird. Die PAL-Schaltung U16 wird reagieren, indem sie ein Schreibadreßfehlersignal "WR_AD_ERR" erzeugt zur Übertragung zu der externen Einheit. Das Schreibadreßfehlersignal ist ein aktives Hochpegelsignal und nur während des momentanen Speicherzugriffszyklus gültig, und dieses Signal ist für alle externen Einheiten gemeinsam.
  • Für Heimlichkeitsanschlußzugriffe auf gültige Schreibadressen wird die Wärterschaltung 120 das /CE-Signal aktivieren. Zusätzlich sollte das SR/W-Signal von der externen Einheit aktiv werden, wenn das Busgewährungssignal /BG auf niedrigem Pegel ist. Der PAL U16 wird auch bewirken, daß das Schreibfreigabesignal /WE für die RAM-Chips U11-U14 des Dual-Port-Datenspeichers 22 aktiv wird, und die ansteigende Flanke des /WE-Signals wird verwendet, um Daten in diese RAM-Chips zu schreiben.
  • Die Steuerschaltung 116 enthält auch eine Zeitgeberschaltung U10, die näherungsweise 150 ns danach, daß eines der Busgewährungssignale /BG aktiv wird, ein CLEAR- (FREI)-Signal erzeugen wird. Das CLEAR (FREI)-Signal wird verwendet, um zu bewirken, daß die Tri-State-Puffer im Pufferchip U8 individuelle Busgewährungsfreisignale "BG1_CLR..BG4_CLR" für jeden externen Benutzer erzeugen. Das FREI-Signal wird auch verwendet, um den Heimlichkeitsanschlußspeicherzyklus zu annullieren, indem das Heimlichkeitsanschlußfreigabesignal /SP_EN deaktiviert wird.
  • Es wird nun auf die Fig. 6A-6E Bezug genommen, die einen Satz von Flußdiagrammen zeigen, um verschiedene Aspekte der oben diskutierten Sicherheits- und Validierungsverfahren weiter zu veranschaulichen. Diesbezüglich zeigt Fig. 6A den Teil der Hochfahrprozedur des Vorfeldcomputers 18, die darauf gerichtet ist, nach dem Sicherheitsserver 68 zu suchen. Fig. 6B zeigt dann die Prozedur zum Übertragen der Sicherheitstabelle (z. B. die Sicherheitstabelle S1), nachdem der Sicherheitsserver sich gegenüber dem Vorfeldcomputer 18 richtig identifiziert hat. Fig. 6C zeigt danach die Prozedur zum Etablieren eines zeitbeschränkten Kommunikationskontrakts mit jeder der in der Sicherheitstabelle dahingehend identifizierten Operatorstationen, daß sie eine Schreibkommandofähigkeit haben. Die Fig. 6D-6E schließlich veranschaulichen gemeinsam die Prozedur zum Validieren einer von einer Operatorstation (z. B. die Operatorstation 72) gesendeten Schreibkommandomitteilung.
  • Wenden wir uns zuerst Fig. 6A zu. Der Block 200 gibt an, daß der Vorfeldcomputer "FEC" eine Sendemitteilung über das Computernetz 20 sendet, um zu fordern, daß der Sicherheitsserver 68 sich selbst gegenüber diesem Vorfeldcomputer identifiziert. Diese Mitteilung verwendet bevorzugt das Ethernetprotokoll für Sicherheitsmitteilungen. Der Inhalt dieser Sendenetzmitteilung ist allgemein im Block 202 gezeigt. Diesbezüglich enthält die Netzmitteilung eine Zieladresse "FF-FF-FF-FF-FF-FF", die bewirken wird, daß die Mitteilung zu jeder Einheit gesendet wird, die betriebsmäßig mit den Segmenten PAN-1 und PAN-2 des Computernetzes 20 gekoppelt ist. Diese Netzmitteilung enthält ferner auch die Quellenadresse des Vorfeldcomputers. Die Netzmitteilung enthält ferner eine Typangabe, nämlich "RE- QUEST_SECURITY_SERVER_(FORDERE-AN_SICHERHEITS_SERVER)". In diesem Datenabschnitt der Netzmitteilung ist die CPU-Identifikation für den Prozeßsteuercomputer 12 gegeben, mit dem der Vorfeldcomputer 18 verbunden ist. Zusätzlich - dies ist von Wichtigkeit - enthält der Datenabschnitt der Netzmitteilung auch einen unvorhersagbaren Schlüssel, wie etwa eine 32 Bit-Zufallszahl. Wie oben diskutiert, wird dieser zufällige Schlüssel verwendet, um die Identität des Sicherheitsservers 68 zu verifizieren.
  • Block 204 zeigt, daß der Sicherheitsserver 68 alle Informationen in der gesendeten Netzmitteilung überprüfen wird, wie etwa die physikalische Ethernetadresse des Vorfeldcomputers und die CPU ID seines Prozeßsteuercomputers 12. Unter der Annahme, daß diese Information der im Sicherheitsserver für diesen Vorfeldcomputer gespeicherten Information entspricht, wird eine Bestätigungsmitteilung 206 zu der physikalischen Ethernetadresse des Vorfeldcomputers zurückgesendet. Um zu ermöglichen, daß der Vorfeldcomputer die Identität des Sicherheitsservers 68 verifiziert, enthält die Bestätigungsmitteilung 206 den vom Vorfeldcomputer 18 gesendeten Zufallsschlüssel in umgewandelter Form. Wie oben angegeben, wird die Umwandlung mit einem Verschlüsselungsalgorithmus durchgeführt, der ausschließlich für Mitteilungen vom Sicherheitsserver 68 dient.
  • Die Raute 208, zeigt, daß der Vorfeldcomputer 18 eine vorbestimmte Zeitdauer warten wird, um die Bestätigungsmitteilung zu empfangen. Falls die Bestätigungsmitteilung nicht innerhalb dieser Zeitausperiode empfangen wird, wird der Vorfeldcomputer dann die letzte in seinem Speicher gespeicherte Sicherheitstabelle verwenden, oder - falls dies das erste Mal ist, daß der Vorfeldcomputer 18 in Funktion gesetzt wurde (Block 210) - die Vorgabesicherheitstabelle verwenden. Wenn allerdings die Bestätigungsmitteilung 206 rechtzeitig empfangen wird, wird der Vorfeldcomputer 18 dann seinen Zufallsschlüssel gegen die umgewandelte Version des Schlüssels, die in der Bestätigungsmitteilung enthalten war, überprüfen (Block 212). Wie oben angegeben, kann dieser Vergleich durchgeführt werden entweder durch Durchführen einer Umwandlung des Zufallschlüssels unter Verwendung des Verschlüsselungsalgorithmus für Sicherheitsmitteilungen oder durch Verwendung eines entsprechenden Entschlüsselungsalgorithmus. Falls der umgewandelte Schlüssel mit der erwarteten Schlüsselnummer übereinstimmt (Raute 214), wird der Vorfeldcomputer 18 dann zu der in Fig. 6B gezeigten Prozedur fortschreiten, um eine Kopie der momentanen Sicherheitstabelle vom Sicherheitsserver 68 zu übertragen (Block 216). Andernfalls wird der Vorfeldcomputer diesen Abschnitt der Hochfahrprozedur verlassen und aufhören, weitere Netzkommunikationsfähigkeit anzusammeln (Block 218). Bei einer Form der vorliegenden Erfindung kann dem Vorfeldcomputer 18 erlaubt sein, an diesem Punkt Netzkommunikation durchzuführen, nicht aber - bis zum Zeitpunkt, daß eine Sicherheitstabelle erfolgreich zum Vorfeldcomputer übertragen wurde - von einer Einheit am Computernetz 20 empfangene Schreibkommandomitteilungen zu verarbeiten.
  • Wenden wir uns nun Fig. 6B zu. Block 220 zeigt, daß der Vorfeldcomputer 18 die Prozedur zum Übertragen einer Kopie der Sicherheitstabelle startet, indem er eine Anforderungsmitteilung zur spezifischen (logischen oder physikalischen) Ethernetadresse des Sicherheitsservers 68 sendet. Diese physikalische Ethernetadresse ist die Adresse, die während der oben in Verbindung mit Fig. 6A diskutierten Hochfahrprozedur gelernt und gespeichert wurde. Block 222 gibt an, daß diese Anforderungsmitteilung eine Identifikation der CPU ID für den Prozeßsteuerungscomputer enthält, der durch den Vorfeldcomputer 18 bedient wird. Zusätzlich wird der Vorfeldcomputer 18 auch den Sicherheitsserver 68 durch Modusdaten (z. B. ML für den linken Prozeßsteuerungscomputer) dahingehend informieren, ob diese CPU ID für den linken Prozeßsteuerungscomputer 12a oder den rechten Prozeßsteuerungscomputer 12b ist.
  • Sobald der Sicherheitsserver diese Anforderungsmitteilung empfängt, wird er die in der Mitteilung enthaltenden Daten überprüfen und eine Kontrollmitteilung für den Vorfeldcomputer 18 (Block 224) bilden. Wie in Block 226 gezeigt ist, wird diese Kontrollmitteilung den Vorfeldcomputer 18 darüber informieren, wie viele Bytes in der Sicherheitstabelle für den durch die Anforderungsmitteilung identifizierten Prozeßsteuerungscomputer enthalten sind. Der Vorfeldcomputer 18 wird mit einer Bestätigungsmitteilung antworten, die einen neuen Zufallsschlüssel enthalten wird (Blöcke 228-230). Der Sicherheitsserver wird dann die Sicherheitstabelle (z. B. die Sicherheitstabelle 51 für den linken Prozeßsteuerungscomputer 12a) mit dem umgewandelten Zufallsschlüssel übertragen (Blöcke 232-234). Der Vorfeldcomputer 18 wird dann bestimmen, ob der umgewandelte Schlüssel dem erwarteten Schlüssel entspricht (Raute 236). Falls die Schlüssel nicht übereinstimmen, wird der Vorfeldcomputer 18 die in seinem Speicher gespeicherte alte oder existierende Sicherheitstabelle verwenden (Block 238). Andernfalls wird der Vorfeldcomputer 18 die neue Sicherheitstabelle zur Verwendung speichern und eine Bestätigungsmitteilung zurück zum Sicherheitsserver senden (Blöcke 240-244). Wenn der Vorfeldcomputer 18 auch mit Editierfähigkeit ausgestattet sein könnte zum Erzeugen seiner eigenen Sicherheitstabelle, ist es bevorzugt, daß ein gesonderter Netzsicherheitsserver verwendet wird, damit der Vorfeldcomputer den oben identifizierten Funktionen gewidmet ist.
  • Es wird Bezug genommen auf Fig. 6C, die die Prozedur zum Etablieren eines zeitbeschränkten Kommunikationskontrakts zeigt. Der Vorfeldcomputer 18 startet, indem er einen neuen Zeitüberwachungsschlüssel erzeugt, der durch eine 32 Bit Zufallszahl repräsentiert ist (Block 246). Der Vorfeldcomputer 18 wird dann an physikalischen Ethernetadressen jeder der Operatorstationen (die in der Sicherheitstabelle dahingehend identifiziert sind, daß sie eine Kommandomitteilungsfähigkeit aufweisen) nacheinander eine Zeitüberwachungsmitteilung senden. Diesbezüglich sollte gewürdigt werden, daß diese Zeitüberwachungsmitteilungen individuelle Zeitüberwachungsmitteilungen sind, die einen neuen Zeitüberwachungsschlüssel für jede Mitteilung enthalten (Block 248). Jede Operatorstation, die eine derartige Zeitüberwachungsmitteilung empfängt, wird mit einer Zeitüberwachungsantwortmitteilung antworten, die den Zeitüberwachungsschlüssel in umgewandelter Form enthält (Blöcke 250-252).
  • Da es möglich ist, daß eine Operatorstation momentan nicht mit dem Computernetz 20 in Verbindung steht, wird der Vorfeldcomputer 18 bevorzugt eine geeignete Auszeitperiode, wie etwa 10 Sekunden auf eine Antwort warten (Raute 254). Falls die Operatorstation nicht innerhalb dieser Auszeitperiode auf die Zeitüberwachtungsanforderungsmitteilung 248 antwortet, wird der Vorfeldcomputer 18 zusätzliche Versuche machen, um den Kontakt herzustellen (Raute 256 und Block 258). Falls nach all diesen Versuchen keine Antwort von dieser Operatorstation empfangen wird, wird der Vorfeldcomputer 18 die Schreibkommandofähigkeit dieser bestimmten Operatorstation sperren (Block 260). Es sollte allerdings gewürdigt werden, daß diese Schreibkommandofähigkeit nachfolgend wieder etabliert werden kann, z. B. wenn eine aktualisierte Sicherheitstabelle zum Vorfeldcomputer 18 übertragen wird. Diesbezüglich sollte vermerkt werden, daß der Sicherheitsserver 68 die oben diskutierte Sicherheitstabellenübertragungsprozedur durch eine geeignete Netzmitteilung an den Vorfeldcomputer 18 initiieren kann.
  • In dem Fall, daß die Operatorstation auf die Zeitüberwachungsanforderungsmitteilung antwortet, wird der Vorfeldcomputer 18 dann bestimmen, ob der in der Antwortmitteilung enthaltene umgewandelte Zeitüberwachungsschlüssel der erwarteten Schlüsselzahl entspricht (Raute 262). Falls durch diesen Vergleich (wie oben diskutiert) keine Übereinstimmung festgestellt wird, wird der Vorfeldcomputer 18 die Antwortmitteilung ignorieren (264). An diesem Punkt könnte der Vorfeldcomputer 18 wieder versuchen, einen zeitbeschränkten Kommunikationskontrakt mit dieser Operatorstation zu etablieren, oder deren Schreibkommandofähigkeiten zu sperren. In dem Fall, daß eine Übereinstimmung gefunden wurde, wird der Vorfeldcomputer 18 dann den vorangehenden, gültigen Zeitüberwachungsschlüssel dieser Operatorstation von der momentanen Schlüsselposition zu der alten Schlüsselposition kopieren (Block 266). Der Vorfeldcomputer 18 wird dann den in der Antwortmitteilung empfangenen umgewandelten Zeitüberwachungsschlüssel an der momentanen Schlüsselposition speichern. Wie unten diskutiert, werden der momentane und der alte Schlüssel dazu verwendet, die Gültigkeit von Schreibkommandomitteilungen von der Operatorstation während der Periode, in der ein zeitbeschränkter Kommunikationskontrakt in Kraft ist, zu evaluieren. Diesbezüglich sollte verstanden werden, daß die in Fig. 6C gezeigte Prozedur für jede der Operatorstationen mit Schreibkommandoprivilegien wiederholt wird, bevor der zeitbeschränkte Kommunikationskontrakt ausläuft, um eine ununterbrochene Fähigkeit der Operatorstationen aufrechtzuerhalten, ihre Schreibkommandomitteilungen durch den Vorfeldcomputer 18 bearbeitet zu bekommen.
  • Es wird auf die Fig. 6D-6E Bezug genommen. Diese Figuren veranschaulichen gemeinsam die Prozedur zum Validieren einer von einer Operatorstation (z. B. Operatorstation 72) zum Vorfeldcomputer 18 gesendeten Schreibkommandomitteilung. Die Prozedur beginnt damit, daß eine Operatorstation eine Schreibkommandomitteilung zum Vorfeldcomputer 18 sendet (Block 268). Diese Mitteilung verwendet bevorzugt das Standard-Ethernetprotokoll für die Kommunikation zwischen dem Vorfeldcomputer 18 und anderen Einheiten am Computernetz 20. Diesbezüglich wird die Schreibkommandomitteilung nicht nur die Variable(n) enthalten, die geändert werden soll(en), sondern auch den Zeitüberwachungsschlüssel vom zeitbeschränkten Kommunikationskontrakt, die CPU-Identifikation des Empfänger-Prozeßsteuercomputers und die Programmversionsidentifikation dieses Prozeßsteuerungscomputers 12. Der Vorfeldcomputer 18 wird dann mehrere Überprüfungen an dieser Schreibkommandomitteifung durchführen. Zum Beispiel wird der Vorfeldcomputer 18 die Sicherheitstabelle untersuchen, um zu bestimmen, ob diese einen Eintrag für diese bestimmte Operatorstation aufweist (Raute 270). Falls diese Operatorstation in der Sicherheitstabelle nicht gefunden wurde, wird der Vorfeldcomputer die Schreibkommandomitteilung zur Operatorstation zurückschicken und diesen Fehler in einem Protokoll speichern (Block 272).
  • Unter der Annahme, daß die Operatorstation in der Sicherheitstabelle identifiziert war, wird der Vorfeldcomputer dann die Sicherheitstabelle überprüfen, um zu bestimmen, ob das Schreibkommandobit für diese Operatorstation gesetzt wurde (Raute 274). An diesem Punkt sollte verstanden werden, daß die Sicherheitstabelle nicht nur die Ethernetadresse jeder gültigen Einheit am Computernetz 20 enthält, die mit dem Vorfeldcomputer kommunizieren kann, sondern auch eine Angabe, ob diese Einheiten Schreibkommandoprivilegien haben. Die Sicherheitstabelle kann zusätzliche, sich auf diese Einheiten beziehende Information enthalten, wie etwa eine CPU-Identifikation und Angaben dazu, ob diese Einheiten spezifische Arten von Information vom Prozeßsteuerungscomputer, wie etwa Alarmmitteilungen, anfordern dürfen oder nicht. Falls die Sicherheitstabelle das Bit zur Angabe von Schreibkommandoprivilegien nicht gesetzt hat, wird der Vorfeldcomputer dann die Schreibkommandomitteilung zur Operatorstation (oder einer anderen Quelleneinheit) zurückschicken und diesen Fehler protokollieren (Block 276).
  • Im Fall, daß die Operatorstation Schreibkommandoprivilegien hat, wird der Vorfeldcomputer dann bestimmen, ob der Zeitüberwachungsschiüssel (in der Schreibkommandomitteilung enthalten) mit entweder dem momentanen oder dem alten Zeitüberwachungsschlüssel übereinstimmt (Raute 278). Falls keine Übereinstimmung festgestellt wird, wird der Vorfeldcomputer eine ungültige- Zeitüberwachung-Mitteilung zur Operatorstation zurückschicken (Block 280). Falls eine Übereinstimmung gefunden wurde, wird der Vorfeldcomputer dann bevorzugt eine Überprüfung durchführen, um zu sehen, ob die in der Schreibkommandomitteilung enthaltene Programmversionsidentifikation mit der im Vorfeldcomputer für den Empfänger-Prozeßsteuerungscomputer 12 gespeicherten Programmversionsidentifikation übereinstimmt (Raute 282). Falls diese Programmversionsidentifikationen nicht übereinstimmen, wird der Vorfeldcomputer dann eine ungültige-Programmversion-Mitteilung zur Operatorstation zurückschicken (Block 284).
  • Der Vorfeldcomputer 18 wird auch eine Überprüfung durchführen, um zu sehen, ob die Schreibkommandomitteilung eine Angabe enthält, daß die Zulässigkeitstabelle für den Empfänger-Prozeßsteuerungscomputer umgangen werden soll (Raute 286). Die Fähigkeit, die Zulässigkeitstabelle zu umgehen, kann als besonderes Privileg betrachtet werden, das die Benutzung eines Passworts oder eines physikalischen Schlüssels erfordern sollte, daß/der dem Operator mit diesem Privileg zugeordnet ist. Falls das Umgehungsbit in der Schreibkommandomitteilung gesetzt war, wird der Vorfeldcomputer dann bevorzugt noch die Zulässigkeitstabelle (z. B. die Zulässigkeitstabelle 80a) überprüfen, um festzustellen, ob eine Umgehung für diese spezielle Zulässigkeitstabelle oder diesen speziellen Tabellenabschnitt, der andernfalls adressiert werden würde, erlaubt ist (Raute 288). Falls eine Umgehung für diese Zulässigkeitstabelle nicht erlaubt ist, wird der Vorfeldcomputer dann eine Mitteilung zur Operatorstation zurückgeben, um anzugeben, daß auf diesen Weg kein Schreibzugang zur Verfügung steht (Block 290). Falls eine Umgehung der Zulässigkeitstabelle erlaubt ist, wird der Vorfeldcomputer dann die Schreibkommandomitteilung mit einer umgewandelten Version der in der Zulässigkeitstabelle des Vorfeldcomputers gespeicherten Programmversionsidentifikation an den Empfänger-Prozeßsteuerungscomputer übertragen (Block 292). Der Empfänger-Prozeßsteuerungscomputer 12 kann dann bestimmen, ob diese umgewandelte Programmversionsidentifikation der Progammversionsidentifikation seines Betriebsprogramms entspricht, bevor er entscheidet, die in der Schreibkommandomitteilung aufgelistete(n) Variable(n) zu ändern.
  • Im Falle, daß die Schreibkommandomitteilung nicht das Umgehungsbit gesetzt hat, wird der Vorfeldcomputer 18 dann die Zulässigkeitstabelle untersuchen, um zu bestimmen, ob die zu ändernde(n) Variable(n) ihr Schreibkommandobit gesetzt haben (Raute 294). Falls das Schreibkommandobit nicht für eine dieser Variablen gesetzt ist, wird der Vorfeldcomputer dann eine kein-Schreibzugang- Mitteilung an die Operatorstation zurückgeben (Block 296). Andernfalls, falls der Vorfeldcomputer bestimmt, daß die Schreibkommandomitteilung akzeptabel ist, wird er dann die Mitteilung zum Empfänger-Prozeßsteuerungscomputer übertragen, wie oben diskutiert (Block 292).
  • Es wird auf Fig. 7 Bezug genommen, die ein Blockdiagramm der Anwendungssoftware 300 für den Vorfeldcomputer 18 zeigt. Diesbezüglich zeigt Fig. 7 die Wechselwirkung der Anwendungssoftware mit dem Q-Bus 302 des Vorfeldcomputers 18 und mit den Ethernetdiensten 304 für das Computernetz 20. So ist beispielsweise eine bidirektionale Leitung zwischen dem Q-Bus 302 und dem IFQ-Treiber 308 vorgesehen. Der IFQ-Treiber 308 repräsentiert die Gerättreibersoftware zum Steuern der Kommunikation mit der CPU des Vorfeldcomputers 18. Der IFQ-Treiber 308 ist mit dem "MI Sync"-Untersystem 310 durch ein Datenspeicherereignis 312 gekoppelt. Diesbezüglich empfängt das MI Sync Untersystem Anzeigen von DMA-Beendigungen vom IFQ-Treiber 308, etwa wenn die SDSS-Daten von einem der Prozeßsteuerungscomputer 12a-12b vollständig im angemessenen Zwischenpuffer (z. B. Zwischenpuffer 46a oder 48b) empfangen wurden. Die Spiegelspeicher 46a-56a aus Fig. 1 sind in Fig. 7 als Spiegelspeicher 314 gezeigt. Fig. 7 veranschaulicht auch, daß die Spiegelspeicher 314 mit dem Q-Bus 302 des Vorfeldcomputers 18 betriebsmäßig gekoppelt sind.
  • Das MI Sync-Untersystem 310 repräsentiert den Abschnitt der Anwendungssoftware 300, der für die Synchronisierung der ankommenden SDSS- und DSS- Datenblöcke von jedem der Prozeßsteuerungscomputer 12a-12b durch die Wirkung der Spiegelspeicher 314, wie oben diskutiert, verantwortlich ist. Das MI Sync Untersystem notifiziert auch das "MI MOD Gesundheit" Modul 316 und "Systemmitteilungen" Modul 318, wenn ein Datenblock für die Verarbeitung erhältlich ist. Zusätzlich wird das MI Sync Untersystem 310 auch dazu verwendet, zu erfassen, ob Spiegelspeicheraktualisierungen auftreten oder nicht, wie etwa, wenn einer der Prozeßsteuerungscomputer aufgehört hat, Daten zum Vorfeldcomputer 18 zu senden. Diese Prozedur ist durch das "MOD Status" Modul 320 und das "MI Zeitüberwachung" Modul 322 implementiert. Das MI Zeitüberwachung-Modul 322 verwendet einen zwei- Sekunden-Zeitgeber, um zu erfassen, ob der Vorfeldcomputer 18 aufgehört hat, Daten von einem der Prozeßsteuerungscomputer 12a-12b zu empfangen.
  • Das MI MOD-Gesundheitsmodul 316 verarbeitet Gesundheitsbitänderungen in den durch den Vorfeldcomputer 18 von den Prozeßsteuerungscomputern 12a-12b empfangenen Daten. Diesbezüglich sendet das MI MOD Gesundheitsmodul 316 diese Änderungen zum "EVT Ereignisabwickler" Modul 324. Ähnlich verarbeitet das MI Systemmitteilungen-Modul 318 ankommende Systemmitteilungen von den Prozeßsteuerungscomputern und reiht etwaige Anforderungen in eine Schlange für das EVT Ereignisabwickler-Modul 324 ein. Das EVT Ereignisabwickler-Modul 324 verarbeitet Ereignispuffer, formatiert Text zur Ausgabe zum Druckdienstmodul 326 und zeichnet Fehler und andere Ereignisse in einem Ereignisprotokoll auf.
  • Die Spiegelspeicher 314 sind mit dem "MI CISS Speicherlesen" Modul 328 gekoppelt, das Leseoperationen auf den Spiegelspeichern durchführt. Hierzu formatiert das MI CISS Speicherlesemodul 328 Anfrageantworten im Standardethernetprotokoll zum Übertragen von Daten/Mitteilungen und richtet die Antwort über den Anschluß 330 an die anfordernde Netzeinheit. Das "NI CISS" Modul 332 empfängt ankommende Abfrageanforderungen von einer das Standardprotokoll zum Übertragen von Daten/Mitteilungen verwendenden Netzeinheit. Das NI CISS Modul 332 führt eine anfängliche Sicherheitsüberprüfung an der Mitteilung durch und richtet die Anforderung zum angemessenen Prozeß, wie durch den Mitteilungstyp bestimmt ist. Zum Beispiel wird das NI CISS Modul 332 eine Datenlesemitteilung zum MI CISS Speicherlesemodul 328 leiten. Zusätzlich wird das NI CISS Modul 332 Programmherabladeanforderungen zum "MI Herablade-Abwickler"-Modul 334 leiten. Andere Anforderungsmitteilungen werden zum "MI Mitteilungsdienste"-Modul 334 geleitet werden.
  • Die Anwendungssoftware 300 enthält auch Module, die die Kommunikation mit einer Benutzerschnittsteüe vereinfachen. Diesbezüglich wird die Benutzerschnittstelle verwendet, um ein Fenster zum Betrieb des Vorfeldcomputers 18 vorzusehen, im Gegensatz zu einer Schnittstelle zu einem der Prozeßsteuerungscomputer 12a-12b. Die Benutzerschnittstellensoftware kann "lokal" durch ein direkt mit dem Vorfeldcomputer 18 verbundenes Terminal zugänglich sein. Auf die Benutzerschnittstellensoftware kann auch "aus der Ferne" durch eine Anwendung, die vom Sicherheitsserver 68 laufengelassen wird, zugegriffen werden. Die Benutzerschnittstelle wird verwendet, um Netzverbindungen für ein spezifisches Protokoll zu sperren oder wieder freizugeben, Diagnosefunktionen durchzuführen, den Vorfeldcomputer 18 wieder neu hochfahren zu lassen, Spiegelspeicher-Aktualisierungen zu überwachen, Netzaktivitäten zu über wachen und auf andere Weise den Zugang zu privilegierten Vorfeldcomputerfunktionen zu verwalten.
  • Die Anwendungssoftwaremodule, die Benutzerschnittstellenanforderungen abwickeln, sind das "NI Fernbenutzer"-Modul 338, das "UI Lokal"-Modul 340 und das "UI Dienste"-Modul 342. Das NI Fernbenutzermodul 338 empfängt alle Mitteilungen mit dem Protokoll für Benutzerschnittstellenkommunikationen, und gibt gültige Anforderungen zum UI Dienstemodul 342 weiter. Das UI Dienstemodul 342 stellt einen Datenserver sowohl für Lokalbenutzeranforderungen als auch für Fernbenutzeranforderungen bereit. Das UI Lokalmodul 340 handhabt die Lokalbenutzerschnittstellen-Anzeigebildschirme, um Antworten auf den lokalen Terminal anzuzeigen.
  • Die Anwendungssoftware 300 enthält auch ein "NI Übertragung-Fertig" Modul 344, das Anzeigen der Beendigung von Ethernet-Schreiboperationen empfängt und eine freie Schlange von Netzinterfaceübertragungsmitteilungspuffern hält. Zusätzlich wird ein "EVT-Datei-Erhaltung"-Modul 346 verwendet, um ältere Ereignisprotokolldateien zu löschen. Ferner sind ein "NI Zeitüberwachungs"- Modul 348 und ein "NI SCSP"-Modul 350 vorgesehen, um den oben diskutierten Zeitüberwachungssicherheitsprozeß zu implementieren. Hierzu sendet das NI-Zeitüberwachungsmodul 348 Zeitüberwachungsanforderungsmitteilungen an die Operatorstationen und das NI SCSP Modul 350 verarbeitet die Antwortmitteilungen (wie auch alle anderen das Sicherheitsprotokoll verwendenden Netzmitteilungen). Das NI Zeitüberwachungsmodul 348 führt auch Überprüfungen durch, um zu sehen, ob Antwortmitteilungen auf jede der Zeitüberwachungsanforderungsmitteilungen empfangen wurden.
  • Abgesehen von Zeitüberwachungsantwortmitteilungen reicht das NI SCSP- Modul 350 alle anderen Sicherheitsprotokollmitteilungen zum "CFG Konfigurationsverwalter"-Modul 352 weiter. Das CFG Konfigurationsverwaltermodul 352 verarbeitet die Sicherheitsanforderungen und führt das anfängliche Laden der Zulässigkeitstabellen 80a-82a durch. Das CFG Konfigurationsverwaltermodul 352 führt auch das unten in Verbindung mit Fig. 8 zu diskutierende Laden eines Speicherabbilds durch. Die Anwendungssoftware 300 enthält auch ein "MIF-Masterprozeß"-Modul 354, das die grundlegenden Initialisierungsroutinen zum Erzeugen aller anderen Vorfeldcomputerprozesse durchführt. Das MIF-Masterprozeßmodul 354 wird auch verwendet, um eine unerwartete Beendigung eines dieser Prozesse zu erfassen.
  • Es wird auf Fig. 8 Bezug genommen, die eine schematische Veranschaulichung der Konfiguration des Vorfeldcomputers 18a zeigt. Genauer: Fig. 8 veranschaulicht, daß das CFG Konfigurationsverwaltermodul 352 mit dem Sicherheitsserver 68 und dem Herabladeassistenten 78 zusammenwirkt, um die zur Konfiguration des Vorfeldcomputers 18a beim Hochfahren nötige Information zu erhalten. Diesbezüglich spricht das CFG Konfigurationsverwaltermodul 352 auf Anforderungen vom MIF Masterprozeßmodul 354 an, um diese Konfigurationsaktivitäten durchzuführen. Mit anderen Worten wird das CFG Konfigurationsverwaltermodul 352 den Sicherheitsserver 68 durch die Sendenetzmitteilung (wie oben beschrieben) lokalisieren und die Sicherheitstabelle 51 laden, die schließlich vom Sicherheitsserver empfangen wird. Zusätzlich wird das CFG Konfigurationsverwaltermodul 352 auch beide Zulässigkeitstabellen 80a, 82a vom Herabladeassistenten 78 empfangen. Das CFG Konfigurationsverwaltermodul 352 empfängt auch ein Speicherabbild für jeden der Prozeßsteuerungscomputer 12a-12b, wie etwa das in Fig. 8 gezeigte Speicherabbild 356. Die Speicherabbilder werden verwendet, um dem Vorfeldcomputer 18a zu ermöglichen, die Übertragungstabellen (z. B. die Übertragungstabelle 37) aufzubauen und die in jedem Spiegelspeicherpuffer 314 empfangenen Daten zu interpretieren. Mit anderen Worten, identifiziert jedes der Speicherabbilder die in jeder adressierbaren Stelle des Dual-Port-Datenspeichers 22 für jeden der Prozeßsteuerungscomputer 12a-12b gespeicherten Daten. Als Teil dieses Prozesses teilt das Speicherabbild den Dual-Port-Datenspeicher 22 des Prozeßsteuerungscomputers 12 in logische Segmente. Der erste Satz von Segmenten wird für SDSS-Datenwerte verwendet, während die DSS-Datenwerte die SDSS-Speichersegmente, wie auch zusätzliche Segmente, enthalten.
  • Wie oben diskutiert, ist das MI Sync-Untersystem 310 verantwortlich, die DMA-Beendigungsereignisse bezüglich der Übertragung von SDSS- und DSS- Daten für beide Prozeßsteuerungscomputer 12a-12b in ein zusammenhängendes Paar von Datentabellen zu gruppieren, die Daten für einen gegebenen Prozeßsteuerungszyklus-Schnappschuß repräsentieren. Für den Zweck dieser Diskussion wird auf diese DMA-Beendigungsereignisse Bezug genommen als der linke SDSS-Puffer, der rechte SDSS-Puffer, der linke DSS-Puffer und der rechte DSS-Puffer. Die exakte Reihenfolge, mit der diese Datenpuffer empfangen werden, kann variieren; die SDSS-Puffer werden aber den DSS-Puffern vorangehen.
  • Das MI Sync Subsystem 310 spricht auf die oben identifizierten DMA-Ereignisse an. Diesbezüglich wird das MI Sync Subsystem 310 auf die Beendigung des DMA-Ereignisses warten und dann den Status überprüfen um den Typ des empfangenen Puffers zu bestimmen. Falls der empfangene Puffer ein SDSS-Puffer ist und der Vorfeldcomputer 18 schon einen entsprechenden DSS- Puffer erhalten hat, wird dann die abschließende Beendigungsverarbeitung durchgeführt. In gleicher Weise wird die abschließende Beendigungsverarbeitung durchgeführt, falls der Puffer für diesen Typ schon empfangen wurde. Falls der empfangene Puffer nicht der erste Puffer ist, wird das MI Sync Subsystem 310 dann den Zeitunterschied zwischen der momentanen Zeit und der Zeit, zu der der erste Puffer empfangen wurde, überprüfen. Falls dieser Unterschied eine vorbestimmte Toleranz überschreitet, wie etwa 0,7 Sekunden, werden die Schritte für die abschließende Beendigungsverarbeitung durchgeführt. Falls dies der erste Puffer ist (z. B. der linke SDSS-Puffer) wird die Zeit, zu der dieser Puffer empfangen wurde, aufgezeichnet. Falls dieser Puffer zu diesem Punkt nicht erwartet wurde, wird dessen Status auf erwartet geändert. Ferner wird der Zeiger zu diesem Puffer aufgezeichnet, und der Puffer wird als empfangen markiert.
  • Das MI Sync Subsystem 310 wird auch Überprüfungen durchführen, um zu sehen, ob alle erwarteten Puffer empfangen wurden (z. B. die linken/rechten SDSS und linken/rechten DSS-Puffer). Falls alle erwarteten Puffer empfangen wurden, wird dann die abschließende Beendigungsverarbeitung durchgeführt. Während der abschließenden Beendigungsverarbeitung werden die Pufferzeiger für die empfangenen Puffer zu einer Systemdatenstruktur kopiert, die es anderen Anwendungen ermöglicht, auf diese Daten zuzugreifen. Diese Prozedur wird durch eine gegenseitige Ausschlußsemaphore geschützt, auf die als die "mutex" Bezug genommen wird. Ferner werden die Fehlerzähler für alle empfangenen Puffer auf Null gesetzt. Falls keine erwarteten Puffer empfangen wurden, werden die zugeordneten Fehlerzähler erhöht. Falls die Fehlerzähler den erlaubten Schwellenwert überschreiten, werden die betroffenen Puffer dann als nicht erwartet markiert. Dann werden alle Puffer als nicht empfangen markiert, um die Verarbeitung für den nächsten Satz von Puffern aufzusetzen. Anwendungen, die auf die empfangenen Speicherpuffer zugreifen, können dann die Pufferzeiger aus der gemeinsamen Systemdatenstruktur kopieren, um diese zu verwenden.
  • Um die Funktion des MI Sync-Untersystem 310 vollständiger zu illustrieren, wird unten eine Modulübersicht und der Pseudocode für diese Software präsentiert. Zusätzlich werden auch die Datenstrukturen für die Spiegelspeicherpuffer 314 aufgeführt, um bei der Interpretation des Pseudocodes zu helfen. Diese Datenstrukturen sind in den Tabellen 1 bis 3 enthalten, die Modulübersicht ist in Tabelle 4 enthalten, und der Pseudocode folgt sofort hiernach. TABELLE 1: Spiegelspeicherdatenstrukturen TABELLE 2: Spiegelspeicherdatenstrukturen TABELLE 3: Spiegelspeicherdatenstrukturen TABELLE 4: Spiegelspeicherdatenstrukturen
  • Es wird auf Fig. 9 Bezug genommen, die eine schematische Veranschaulichung des Zusammenhangs zwischen den Spiegelspeicherpuffern 314 im Vorfeldcomputer 18a, dem Übertragungsfeld 37 in der IFS-Schaltung 28 und dem Dual-Port-Datenspeicher 22 in den Prozeßsteuerungscomputern 12a-12b zeigt. Zum Zwecke der Veranschaulichung ist der Datenspeicher 22 nur mit zwei Segmenten gezeigt. Das Transferfeld 37 gibt an, daß die Datenspeicheradressen 2000 bis 2002 (hex) im ersten Segment und die Datenspeicheradressen 4100 bis 4105 (hex) im zweiten Segment zum Spiegelspeicherpuffer 46a zu übertragen sind. Genauer: Es sollte bemerkt werden, daß das Übertragungsfeld 37 einen Block von angrenzenden Datenelementen aus Speicherstellen im Datenspeicher 22 erzeugt, die nicht notwendigerweise aneinander angrenzen.
  • Es wird auf Fig. 10 Bezug genommen, in der ein Blockdiagramm der IFS-Schaltung 28 gezeigt ist. In diesem Blockdiagramm sind die einzelnen Sender und Empfänger (z. B. Sender 38a und Empfänger 40a) in einem einzigen Block 400 gezeigt, der auch die Lichtwandler der AT&T ODL200 Reihe enthält. Die IFS-Schaltung 28 enthält ferner Steuerbläcke 402-404, die die Übertragung von Daten/Adreßsignalen zu und vom Sender/Empfängerblock 400 steuern. Hierzu enthält die IFS-Schaltung 28 sowohl einen Adreßpuffer 406 als auch einen Datenpuffer 408, um diese Signalübertragungen zu vereinfachen. Es ist auch ein Adressenlatch 410 vorgesehen, um eine Datenspeicheradresse zum Heimlichkeitsanschluß zu senden. In gleicher Weise ist ein Sender 412 vorgesehen, um die lFS-Schaltung 28 zu befähigen, Dateninformation über den Datenbus der Heimlichkeitsinterfaceschaltung 16 zu senden oder zu empfangen.
  • Die IFS-Schaltung 28 enthält ferner eine Heimlichkeitstiming- und Steuerschaltung 414. Die Heimlichkeitstiming- und Steuerschaltung 414 enthält einen oder mehrere programmierbare Feldlogikschaltungen zum Implementieren einer Zustandsmaschine zur Verarbeitung spezieller Signale zu oder von der Heimlichkeitsinterfaceschaltung 16. Wenn das SDSS-Signal empfangen wird, liefert es z. B. eine Angabe an die IFS- Schaltung 28, daß ein gültiges Fenster zum Lesen vom Datenspeicher 22 existiert. Unter der Annahme, daß die Schlichtungsschaltung an der Heimlichkeitsinterfaceschaltung 16 auch Zugang zum Datenspeicher 22 gewährt, wird die Heimlichkeitstiming- und Steuerschaltung 414 das Steuerstatusregister 416 dann angemessen setzen. Die Datenheraus-Steuerschaltung 404 wird reagieren, indem eine DMA-Zählerschaltung 418 veranlaßt wird, mit dem Herabzählen von einem vorgesetzten Wert auf Null zu beginnen. Der DMA-Zähler 418 wird mit jedem vom Datenspeicher 22 gelesenen Datenwort abwärtszählen. Der DMA-Zähler 418 steuert wiederum eine DMA-Wortzählschaltung 420, die eine Adresse im Übertragungsfeld erzeugt. Mit anderen Worten zeigt die DMA-Wortzählschaltung 420 zu einer Adresse im Übertragungsfeld 37, die ihrerseits zu einer Adresse im Datenspeicher 22 zeigt. Durch diese Form von indirektem Zeigen wird die IFS-Schaltung 28 jede der Stellen des Datenspeichers 22, die im Transferfeld 37 für das bestimmte, durch den Prozeßsteuercomputer 12 zugelassene Fenster spezifiziert sind, durch die Heimlichkeitsinterfaceschnittstelfe 16 lesen.
  • Es wird auf Fig. 11 Bezug genommen, die ein Blockdiagramm der IFQ-Schaltung 30 zeigt. Die IFQ-Schaltung 30 enthält den Intel 80186 Mikroprozessor, wie oben diskutiert, und daß Programm für diesen Mikroprozessor ist im EPROM 420 gespeichert. Ferner ist ein Adressenlatch 422 mit dem Adreßbus 424 des Mikroprozessors 42 gekoppelt. Ähnlich ist ein Datenpuffer 426 mit dem Datenbus 428 des Mikroprozessors 42 gekoppelt. Eine 64Kb-RAM-Schaltung 430 ist ferner sowohl mit dem Adreßbus 424 als auch dem Datenbus 428 gekoppelt. Die RAM-Schaltung 430 wird verwendet, um Systemdaten zu speichern, wie etwa einer oder mehrere Datenstapel oder andere Betriebsdatenstrukturen für den Mikroprozessor 42.
  • Die IFQ-Schaltung 30 enthält auch eine Faserinterface-"Tochter"-Platine 432, die die zum Übertragen und Empfangen von Signalen über die faseroptischen Kabel 32 direkt verantwortlichen Schaltungen enthält. Diesbezüglich enthält der Block 434 die beiden Kanäle der Lichtumwandler- und Empfängerschaltungen, und der Block 436 enthält die beiden Kanäle von Lichtumwandler- und Sender/Empfängerschaltungen, wie oben diskutiert. Mit den seriellen Gazelle Sender/Empfängerpaaren ist jeder der faseroptischen Verbindungen zu den IFS-Schaltungen 28a-28b fähig, 2,5 Millionen 40-Bit-Datenblöcke pro Sekunde zu übertragen. Der Block 44 repräsentiert die beiden 128Kb-Datenpuffer, die zum anfänglichen Speichern der SDSS- und DSS-Daten verwendet werden, die von den Prozeßsteuerungscomputern 12a-12b asynchron empfangen werden, wie in Verbindung mit Fig. 1 diskutiert. Diese "Verbindungs"-Datenpuffer sind bevorzugt unter Verwendung von zwei unabhängigen Speichern in Dual-Port-Konfiguration implementiert, einer für jeden faseroptischen Kanal, um eine ununterbrochene Echtzeitsammlung von Prozeßdaten und Mitteilungen von den IFS-Schaltungen vorzusehen. Der Block 438 repräsentiert die Bereitstellung von wenigstens einem Wortregister (für jeden faseroptischen Kanal) der zum Halten von seriellen Daten verwendet wird, die zu einem der Prozeßsteuerungscomputer 12a-12b zu übertragen sind.
  • Der Block 440 repräsentiert die Logikschaltungen zum Steuern des Speicherns von Information in den Datenpuffern 44 und das Wortregister 438. Die logische Schaltung 440 enthält einen oder mehrere programmierbare Logikanordnungsschaltungen ("PAL") zum Implementieren einer Zustandsmaschine zum Handhaben dieser Datenschreiboperationen, Wenn z. B. ein 40 Bit Datenblock von einem der Prozeßsteuerungscomputer 12a-12b empfangen wird, wird die Logikschaltung 440 das Adressen- und Steuerbit decodieren, um die Datenbits zu den angemessenen Speicherstellen in den Datenpuffern 44 zu dirigieren. Die Faserinterface-Tochter- Platine 432 enthält auch einen lnterrupt-Schaltungsblock 442, der die Interruptlogik enthält, um dem Mikroprozessor 42 zu helfen, den Zustand der Datenschreibaktivitäten zu verstehen. Diesbezüglich werden wenigstens zwei gesonderte Interruptleitungen verwendet, um den lnterruptschaltungsblock 442 mit dem Mikroprozessor 42 zu verbinden (einen pro faseroptischen Kanal). Sowohl die IFS- Schaltung 28 als auch die Faserinterface-Tochter-Platine 432 der IFQ-Schaltung 30 enthalten ferner eine PAL-Zustandmaschine, die ankommende Datenblöcke auf Fehler untersucht (z. B. Paritätsfehler und 4B/5B-Verbindungsfehler). Bei einer Ausführungsform des Vorfeldkommunikationssystems 10 arbeiten alle Zustandsmaschinen an der IFQ-Schaltung 30 auf Basis eines 20 MHz Taktsignals, das aus dem 10 MHz Taktsignal des Mikroprozessors 42 abgeleitet wird.
  • Der Mikroprozessor 42 ist dazu programmiert, wenigstens zwei DMA-Prozessoren zum Bewegen von Daten bereitzustellen. Zum Beispiel wird der Mikroprozessor 42 auf ein angemessene Interrupt-Signale vom Interrupt-Schaltungsblock 442 reagieren, indem er Daten von den Datenpuffern 44 zu einer Dual-Port-64Kb-RAM-Schaltung 444 bewegt, die wirksam ist, ein Reservebrigadespeichermedium bereitzustellen. Nachdem ausreichend Daten in der Dual-Port-RAM-Schaltung 444 (z. B. 8Kb) gespeichert sind, wird die DMA-Zustandsmaschine im zuerst -hinein/zuerst-hinaus- ("FIFO") DMA-Steuerblock 446 dann diese Daten über den Q-Bus 302 des Vorfeldcomputers 18 bewegen. Bevorzugt sind Speicherzyklen zwischen beiden Bussen, dem Systembus des Mikroprozessors 42 und dem Q-Bus, verschachtelt, wobei dem Systembus des Mikroprozessors 42 die höchste Priorität gegeben ist. Zum Übertragen von Status- und Steuerinformation sind eine Statusregisterschaltung 448 und eine CSR-Schaltung 450 vorgesehen. Wie in Fig. 11 gezeigt ist, sind ferner ein Adressenpuffer 452 und ein DMA/FIFO-Zähler 454 mit den Adreßleitungen der Dual- Port-RAM-Schaltung 444 gekoppelt. In gleicher Weise sind auch ein DMA/FIFO- Datenpuffer 456 für die Q-Bus 302 und ein Datenpuffer für den Mikroprozessor 42 mit den Datenleitungen der Dual-Port-RAM-Schaltung 444 gekoppelt.

Claims (23)

1. Verfahren, welches die Kommunikation einer Kommandomitteilung von einer Computereinheit (70; 72) an einem Computernetz (20) zu einem Prozeßsteuerungscomputer (12a; 12b) steuert, welcher wenigstens eine aus einer Mehrzahl von Betriebsvariablen zu verändern sucht, welche von dem Prozeßsteuerungscomputer (12a; 12b) zur Steuerung eines physikalischen Prozesses verwendet werden,
gekennzeichnet durch die Schritte:
A) Bereitstellen eines Vorfeldcomputers (18a; 18b), welcher zwischen dem Prozeßsteuerungscomputer (12a; 12b) und dem Computernetz (20) angeschlossen ist;
B) Speichern einer Zulässigkeitstabelle (PL, PR) in dem Vorfeldcomputer (18a; 18b), die identifiziert, welche der Betriebsvariablen durch die Computereinheit (70; 72) verändert werden dürfen;
C) Empfangen einer Kommandomitteilung von der Computereinheit (70; 72);
D) Bestimmen, ob die Kommandomitteilung eine Anweisung enthält, welche wenigstens eine Betriebsvariable in dem Prozeßsteuerungscomputer (12a; 12b) zu verändern sucht;
E) Bestimmen (270, 274), ob die Kommandomitteilung von dem Vorfeldcomputer (18a; 18b) zu dem Prozeßsteuerungscomputer (12a; 12b) übertragen werden soll, durch prüfen (274) des Status eines Freigabe-Indikators in der Zulässigkeitstabelle (PL, PR), welcher der entsprechenden in der Kommandomitteilung identifizierten Betriebsvariable zugeordnet ist;
F) Übertragen eines Programmversions-Identifizierers von dem Vorfeldcomputer (18a; 18b) zu dem Prozeßsteuerungscomputer (12a; 12b) zusammen mit der Kommandomitteilung, wenn bestimmt wird, die Übertragung der Kommandomitteilung zu dem Prozeßsteuerungscomputer (12a; 12b) freizugeben; und
G) Bestimmen an dem Prozeßsteuerungscomputer (12a; 12b), ob die von dem Vorfeldcomputer (18a; 18b) empfangene Kommandomitteilung implementiert werden soll, auf der Grundlage, ob der übertragene Programmversions-Identifizierer mit einem in dem Prozeßsteuerungscomputer (12a; 12b) gespeicherten Programmversions-Identifizierer übereinstimmt.
2. Verfahren nach Anspruch 1, umfassend den Schritt des Verschlüsselns des Programmversions-Identifizierers bei dem Vorfeldcomputer (18a; 18b) vor seiner Übertragung zu dem Prozeßsteuerungscomputer (12a; 12b).
3. Verfahren nach Anspruch 1 oder 2, bei dem die wenigstens eine Zulässigkeitstabelle (PL. PR) in dem Vorfeldcomputer (18a; 18b) über eine Kommunikation von einem gesonderten Computermittel (78) auf eine Initialisierung des Vorfeldcomputers (18a; 18b) hin installiert wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, wobei das Verfahren weiterhin eine sichere Kommunikation zwischen einer Mehrzahl von Computern an dem Netz (20) auf der Grundlage einer akzeptablen Reaktion auf die Übertragung eines unvorhersagbaren Signals von einem der Computer vorsieht und wobei es folgende Schritte umfaßt:
a) Etablieren eines zeitbegrenzten Kommunikationskontraktes zwischen einem ersten (18a; 18b) und einem zweiten (70; 72) Computer an dem Netz, wobei der zeitbegrenzte Kommunikationskontrakt auf der Basis einer akzeptablen Reaktion auf die Übertragung eines unvorhersagbaren Signals von einem der Computer etabliert wird und für eine vorbestimmte Zeitperiode gültig ist, wobei die Zeitperiode mit dem Etablieren des Kontrakts anfängt;
b) Etablieren eines neuen zeitbegrenzten Kommunikationskontrakts zwischen dem ersten und dem zweiten Computer bevor die vorbestimmte Zeitperiode abläuft, wobei der neue zeitbegrenzte Kommunikationskontrakt auf der Basis einer akzeptablen Reaktion auf die Übertragung eines neuen unvorhersagbaren Signals von einem der Computer etabliert wird und für die vorbestimmte Zeitperiode gültig ist, wobei die Zeitperiode mit dem Etablieren des neuen Kontrakts anfängt;
c) Wiederholen des Schritts b), solange ein gültiger Kommunikationskontrakt existiert; und
d) Freigeben eines bestimmten Typs von Signalkommunikation zwischen dem ersten und dem zweiten Computer nur so lange, wie ein gültiger Kommunikationskontrakt existiert, wobei zur Steuerung der Kommunikation der Kommandomitteilung nur jene eine Veränderung wenigstens einer Betriebsvariable betreffenden Kommandomitteilungen zu dem Prozeßsteuerungscomputer (12a; 12b) übertragen werden, welche von einer Computereinheit (70; 72) mit einem gültigen Kommunikationskontrakt empfangen werden.
5. Verfahren nach Anspruch 4, bei dem der Schritt des Etablierens eines zeitbegrenzten Kommunikationskontrakts die Schritte umfaßt: Erzeugen (246) eines unvorhersagbaren Signals an dem ersten Computer (18a; 18b), Übertragen (248) des unvorhersagbaren Signals zu dem zweiten Computer (70; 72), Erzeugen (250) einer vorhersagbaren Modifikation des unvorhersagbaren Signals am zweiten Computer (70; 72), Übertragen (252) des modifizierten unvorhersagbaren Signals zu dem ersten Computer (18a; 18b), und Bestimmen (254, 256) am ersten Computer (18a; 18b), ob das modifizierte unvorhersagbare Signal akzeptabel ist, bevor der bestimmte Typ von Signalkommunikation zwischen dem ersten und dem zweiten Computer zugelassen (266) wird.
6. Verfahren nach Anspruch 5, bei dem das modifizierte unvorhersagbare Signal als akzeptabel bestimmt wird, wenn es einer erwarteten Modifikation des unvorhersagbaren Signals entspricht.
7. Verfahren nach Anspruch 6, bei dem das unvorhersagbare Signal eine Pseudo-Zufallszahl ist.
8. Verfahren nach Anspruch 7, bei dem die vorhersagbare Modifikation des unvorhersagbaren Signals eine verschlüsselte Form der Pseudo- Zufallszahl ist.
9. Verfahren nach Anspruch 6 oder 7; bei dem die Pseudo-Zufallszahl eine digitale Länge von wenigstens 32 Bit aufweist.
10. Verfahren nach einem der Ansprüche 7 bis 9, bei dem die Pseudo- Zufallszahl durch den zweiten Computer (70; 72) entsprechend einem Algorithmus verschlüsselt wird, der für die compilierte Version eines in dem ersten Computer (18a; 18b) laufenden Anwendungsprogramms einmalig ist.
11. Verfahren nach einem der Ansprüche 4 bis 10, bei dem der bestimmte Typ von Signalkommunikation eine Instruktion vom zweiten Computer (70; 72) zum ersten Computer (18a; 18b) umfaßt, die eine Modifikation wenigstens einer Prozeßsteuerungsvariablen anweist.
12. Verfahren nach einem der Ansprüche 4 bis 11, bei dem ein neuer zeitbegrenzter Kommunikationskontrakt in Intervallen von kürzer als eine Minute etabliert wird.
13. Verfahren nach Anspruch 12, bei dem die vorbestimmte Zeitperiode kürzer als eine Minute ist.
14. Verfahren nach Anspruch 13, bei dem die vorbestimmte Zeitperiode kürzer als 30 Sekunden ist.
15. Verfahren nach einem der Ansprüche 4 bis 14, bei dem das Etablieren der Kommunikationskontrakte durch den ersten Computer (18a; 18b) initiiert wird.
16. Verfahren nach Anspruch 15, bei dem ein Kommunikationskontrakt durch eine Kontraktangebotsmitteilung nur einem zweiten Computer (70; 72) angeboten wird, der in einer Sicherheitstabelle (51) dahingehend identifiziert ist, daß er eine entsprechende Autorisierung aufweist, wobei die Sicherheitstabelle (51) in dem ersten Computer (18a; 18b) gespeichert ist.
17. Verfahren nach Anspruch 16, bei dem die Autorisierung aufgehoben wird, falls die Reaktion des zweiten Computers (70; 72) auf die Übertragung des unvorhersagbaren Signals nicht akzeptabel ist oder falls der zweite Computer (70; 72) nicht innerhalb einer jeweiligen Auszeitperiode auf eine vorbestimmte Anzahl aufeinanderfolgender Kontraktangebote reagiert.
18. Verfahren nach Anspruch 16 oder 17, bei dem die Sicherheitstabelle (51) in dem ersten Computer (18a; 18b) vermittels Kommunikation von einem separaten Sicherheitsserver (68) auf die Initialisierung des ersten Computers (18a; 18b) installiert wird.
19. Sicherheits-Vorfeld-Kommunikationssystem für wenigstens einen Prozeßsteuerungscomputer (12a; 12b), der den Lauf eines physikalischen Prozesses steuert, umfassend:
ein Computernetz (20) zum Ermöglichen von Kommunikation zwischen einer Mehrzahl von Computern;
wenigstens eine Computereinheit (70; 72), die mit dem Computernetz (20) verbunden ist, gekennzeichnet durch
wenigstens einen Vorfeldcomputer (18a, 18b), der zwischen den Prozeßsteuerungscomputer (12a; 12b) und das Computernetz (20) zwischengeschaltet ist, wobei der Vorfeldcomputer (18a; 18b) aufweist: Mittel zur Speicherung wenigstens einer Zulässigkeitstabelle (PL; PR), Mittel (270, 274) zur Bestimmung, ob eine vorbestimmte Instruktionsart von der Computereinheit (70; 72) zu dem Prozeßsteuerungscomputer (12a; 12b) übertragen wird, durch Prüfen des Status eines Freigabe-Indikators in der Zulässigkeitstabelle (PL, PR) für die Variable, welche der Variablen aus der Instruktion entspricht, und
Mittel zur Übertragung eines Programmversions-Identifizierers von dem Vorfeldcomputer (18a; 18b) zu dem Prozeßsteuerungscomputer (12a; 12b) zusammen mit der vorbestimmten Instruktionsart, wenn der Freigabe-Indikator den entsprechenden Status aufweist;
wobei der Prozeßsteuerungscomputer (12a; 12b) Mittel aufweist zur Bestimmung, ob die vorbestimmte Instruktionsart implementiert werden soll, auf der Grundlage, ob der übertragene Programmversions-Identifizierer mit einem in dem Prozeßsteuerungscomputer (12a; 12b) gespeicherten Programmversions-Identifizierer übereinstimmt.
20. Sicherheits-Vorfeld-Kommunikationssystem nach Anspruch 19, umfassend wenigstens zwei aktiv redundante Prozeßsteuerungscomputer (12a; 12b), und wobei der Vorfeldcomputer (18a; 18b) mit jedem der aktiv redundanten Prozeßsteuerungscomputer (12a; 12b) verbunden ist.
21. Sicherheits-Vorfeld-Kommunikationssystem nach Anspruch 20, bei dem der Vorfeldcomputer (18a; 18b) eine gesonderte Zulässigkeitstabelle (PL, PR) für jeden der aktiv redundanten Prozeßsteuerungscomputer (12a; 12b) umfaßt.
22. Sicherheits-Vorfeld-Kommunikationssystem nach Anspruch 21, bei dem wenigstens eine der Zulässigkeitstabellen (PL, PR) einer compüierten Version des Betriebsprogramms von einem der aktiv redundanten Prozeßsteuerungscomputer (12a; 12b) zugeordnet ist, welche verschieden ist von der compilierten Version des Betriebsprogramms eines anderen der aktiv redundanten Prozeßsteuerungscomputer (12a; 12b).
23. Sicherheits-Vorfeld-Kommunikationssystem nach einem der Ansprüche 19 bis 22, bei dem wenigstens eine Zulässigkeitstabelle (PL, PR) in dem Vorfeldcomputer (18a; 18b) über eine Kommunikation von einem gesonderten Computermittel (78) auf eine Initialisierung des Vorfeldcomputers (18a; 18b) hin installiert ist.
DE69330970T 1992-06-12 1993-06-01 Sicheres Frontenverbindungssystem und Verfahren für Prozesssteuerungsrechner Expired - Fee Related DE69330970T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US89892392A 1992-06-12 1992-06-12

Publications (2)

Publication Number Publication Date
DE69330970D1 DE69330970D1 (de) 2001-11-22
DE69330970T2 true DE69330970T2 (de) 2002-04-04

Family

ID=25410232

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69330970T Expired - Fee Related DE69330970T2 (de) 1992-06-12 1993-06-01 Sicheres Frontenverbindungssystem und Verfahren für Prozesssteuerungsrechner
DE69316009T Expired - Fee Related DE69316009T2 (de) 1992-06-12 1993-06-01 Sicheres frontendverbindungssystem und verfahren fur prozesssteuerungsrechner

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69316009T Expired - Fee Related DE69316009T2 (de) 1992-06-12 1993-06-01 Sicheres frontendverbindungssystem und verfahren fur prozesssteuerungsrechner

Country Status (9)

Country Link
US (2) US5428745A (de)
EP (2) EP0810499B1 (de)
JP (1) JPH07507893A (de)
KR (2) KR100302222B1 (de)
AU (1) AU4400993A (de)
CA (1) CA2137464C (de)
DE (2) DE69330970T2 (de)
ES (2) ES2162659T3 (de)
WO (1) WO1993025948A1 (de)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964835A (en) * 1992-12-17 1999-10-12 Tandem Computers Incorporated Storage access validation to data messages using partial storage address data indexed entries containing permissible address range validation for message source
US5631897A (en) * 1993-10-01 1997-05-20 Nec America, Inc. Apparatus and method for incorporating a large number of destinations over circuit-switched wide area network connections
US5544077A (en) * 1994-01-19 1996-08-06 International Business Machines Corporation High availability data processing system and method using finite state machines
EP0710904B1 (de) * 1994-10-25 1998-10-07 Rieter Ingolstadt Spinnereimaschinenbau AG Backplane-Steuerung für Spinnereimaschine
US5872917A (en) * 1995-06-07 1999-02-16 America Online, Inc. Authentication using random challenges
US5870473A (en) * 1995-12-14 1999-02-09 Cybercash, Inc. Electronic transfer system and method
US5758060A (en) * 1996-03-05 1998-05-26 Dallas Semiconductor Corp Hardware for verifying that software has not skipped a predetermined amount of code
US5727142A (en) * 1996-05-03 1998-03-10 International Business Machines Corporation Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US20030195848A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US6039245A (en) * 1996-06-10 2000-03-21 Diebold, Incorporated Financial transaction processing system and method
US7167924B1 (en) 1996-06-10 2007-01-23 Diebold, Incorporated Financial transaction processing system and method
US5822434A (en) * 1996-06-19 1998-10-13 Sun Microsystems, Inc. Scheme to allow two computers on a network to upgrade from a non-secured to a secured session
AU3889497A (en) * 1996-08-02 1998-02-25 Transoft Corporation Method and apparatus for allowing distributed control of shared resources
EP0825506B1 (de) 1996-08-20 2013-03-06 Invensys Systems, Inc. Verfahren und Gerät zur Fernprozesssteuerung
US6912652B2 (en) * 1996-11-08 2005-06-28 Monolith Co., Ltd. Method and apparatus for imprinting ID information into a digital content and for reading out the same
US5978918A (en) * 1997-01-17 1999-11-02 Secure.Net Corporation Security process for public networks
US5826015A (en) * 1997-02-20 1998-10-20 Digital Equipment Corporation Method and apparatus for secure remote programming of firmware and configurations of a computer over a network
US5935249A (en) * 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
US6151686A (en) * 1997-06-06 2000-11-21 Fmr Corp. Managing an information retrieval problem
US7290288B2 (en) 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
US7743247B1 (en) * 1997-08-08 2010-06-22 Synectic Design LLC Method and apparatus for secure communications
AUPO856797A0 (en) 1997-08-15 1997-09-04 AAV Australia Pty. Limited Computer system having fixed computers and mobile computers
DE19745994A1 (de) * 1997-10-20 1999-04-22 Cit Alcatel Verfahren zum Austausch von Daten zwischen Applikationsprozessen in einem sicheren Mehrrechnersystem
US6092110A (en) * 1997-10-23 2000-07-18 At&T Wireless Svcs. Inc. Apparatus for filtering packets using a dedicated processor
US6158008A (en) * 1997-10-23 2000-12-05 At&T Wireless Svcs. Inc. Method and apparatus for updating address lists for a packet filter processor
US6834388B1 (en) 1998-03-13 2004-12-21 Iconics, Inc. Process control
JP3687373B2 (ja) * 1998-12-04 2005-08-24 株式会社日立製作所 高信頼分散システム
US6748451B2 (en) 1998-05-26 2004-06-08 Dow Global Technologies Inc. Distributed computing environment using real-time scheduling logic and time deterministic architecture
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code
US6154849A (en) * 1998-06-30 2000-11-28 Sun Microsystems, Inc. Method and apparatus for resource dependency relaxation
US6272400B1 (en) 1998-07-13 2001-08-07 Helix Technology Corporation Vacuum network controller
US6311276B1 (en) * 1998-08-25 2001-10-30 3Com Corporation Secure system for remote management and wake-up commands
US7003558B2 (en) 1998-10-16 2006-02-21 Iconics, Inc. Method and system for communicating information and controlling equipment according to a standard protocol between two computers
JP3223355B2 (ja) * 1998-11-12 2001-10-29 株式会社エヌ・ティ・ティ・ドコモ 通信制御方法、通信制御装置、記録媒体およびデータ端末
US7017116B2 (en) 1999-01-06 2006-03-21 Iconics, Inc. Graphical human-machine interface on a portable device
US6192477B1 (en) * 1999-02-02 2001-02-20 Dagg Llc Methods, software, and apparatus for secure communication over a computer network
FI990715A7 (fi) * 1999-03-31 2000-10-01 Valmet Corp Tuotantolaitoksen huoltojärjestely
US6647301B1 (en) 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
AU5025600A (en) 1999-05-17 2000-12-05 Foxboro Company, The Process control configuration system with parameterized objects
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6788980B1 (en) * 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6535937B1 (en) * 2000-02-15 2003-03-18 International Business Machines Corporation Write command verification across a PCI bus system
EP1130600A1 (de) * 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Datenverteilungsabbildung für Festkörperspeicher
US6424874B1 (en) * 2000-06-29 2002-07-23 Honeywell International Inc. Automated configuration of communications for an ordered collection of devices
AUPQ916600A0 (en) 2000-08-03 2000-08-24 James Hardie Research Pty Limited Automated manufactured apparatus for aluminium window/door systems
US20020061107A1 (en) * 2000-09-25 2002-05-23 Tham Terry K. Methods and apparatus for implementing a cryptography engine
US20020078342A1 (en) * 2000-09-25 2002-06-20 Broadcom Corporation E-commerce security processor alignment logic
US6968242B1 (en) * 2000-11-07 2005-11-22 Schneider Automation Inc. Method and apparatus for an active standby control system on a network
GB2372346A (en) 2001-02-19 2002-08-21 Moy Park Ltd Tracing components of a production chain
CA2357931A1 (en) * 2001-09-27 2003-03-27 Alcatel Canada Inc. System and method of selecting sources for a network element having redundant sources
US7467290B2 (en) * 2001-10-19 2008-12-16 Kingston Technology Corporation Method and system for providing a modular server on USB flash storage
US6829660B2 (en) * 2001-12-12 2004-12-07 Emulex Design & Manufacturing Corporation Supercharge message exchanger
DE10229704A1 (de) * 2002-07-02 2004-01-29 Endress + Hauser Process Solutions Ag Verfahren zum Schutz vor unerlaubtem Zugriff auf ein Feldgerät in der Prozessautomatisierungstechnik
US7289861B2 (en) * 2003-01-28 2007-10-30 Fisher-Rosemount Systems, Inc. Process control system with an embedded safety system
DE10240584A1 (de) 2002-08-28 2004-03-11 Pilz Gmbh & Co. Sicherheitssteuerung zum fehlersicheren Steuern von sicherheitskritischen Prozessen sowie Verfahren zum Aufspielen eines neuen Betriebsprogrammes auf eine solche
US7333918B2 (en) * 2002-09-05 2008-02-19 Strategic Power Systems, Inc. System and method for calculating part life
US6813527B2 (en) * 2002-11-20 2004-11-02 Honeywell International Inc. High integrity control system architecture using digital computing platforms with rapid recovery
DE10304903A1 (de) * 2003-02-06 2004-10-28 Siemens Ag Vorrichtung zur Automatisierung und/oder Steuerung von Werkzeug- oder Produktionsmaschinen
US7281187B2 (en) * 2003-11-20 2007-10-09 Intellon Corporation Using error checking bits to communicated an address or other bits
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US8015154B1 (en) * 2004-06-07 2011-09-06 Teradata Us, Inc. Starting database software in response to a broadcast message
US20060090012A1 (en) * 2004-10-22 2006-04-27 Linden Cornett Modular SDD (scalable device driver) framework
JP4567688B2 (ja) * 2004-10-28 2010-10-20 三菱電機株式会社 通信装置および通信方法
US20060123098A1 (en) * 2004-11-11 2006-06-08 Ipdev Multi-system auto-failure web-based system with dynamic session recovery
US20060155770A1 (en) * 2004-11-11 2006-07-13 Ipdev Co. System and method for time-based allocation of unique transaction identifiers in a multi-server system
US20060155753A1 (en) * 2004-11-11 2006-07-13 Marc Asher Global asynchronous serialized transaction identifier
WO2006128148A1 (en) * 2005-05-27 2006-11-30 Delphi Technologies, Inc. System and method for bypassing execution of an algorithm
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
WO2007123753A2 (en) 2006-03-30 2007-11-01 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US8719128B2 (en) * 2006-12-15 2014-05-06 Tcf Financial Corporation Computer-facilitated secure account-transaction
WO2008098302A1 (en) 2007-02-16 2008-08-21 Orica Explosives Technology Pty Ltd Method of communication at a blast site, and corresponding blasting apparatus
US20090186344A1 (en) * 2008-01-23 2009-07-23 Caliper Life Sciences, Inc. Devices and methods for detecting and quantitating nucleic acids using size separation of amplicons
US8594814B2 (en) 2008-06-20 2013-11-26 Invensys Systems, Inc. Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
DE102009027369A1 (de) * 2009-07-01 2011-01-05 Robert Bosch Gmbh Verfahren sowie System zur Ansteuerung von mindestens einem Aktuator
CN102566527B (zh) * 2010-12-30 2015-06-10 中国科学院沈阳自动化研究所 半导体制造设备前端模块的传输控制平台化实现方法
US8762528B2 (en) * 2011-05-31 2014-06-24 General Electric Company Systems and methods for write protecting foundation fieldbus linking devices
US8850200B1 (en) 2011-06-21 2014-09-30 Synectic Design, LLC Method and apparatus for secure communications through a trusted intermediary server
US9855698B2 (en) * 2013-08-07 2018-01-02 Massachusetts Institute Of Technology Automatic process control of additive manufacturing device
IN2013MU02890A (de) * 2013-09-05 2015-07-03 Tata Consultancy Services Ltd
JP6658000B2 (ja) * 2016-01-27 2020-03-04 株式会社リコー 情報処理装置、画像出力制御方法およびプログラム
KR102141169B1 (ko) * 2018-04-10 2020-08-05 한국전자통신연구원 보안 필터 장치를 포함하는 인체 통신 시스템
WO2021194464A1 (en) * 2020-03-23 2021-09-30 Btblock Llc Management system and method for user authentication on password based systems
CN114356828B (zh) * 2021-12-23 2024-05-24 中国航空工业集团公司西安航空计算技术研究所 一种双双余度飞控计算机间异步交叉传输的方法

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
US4074119A (en) * 1976-06-08 1978-02-14 Licentia Patent-Verwaltungs-G.M.B.H. Code word determination
US4227253A (en) * 1977-12-05 1980-10-07 International Business Machines Corporation Cryptographic communication security for multiple domain networks
US4310720A (en) * 1978-03-31 1982-01-12 Pitney Bowes Inc. Computer accessing system
US4215398A (en) * 1978-08-24 1980-07-29 Texas Instruments Incorporated Dual microprocessor intelligent programmable process control system with communication link
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4264782A (en) * 1979-06-29 1981-04-28 International Business Machines Corporation Method and apparatus for transaction and identity verification
US4479179A (en) * 1979-07-30 1984-10-23 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4304001A (en) * 1980-01-24 1981-12-01 Forney Engineering Company Industrial control system with interconnected remotely located computer control units
NL183862C (nl) * 1980-02-04 1989-02-01 Philips Nv Telecommunicatiestelsel met gecodeerde berichtoverdracht.
US4578530A (en) * 1981-06-26 1986-03-25 Visa U.S.A., Inc. End-to-end encryption system and method of operation
US4593353A (en) * 1981-10-26 1986-06-03 Telecommunications Associates, Inc. Software protection method and apparatus
US4493028A (en) * 1982-02-02 1985-01-08 International Business Machines Corporation Dual mode I/O
US4685125A (en) * 1982-06-28 1987-08-04 American Telephone And Telegraph Company Computer system with tasking
US4539652A (en) * 1982-07-16 1985-09-03 At&T Bell Laboratories Networks for data communication
US4723284A (en) * 1983-02-14 1988-02-02 Prime Computer, Inc. Authentication system
US4670890A (en) * 1983-03-04 1987-06-02 Research Corporation Method of and/or apparatus for encoding and decoding sequential information in data handling systems
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
US4652990A (en) * 1983-10-27 1987-03-24 Remote Systems, Inc. Protected software access control apparatus and method
US4622630A (en) * 1983-10-28 1986-11-11 Data General Corporation Data processing system having unique bus control protocol
US4660141A (en) * 1983-12-06 1987-04-21 Tri Sigma Corporation Self configuring computer network with automatic bus exchange of module identification numbers and processor assigned module numbers
US4609777A (en) * 1984-02-22 1986-09-02 Gordian Systems, Inc. Solid state key for controlling access to computer software
US4596898A (en) * 1984-03-14 1986-06-24 Computer Security Systems, Inc. Method and apparatus for protecting stored and transmitted data from compromise or interception
US4625076A (en) * 1984-03-19 1986-11-25 Nippon Telegraph & Telephone Public Corporation Signed document transmission system
US4672572A (en) * 1984-05-21 1987-06-09 Gould Inc. Protector system for computer access and use
US4663704A (en) * 1984-12-03 1987-05-05 Westinghouse Electric Corp. Universal process control device and method for developing a process control loop program
US4672533A (en) * 1984-12-19 1987-06-09 Noble Richard G Electronic linkage interface control security system and method
US4800590A (en) * 1985-01-14 1989-01-24 Willis E. Higgins Computer key and computer lock system
JPS61166668A (ja) * 1985-01-19 1986-07-28 Panafacom Ltd 多重プロセツサ制御方式
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4779224A (en) * 1985-03-12 1988-10-18 Moseley Donald R Identity verification method and apparatus
US4683968A (en) * 1985-09-03 1987-08-04 Burroughs Corporation System for preventing software piracy employing multi-encrypted keys and single decryption circuit modules
US4885777A (en) * 1985-09-04 1989-12-05 Hitachi, Ltd. Electronic transaction system
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4864494A (en) * 1986-03-21 1989-09-05 Computerized Data Ssytems For Mfg., Inc. Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software
US4882752A (en) * 1986-06-25 1989-11-21 Lindman Richard S Computer security system
US4809327A (en) * 1986-09-02 1989-02-28 Unisys Corporation Encrtption of messages employing unique control words and randomly chosen encryption keys
US4839890A (en) * 1986-10-31 1989-06-13 Ncr Corporation Data bit synchronizer
US4916738A (en) * 1986-11-05 1990-04-10 International Business Machines Corp. Remote access terminal security
JPH0632047B2 (ja) * 1987-01-30 1994-04-27 株式会社東芝 デ−タ収集装置
US4771462A (en) * 1987-02-18 1988-09-13 Hannan Forrest A Communication port encryption/decryption method and apparatus
GB8704920D0 (en) * 1987-03-03 1987-04-08 Hewlett Packard Co Secure messaging system
JPS63255759A (ja) * 1987-04-14 1988-10-24 Mitsubishi Electric Corp 制御システム
JPS63278438A (ja) * 1987-05-11 1988-11-16 Hitachi Ltd 暗号手順非公開による暗号システム
US4930073A (en) * 1987-06-26 1990-05-29 International Business Machines Corporation Method to prevent use of incorrect program version in a computer system
US4924513A (en) * 1987-09-25 1990-05-08 Digital Equipment Corporation Apparatus and method for secure transmission of data over an unsecure transmission channel
US4881263A (en) * 1987-09-25 1989-11-14 Digital Equipment Corporation Apparatus and method for secure transmission of data over an unsecure transmission channel
US4796232A (en) * 1987-10-20 1989-01-03 Contel Corporation Dual port memory controller
US4937736A (en) * 1987-11-30 1990-06-26 International Business Machines Corporation Memory controller for protected memory with automatic access granting capability
US4853962A (en) * 1987-12-07 1989-08-01 Universal Computer Consulting, Inc. Encryption system
US4868851A (en) * 1988-01-26 1989-09-19 Harris Corporation Signal processing apparatus and method
US4944008A (en) * 1988-02-18 1990-07-24 Motorola, Inc. Electronic keying scheme for locking data
JPH0783337B2 (ja) * 1988-03-01 1995-09-06 日本電気株式会社 スクランブル−デスクランブル方式
US4964163A (en) * 1988-04-04 1990-10-16 Motorola, Inc. Method and apparatus for controlling access to a communication system
US4897777A (en) * 1988-04-11 1990-01-30 Square D Company Peer-to-peer register exchange controller for PLCS
US4956769A (en) * 1988-05-16 1990-09-11 Sysmith, Inc. Occurence and value based security system for computer databases
US4969189A (en) * 1988-06-25 1990-11-06 Nippon Telegraph & Telephone Corporation Authentication system and apparatus therefor
US4932054A (en) * 1988-09-16 1990-06-05 Chou Wayne W Method and apparatus for protecting computer software utilizing coded filter network in conjunction with an active coded hardware device
US4926481A (en) * 1988-12-05 1990-05-15 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Computer access security code system
US4919545A (en) * 1988-12-22 1990-04-24 Gte Laboratories Incorporated Distributed security procedure for intelligent networks
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
US4995040A (en) * 1989-02-03 1991-02-19 Rockwell International Corporation Apparatus for management, comparison, and correction of redundant digital data
US4996655A (en) * 1989-02-16 1991-02-26 Micron Technology, Inc. Real time monitoring of remote signals in an industrial environment
US5006976A (en) * 1989-02-23 1991-04-09 Fisher Controls International, Inc. Process control terminal
US5191611A (en) * 1989-04-03 1993-03-02 Lang Gerald S Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
US5065429A (en) * 1989-04-03 1991-11-12 Lang Gerald S Method and apparatus for protecting material on storage media
US4926418A (en) * 1989-04-11 1990-05-15 International Business Machines Corporation Fairness algorithm for full-duplex buffer insertion ring
US4956863A (en) * 1989-04-17 1990-09-11 Trw Inc. Cryptographic method and apparatus for public key exchange with authentication
US4975865A (en) * 1989-05-31 1990-12-04 Mitech Corporation Method and apparatus for real-time control
US5003593A (en) * 1989-06-05 1991-03-26 Motorola, Inc. Teleconferencing method for a secure key management system
GB8916586D0 (en) * 1989-07-20 1989-09-06 Int Computers Ltd Distributed data processing system
US5008805A (en) * 1989-08-03 1991-04-16 International Business Machines Corporation Real time, fail safe process control system and method
US5056140A (en) * 1990-02-22 1991-10-08 Blanton Kimbell Communication security accessing system and process
US5204966A (en) * 1990-03-09 1993-04-20 Digital Equipment Corporation System for controlling access to a secure system by verifying acceptability of proposed password by using hashing and group of unacceptable passwords
NL9000968A (nl) * 1990-04-23 1991-11-18 Paul Broertjes Beveiligingssysteem voor een hoofdcomputer.
JP2703391B2 (ja) * 1990-06-18 1998-01-26 株式会社東芝 ブリッジ装置
US5204961A (en) * 1990-06-25 1993-04-20 Digital Equipment Corporation Computer network operating with multilevel hierarchical security with selectable common trust realms and corresponding security protocols
JPH04133102A (ja) * 1990-09-26 1992-05-07 Mitsubishi Electric Corp プログラマブル・コントローラ及びその制御方法
US5224163A (en) * 1990-09-28 1993-06-29 Digital Equipment Corporation Method for delegating authorization from one entity to another through the use of session encryption keys
US5196840A (en) * 1990-11-05 1993-03-23 International Business Machines Corporation Secure communications system for remotely located computers
US5379426A (en) * 1991-01-25 1995-01-03 Sun Microsystems, Inc. Method and apparatus for object oriented interprocess message switching
US5347633A (en) * 1991-04-30 1994-09-13 International Business Machines, Inc. System for selectively intercepting and rerouting data network traffic
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5191610A (en) * 1992-02-28 1993-03-02 United Technologies Automotive, Inc. Remote operating system having secure communication of encoded messages and automatic re-synchronization
US5392399A (en) * 1992-05-18 1995-02-21 3Com Corporation Bridge system for selectively routing frame with ordering parameter identifying ordering of identifiers only based upon its source identifier

Also Published As

Publication number Publication date
KR100302222B1 (ko) 2001-11-22
KR950702046A (ko) 1995-05-17
US5561770A (en) 1996-10-01
EP0645028A1 (de) 1995-03-29
AU4400993A (en) 1994-01-04
JPH07507893A (ja) 1995-08-31
WO1993025948A1 (en) 1993-12-23
DE69316009T2 (de) 1998-04-23
EP0810499A2 (de) 1997-12-03
KR100314387B1 (ko) 2001-11-17
DE69330970D1 (de) 2001-11-22
ES2110613T3 (es) 1998-02-16
EP0810499A3 (de) 1999-01-07
EP0645028B1 (de) 1997-12-29
ES2162659T3 (es) 2002-01-01
US5428745A (en) 1995-06-27
DE69316009D1 (de) 1998-02-05
CA2137464A1 (en) 1993-12-23
EP0810499B1 (de) 2001-10-17
CA2137464C (en) 2001-07-03

Similar Documents

Publication Publication Date Title
DE69330970T2 (de) Sicheres Frontenverbindungssystem und Verfahren für Prozesssteuerungsrechner
DE69306389T2 (de) Intelligentes prozesssteuerverbindungssystem und verfahren.
DE102004003605B4 (de) Integriertes Diagnosesystem in einer Prozessanlage mit einem Prozesssteuerungssystem und einem Sicherheitssystem
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE3486199T3 (de) Werkführungssystem.
EP3278529B1 (de) Angriffserkennungsverfahren, angriffserkennungsvorrichtung und bussystem für ein kraftfahrzeug
DE602004005642T2 (de) Sicherheitssteuerung zur Durchführung von Standard- und Sicherheitssteuerungsprogrammen
DE69428631T2 (de) Einrichtung zur Entdeckung des Eindringens und verdächtiger Benutzer für eine Datenverarbeitungseinheit und Sicherheitssystem mit dieser Einrichtung
EP2981926B1 (de) Datenspeichervorrichtung zum geschützten datenaustausch zwischen verschiedenen sicherheitszonen
DE19934514C1 (de) Verfahren zum Konfigurieren eines an einen Feldbus angeschlossenen Busteilnehmers
DE69830046T2 (de) Vorrichtung und verfahren zur überwachung und auswertung von anwendungsprotokollen für datenübertragungssysteme in netzen
DE4023471C2 (de) Steuerungssystem mit Hostcomputer und Kommunikationsschnittstellenschaltung
EP1101163B1 (de) Programmgesteuerte einheit
DE4033336A1 (de) Verfahren zum erzeugen einer ausfallmeldung und mechanismus fuer ausfallmeldung
DE3041322A1 (de) Interkommunikationsprozessor eines systems zur verwendung in einem datenverarbeitungs-teilsystem
DE102004003569A1 (de) Integriertes Sicherungssystem in einer Prozessanlage mit einem Prozesssteuerungssystem und einem Sicherheitssystem
DE69614658T2 (de) Protokoll für Unterbrechungssignale
DE69315210T2 (de) Transparente schnittstelle fur prozesssteuerungsrechner
EP2825921B1 (de) Steuerungsvorrichtung zum steuern von sicherheitskritischen prozessen in einer automatisierten anlage und verfahren zur parameterierung der steuerungsvorrichtung
AT506735B1 (de) Verteilte datenspeicherungseinrichtung
EP3471068A1 (de) Verteiltes system zum verwalten von personenbezogenen daten, verfahren und computerprogrammprodukt
EP0570338B1 (de) Verfahren und Einrichtung zur Zugriffsüberwachung und zum Zugriffsschutz in Kommunikationsnetzwerken
DE3539510C2 (de)
EP3655876B1 (de) Ein-chip-system, verfahren zum betrieb eines ein-chip-systems und kraftfahrzeug
DE3123448A1 (de) Anordnung zur steuerung des buszugriffs einer vielzahl von einen bus benutzenden einrichtungen in einem mit zumindest einem optischen mischer als passives bussystem aufgebauten netzwerk, insbesondere fuer mehrrechnersysteme

Legal Events

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