DE69330970T2 - Sicheres Frontenverbindungssystem und Verfahren für Prozesssteuerungsrechner - Google Patents
Sicheres Frontenverbindungssystem und Verfahren für ProzesssteuerungsrechnerInfo
- 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
Links
- 238000004886 process control Methods 0.000 title claims description 253
- 238000000034 method Methods 0.000 title claims description 108
- 230000008569 process Effects 0.000 title claims description 49
- 230000006854 communication Effects 0.000 claims description 102
- 238000004891 communication Methods 0.000 claims description 102
- 230000005540 biological transmission Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 12
- 238000013475 authorization Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims 4
- 238000012986 modification Methods 0.000 claims 4
- 230000015654 memory Effects 0.000 description 153
- 239000000872 buffer Substances 0.000 description 138
- 230000009977 dual effect Effects 0.000 description 55
- 238000012546 transfer Methods 0.000 description 53
- 238000012545 processing Methods 0.000 description 25
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 239000000835 fiber Substances 0.000 description 18
- 229910003460 diamond Inorganic materials 0.000 description 13
- 239000010432 diamond Substances 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000012544 monitoring process Methods 0.000 description 10
- 238000000750 constant-initial-state spectroscopy Methods 0.000 description 7
- 239000013307 optical fiber Substances 0.000 description 7
- 101710185016 Proteasome-activating nucleotidase 1 Proteins 0.000 description 6
- 101710185022 Proteasome-activating nucleotidase 2 Proteins 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000036541 health Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 101710108416 Robin Proteins 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000283899 Gazella Species 0.000 description 1
- 238000012369 In process control Methods 0.000 description 1
- 208000003035 Pierre Robin syndrome Diseases 0.000 description 1
- 241000053208 Porcellio laevis Species 0.000 description 1
- JDZPLYBLBIKFHJ-UHFFFAOYSA-N Sulfamoyldapsone Chemical compound C1=CC(N)=CC=C1S(=O)(=O)C1=CC=C(N)C=C1S(N)(=O)=O JDZPLYBLBIKFHJ-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000004350 spin decoupling difference spectroscopy Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318385—Random or pseudo-random test pattern
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
- G05B19/0425—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/4185—Total 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/4185—Total 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/41855—Total 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24167—Encryption, password, user access privileges
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24182—Redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2103—Challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2129—Authenticate client device independently of the user
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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.
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)
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)
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 |
-
1993
- 1993-06-01 EP EP97109414A patent/EP0810499B1/de not_active Expired - Lifetime
- 1993-06-01 DE DE69330970T patent/DE69330970T2/de not_active Expired - Fee Related
- 1993-06-01 JP JP6501551A patent/JPH07507893A/ja active Pending
- 1993-06-01 EP EP93914299A patent/EP0645028B1/de not_active Expired - Lifetime
- 1993-06-01 WO PCT/US1993/005208 patent/WO1993025948A1/en active IP Right Grant
- 1993-06-01 KR KR1019940704581A patent/KR100302222B1/ko not_active Expired - Fee Related
- 1993-06-01 AU AU44009/93A patent/AU4400993A/en not_active Abandoned
- 1993-06-01 ES ES97109414T patent/ES2162659T3/es not_active Expired - Lifetime
- 1993-06-01 DE DE69316009T patent/DE69316009T2/de not_active Expired - Fee Related
- 1993-06-01 ES ES93914299T patent/ES2110613T3/es not_active Expired - Lifetime
- 1993-06-01 CA CA002137464A patent/CA2137464C/en not_active Expired - Fee Related
-
1994
- 1994-07-25 US US08/279,697 patent/US5428745A/en not_active Expired - Fee Related
-
1995
- 1995-02-21 US US08/391,521 patent/US5561770A/en not_active Expired - Fee Related
-
2000
- 2000-11-28 KR KR1020007013418A patent/KR100314387B1/ko not_active Expired - Fee Related
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 |