DE102021132493A1 - Integritätsprüfungen auf variablenebene für die kommunikation in prozesssteuerungsumgebungen - Google Patents

Integritätsprüfungen auf variablenebene für die kommunikation in prozesssteuerungsumgebungen Download PDF

Info

Publication number
DE102021132493A1
DE102021132493A1 DE102021132493.9A DE102021132493A DE102021132493A1 DE 102021132493 A1 DE102021132493 A1 DE 102021132493A1 DE 102021132493 A DE102021132493 A DE 102021132493A DE 102021132493 A1 DE102021132493 A1 DE 102021132493A1
Authority
DE
Germany
Prior art keywords
data integrity
message
variable
integrity check
value
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.)
Pending
Application number
DE102021132493.9A
Other languages
English (en)
Inventor
Mark J. Nixon
Gary K. Law
Andrew E. Cutchin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE102021132493A1 publication Critical patent/DE102021132493A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41875Total 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 quality surveillance of production
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total 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 protocol, e.g. MAP, TOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31244Safety, reconnect network automatically if broken
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32368Quality control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33234Detect bad data transfer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33236Add check data to message to check faulty communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33243Detect quality of received data, message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

Die beschriebenen Verfahren und Systeme ermöglichen es Prozesssteuergeräten, Gerätevariablenwerte auf eine Weise zu übertragen und zu empfangen, die es dem empfangenden Gerät ermöglicht, die Integrität der empfangenen Werte auf einer Variablefür-Variable-Basis zu überprüfen. Jede gewünschte Anzahl von Variablen in einer Nachricht kann, um die Überprüfung der Integrität zu erleichtern, eine Datenintegritätsprüfung in der Nachricht aufweisen. Für jeden empfangenen Wert, der eine Datenintegritätsprüfung aufweist, kann das empfangende Gerät seine eigene Datenintegritätsprüfung basierend auf dem empfangenen Wert und einem Startwert (der sowohl dem übertragenden als auch dem empfangenden Gerät bekannt ist) berechnen, den es dann mit der empfangenen Datenintegritätsprüfung vergleichen kann, um zu überprüfen, ob der empfangene Wert während der Kommunikation verändert wurde.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf das Überprüfen der Integrität von Kommunikationen in einer Prozesssteuerungsumgebung und insbesondere auf das Überprüfen der Integrität von Variablenwerten (wie sie in Sicherheitssystemen verwendet werden) in solchen Kommunikationen auf einer Variable-für-Variable-Basis, um die Zuverlässigkeit und Vertrauenswürdigkeit der Variablenwerte für Geräte, die die Kommunikationen empfangen, zu verbessern.
  • HINTERGRUND
  • Dezentrale Prozesssteuerungssysteme, z. B. dezentrale oder skalierbare Prozesssteuerungssysteme wie jene, die bei Energieerzeugungs-, Chemie-, Erdöl- oder anderen Prozessen verwendet werden, beinhalten typischerweise eine oder mehrere Prozesssteuerungen, die miteinander über ein Prozesssteuerungsnetzwerk mit mindestens einer Host- oder Bedienerarbeitsstation und über analoge, digitale oder kombinierte analoge/digitale Busse mit einem oder mehreren Instrumentierungs- oder Feldgeräten kommunikativ gekoppelt sind.
  • Die Feldgeräte führen Funktionen innerhalb des Prozesses oder der Anlage aus, z. B. Öffnen oder Schließen von Ventilen, Ein- und Ausschalten von Geräten und Messen von Prozessparametern. Beispielhafte Feldgeräte beinhalten Ventile, Ventilstellungsregler, Switches und Messwertgeber (z. B. Geräte, die Sensoren zum Messen von Temperatur, Druck oder Durchflussrate beinhalten, und Messwertgeber zum Übertragen der erfassten Temperaturen, Drücke und Durchflussraten).
  • Die Prozesssteuerungen, die sich typischerweise in der Anlagenumgebung befinden, empfangen Signale, die für die von den Feldgeräten durchgeführten Prozessmessungen (oder andere die Feldgeräte betreffende Informationen) kennzeichnend sind, und führen eine Steuerungsanwendung aus, in der zum Beispiel verschiedene Steuermodule laufen, die Entscheidungen zur Prozesssteuerung treffen, auf der Grundlage der empfangenen Informationen Steuersignale erzeugen und sich mit den Steuermodulen oder Blöcken koordinieren, die in den intelligenten Feldgeräten implementiert werden (z. B. HART®-, WirelessHART®- und FOUNDATION®-Fieldbus-Feldgeräte).
  • Die Ausführung der Steuermodule bewirkt, dass die Prozesssteuerungen die Steuersignale über die Kommunikationsverbindungen oder Signalwege zu den Feldgeräten senden, um dadurch den Betrieb mindestens eines Abschnitts der Prozessanlage oder des Systems zu steuern (z. B. um mindestens einen Abschnitt eines oder mehrerer industrieller Prozesse zu steuern, die innerhalb der Anlage oder des Systems laufen oder ausgeführt werden). Zum Beispiel kann ein erster Satz von Steuerung(en) und Feldgeräten einen ersten Abschnitt eines Prozesses steuern, der von der Prozessanlage oder dem System gesteuert wird, und ein zweiter Satz von Steuerung(en) und Feldgeräten kann einen zweiten Abschnitt des Prozesses steuern.
  • Eingangs-/Ausgangs-Karten (E/A-Karten) (manchmal als „E/A-Geräte“ oder „E/A-Module“ bezeichnet), die sich typischerweise ebenfalls innerhalb der Anlagenumgebung befinden, sind typischerweise kommunikativ zwischen einer Steuerung und einem oder mehreren Feldgeräten angeordnet, wodurch sie die Kommunikation dazwischen ermöglichen (z. B. durch Umwandlung elektrischer Signale in digitale Werte und umgekehrt). Typischerweise fungiert eine E/A-Karte als Zwischenknoten zwischen einer Prozesssteuerung und einem oder mehreren Ein- oder Ausgängen von Feldgeräten, die für dasselbe Kommunikationsprotokoll oder dieselben Kommunikationsprotokolle, wie die von der E/A-Karte verwendeten, konfiguriert sind. Insbesondere sind Ein- und Ausgänge von Feldgeräten typischerweise entweder für analoge oder diskrete Kommunikation konfiguriert. Um mit einem Feldgerät zu kommunizieren, benötigt eine Steuerung im Allgemeinen eine E/A-Karte, die für dieselbe Art von Ein- oder Ausgang konfiguriert ist, der vom Feldgerät verwendet wird. Das heißt, für ein Feldgerät, das zum Empfangen von analogen Steuerausgangssignalen (z. B. einem 4-20-mA-Signal) konfiguriert ist, benötigt die Steuerung eine E/A-Karte mit analogem Ausgang (analog output - AO), um das entsprechende analoge Steuerausgangssignal zu übertragen, und für ein Feldgerät, das dazu konfiguriert ist, Messungen oder andere Informationen über ein analoges Signal zu übertragen, benötigt die Steuerung typischerweise eine analoge Eingangskarte (analog input [analoger Eingang] - AI), um die übertragenen Informationen zu empfangen. Auf ähnliche Weise benötigt die Steuerung für ein Feldgerät, das konfiguriert ist, um diskrete Steuerausgangssignale zu empfangen, eine E/A-Karte mit diskretem Ausgang (discrete output -DO), um das geeignete diskrete Steuerausgangssignal zu übertragen, und für ein Feldgerät, das konfiguriert ist, um Informationen über ein diskretes Steuereingangssignal zu übertragen, benötigt die Steuerung eine diskrete Eingangs-E/A-Karte (discrete input [diskreter Eingang] - DI). Ferner sind einige E/A-Karten für Widerstandsthermometer (resistance temperature detectors - RTD) (bei denen sich der Widerstand eines Kabels mit der Temperatur ändert) oder Thermoelemente (thermocouples - TC) (die eine zu einer Temperatur proportionale Spannung erzeugen) konfiguriert. Im Allgemeinen kann jede E/A-Karte mit mehreren Ein- oder Ausgängen von Feldgeräten verbunden werden, wobei jede Kommunikationsverbindung zu einem bestimmten Eingang oder Ausgang als „ein E/A-Kanal“ (oder allgemeiner als „Kanal“) bezeichnet wird. Beispielsweise kann eine 120-Kanal-DO-E/A-Karte über 120 verschiedene DO-E/A-Kanäle kommunikativ mit 120 verschiedenen diskreten Feldgeräteeingängen verbunden sein, wodurch die Steuerung (über die DO-E/A-Karte) diskrete Steuerausgangssignale an die 120 verschiedenen diskreten Feldgeräteeingänge senden kann.
  • Dabei werden, wie hierin genutzt, Feldgeräte, Steuerungen und E/A-Geräte allgemein als „Prozesssteuergeräte“ bezeichnet und sind im Allgemeinen in einer Feldumgebung eines Prozesssteuerungssystems oder einer Anlage platziert, angeordnet oder installiert. Das Netzwerk, das von einer oder mehreren Steuerungen, den Feldgeräten, die kommunikativ mit der einen oder den mehreren Steuerungen verbunden sind, und den Zwischenknoten gebildet wird, die die Kommunikation zwischen den Steuerungen und Feldgeräten ermöglichen, kann als ein „E/A-Netzwerk“ oder „E/A-Subsystem“ bezeichnet werden.
  • Informationen von dem/den E/A-Netzwerk(en) können über eine Datenautobahn oder ein Kommunikationsnetzwerk (das „Prozesssteuerungsnetzwerk“) einem oder mehreren anderen Hardwaregeräten, z. B. Bedienerarbeitsstationen, Personal Computern oder Rechengeräten, tragbaren Geräten, Datenhistorikern, Berichtsgeneratoren, zentralisierten Datenbanken oder anderen zentralisierten administrativen Rechengeräten, die typischerweise in Leitstellen oder an anderen Standorten außerhalb der raueren Feldumgebung der Anlage, z. B. in einer Back-End-Umgebung der Prozessanlage, aufgestellt sind, zur Verfügung gestellt werden.
  • Die über das Prozesssteuerungsnetzwerk kommunizierten Informationen ermöglichen es einem Bediener oder einer Wartungsperson, die gewünschten Funktionen in Bezug auf den Prozess über ein oder mehrere an das Netzwerk angeschlossene Hardwaregeräte auszuführen. Auf diesen Hardwaregeräten können Anwendungen laufen, die es einem Bediener ermöglichen, z. B. Einstellungen der Prozesssteuerroutine(n) zu ändern, den Betrieb der Steuermodule innerhalb der Prozesssteuerungen oder der intelligenten Feldgeräte zu modifizieren, den aktuellen Status des Prozesses oder den Status bestimmter Geräte innerhalb der Prozessanlage anzuzeigen, Alarme anzuzeigen, die von Feldgeräten und Prozesssteuerungen erzeugt wurden, den Betrieb des Prozesses zu simulieren, um Personal zu schulen oder die Prozesssteuerungssoftware zu testen, Probleme oder Hardwarefehler innerhalb der Prozessanlage zu diagnostizieren usw. Das von den Hardwaregeräten, Steuerungen und Feldgeräten genutzte Prozesssteuerungsnetzwerk oder die Datenautobahn kann einen drahtbegrenzten Kommunikationsweg, einen drahtlosen Kommunikationsweg oder eine Kombination aus drahtbegrenzten und drahtlosen Kommunikationswegen beinhalten.
  • Darüber hinaus wird in vielen Prozessen ein Sicherheitssystem (manchmal ebenso als ein „sicherheitsinstrumentiertes System“ oder „SIS“ bezeichnet) bereitgestellt, um signifikante sicherheitsbezogene Probleme innerhalb der Prozessanlage zu erkennen und automatisch Ventile zu schließen, die Stromversorgung von Geräten zu unterbrechen, Flüsse innerhalb der Prozessanlage umzuschalten usw., wenn ein Problem auftritt, das zu einer ernsthaften Gefahr in der Anlage führen kann, z. B. das Verschütten giftiger Chemikalien, eine Explosion usw. Was ein Sicherheitssystem oder SIS tun soll (die funktionalen Anforderungen) und wie gut es funktionieren muss (die Anforderungen an die Sicherheitsintegrität) können aus Gefahren- und Betriebsfähigkeitsstudien (HAZOP), Layer of Protection Analysis (LOPA), Risikographen usw. bestimmt werden. Beispieltechniken werden in IEC 61511 und IEC 61508 erwähnt. Während des Entwurfs, der Konstruktion, der Installation und des Betriebs von Sicherheitssystemen oder SIS überprüft das Sicherheitspersonal typischerweise, dass diese Anforderungen erfüllt werden. Die funktionalen Anforderungen können durch Entwurfsüberprüfung verifiziert werden, z. B. Fehlermodi, Auswirkungen und Kritikalitätsanalyse (FMECA) und verschiedene Arten von Tests (z. B. Beispielfabrikabnahmetests, Standortabnahmetests und regelmäßige Funktionstests).
  • Im Allgemeinen ist ein Sicherheitssystem oder SIS derart konstruiert, dass es „spezifische Steuerfunktionen“ ausführt, um eine Ausfallsicherheit zu gewährleisten oder den sicheren Betrieb eines Prozesses aufrechtzuerhalten, wenn inakzeptable oder gefährliche Bedingungen auftreten. Typischerweise ist ein Sicherheitssystem relativ unabhängig von anderen Steuerungssystemen, um sicherzustellen, dass die Funktionalität des Sicherheitssystems nicht beeinträchtigt wird. Ein Sicherheitssystem besteht typischerweise aus denselben Arten von Steuerelementen (einschließlich Sensoren, Logiklösern oder Steuerungen, Aktoren und anderer Steuerungsausrüstung) wie ein grundlegendes Steuerungssystem (BPCS). Bei herkömmlichen Implementierungen sind die Steuerelemente in einem Sicherheitssystem jedoch ausschließlich dem ordnungsgemäßen Funktionieren des Sicherheitssystems gewidmet (z. B. eher als der ordnungsgemäßen Steuerung des durch das Steuersystem gesteuerten Prozesses).
  • Im Allgemeinen ist eine „sicherheitsinstrumentierte Funktion“ oder „SIF“ eine bestimmte Ausrüstung in einem Sicherheitssystem, die das einer bestimmten Gefahr zugeordnete Risiko reduzieren soll, und kann als Sicherheitssystemregelkreis oder „Sicherheitskreis“ betrachtet oder bezeichnet werden. Eine SIF soll (1) einen industriellen Prozess automatisch in einen sicheren Zustand bringen, wenn bestimmte Bedingungen verletzt werden; (2) einem Prozess erlauben, auf sichere Weise voranzuschreiten, wenn bestimmte Bedingungen dies zulassen (permissive Funktionen); oder (3) Maßnahmen ergreifen, um die Folgen einer industriellen Gefahr zu mindern. Eine SIF wird typischerweise als Teil einer Gesamtstrategie zur Risikoreduktion implementiert, die die Wahrscheinlichkeit eines zuvor identifizierten Sicherheits-, Gesundheits- und Umweltereignisses (Safety, Health and Environmental - SH&E) beseitigen soll, das von geringfügigen Ausrüstungsschäden bis hin zu einem Ereignis, das eine unkontrollierte katastrophale Freisetzung von Energie und/oder Materialien einschließt, reichen kann.
  • Typischerweise wird jeder SIF oder jedem Sicherheitskreis ein bestimmtes Schutzniveau zugewiesen, das durch das „Sicherheitsintegritätsniveau“ oder „safety integrity level - SIL“ (1, 2, 3 oder 4) definiert wird, wobei eine der in IEC 61508/61511 als „Risikograph“, „Risikomatrix“ oder LOPA definierten Methodologien verwendet wird. Die Zuweisung von SIL ist eine Übung der Risikoanalyse, bei der das einer bestimmten Gefahr zugeordnete Risiko, gegen das eine SIF geschützt werden soll, ohne die vorteilhafte risikoreduzierende Wirkung der SIF berechnet wird. Dieses uneingeschränkte Risiko wird dann mit einem tolerierbaren Risikoziel verglichen. Die Differenz zwischen dem ungeminderten Risiko und dem tolerierbaren Risiko, wenn das ungeminderte Risiko höher als tolerierbar ist, muss durch eine Risikoreduktion der SIF ausgeglichen werden. Dieser Betrag der erforderlichen Risikoreduktion korreliert mit dem SIL-Ziel. Im Wesentlichen korreliert jede erforderliche Größenordnung der Risikoreduktion mit einer Erhöhung einer der erforderlichen SIL-Zahlen. In einem typischen Beispiel repräsentiert SIL-1 eine Risikoreduktion von bis zu 100x; SIL-2 repräsentiert eine Risikoreduktion von bis zu 1000x; SIL-3 repräsentiert eine Risikoreduktion von bis zu 10.000x; und SIL-4 repräsentiert eine Risikoreduktion von bis zu 100.000x.
  • Die Norm IEC 61508 der Internationalen Elektrotechnischen Kommission (International Electrotechnical Commission - IEC) definiert SIL unter Verwendung von Anforderungen, die in zwei große Kategorien gruppiert sind: Hardware-Sicherheitsintegrität und systematische Sicherheitsintegrität. Ein Gerät oder System sollte im Allgemeinen die Anforderungen für beide Kategorien erfüllen, um ein bestimmtes SIL zu erreichen. Die SIL-Anforderungen für die Hardware-Sicherheitsintegrität basieren auf einer probabilistischen Analyse des Geräts. Zum Erreichen eines bestimmten SIL erfüllt das Gerät typischerweise die Ziele für die maximale Wahrscheinlichkeit eines gefährlichen Ausfalls und einen minimalen Anteil an sicheren Ausfällen. Typischerweise wird das Konzept des „gefährlichen Ausfalls“ für das jeweilige System definiert, normalerweise in der Form von Anforderungsbeschränkungen, deren Integrität während der gesamten Systementwicklung überprüft wird. Die tatsächlich erforderlichen Ziele variieren in Abhängigkeit von der Wahrscheinlichkeit eines Bedarfs, der Komplexität des Geräts/der Geräte und der verwendeten Redundanzarten.
  • In Bezug auf die Kommunikation geben die IEC61508-Standards an, dass die Sicherheitskommunikation 1 % der zulässigen Wahrscheinlichkeit eines gefährlichen Ausfalls pro Stunde für das gewünschte SIL nicht überschreiten sollte. Die Wahrscheinlichkeit eines gefährlichen Ausfalls aufgrund der Sicherheitskommunikation muss, um für eine Verwendung in SIL-3-Anwendungen akzeptabel zu sein, weniger als 10-9 pro Stunde betragen. Kurz gesagt, die Fähigkeit, die Integrität einer über eine Kommunikation empfangenen gegebenen Information zu überprüfen, kann einen großen Einfluss darauf haben, ob sich ein Sicherheitssystem auf die Information auf eine Weise verlassen kann, die mit typischen Sicherheitsstandards übereinstimmt. Anders gesagt, ohne die Fähigkeit, die Integrität einer Information zu überprüfen, kann die erwartete Fehlerrate, die der Kommunikation zugeordnet ist, akzeptable Schwellenwerte überschreiten, was die Informationen für das Sicherheitssystem unbrauchbar macht.
  • Wie bereits erwähnt, weisen Sicherheitssysteme typischerweise einen oder mehrere separate Logiklöser oder Steuerungen (manchmal als „Sicherheitssteuerungen“ bezeichnet) auf, abgesehen von den Prozesssteuerungssteuerungen, die über separate Busse oder Kommunikationsleitungen, die innerhalb der Prozessanlage angeordnet sind, mit Sicherheitsfeldgeräten verbunden sind. Die Sicherheitssteuerungen verwenden die Sicherheitsfeldgeräte zur Erfassung von Prozesszuständen, die signifikanten Ereignissen zugeordnet sind, z. B. die Stellung bestimmter Sicherheitsschalter oder Abschaltventile, Über- oder Unterläufe im Prozess, dem Betrieb wichtiger Leistungserzeugungs- oder Steuergeräte, dem Betrieb von Fehlererfassungsvorrichtungen usw., um dadurch „Ereignisse“ innerhalb der Prozessanlage zu erfassen. Wenn ein Ereignis erfasst wird, ergreift die Sicherheitssteuerung einige Maßnahmen, um die schädlichen Auswirkungen des Ereignisses zu begrenzen, z. B. Übertragen eines Befehls, ein oder mehrere Ventile zu schließen, ein oder mehrere Geräte zu deaktivieren oder abzuschalten, Strom von Bereichen der Anlage abzuschalten usw.
  • Zu beachten ist, dass diese Beschreibung des Hintergrunds einen Kontext bereitstellt, um das Verständnis und die Wertschätzung der folgenden detaillierten Beschreibung zu erleichtern. Arbeiten der hier genannten Erfinder werden in dem in diesem Hintergrundabschnitt beschriebenen Umfang (sowie Aspekte der Hintergrundbeschreibung, die zum Zeitpunkt der Einreichung möglicherweise nicht als Stand der Technik gelten) weder ausdrücklich noch stillschweigend als Stand der Technik in Bezug auf die vorliegende Offenbarung zugelassen.
  • KURZDARSTELLUNG
  • Die beschriebenen Verfahren und Systeme ermöglichen es Prozesssteuergeräten, Gerätevariablenwerte auf eine Weise zu übertragen und zu empfangen, die es dem empfangenden Gerät ermöglicht, die Integrität der empfangenen Werte auf einer Variable-für-Variable-Basis zu überprüfen.
  • In einer Ausführungsform beinhaltet ein Verfahren zum Übertragen von Nachrichten, die Werte für Gerätevariablen beinhalten, das Übertragen der Nachrichten, sodass die Integrität der Werte auf einer Variable-für-Variable-Basis überprüft werden kann. Das Verfahren kann eines oder mehrere von Folgendem umfassen: Erfassen durch eine erste Prozesssteuerungsvorrichtung in einer Prozesssteuerungsumgebung zum Steuern eines Prozesses eines erfassten Werts für eine Gerätvariable; Berechnen durch das Prozesssteuergerät einer ersten Datenintegritätsprüfung mittels Durchführen einer Datenintegritätsberechnung unter Verwendung des erfassten Werts und eines Startwerts als Eingaben; Codieren einer Nachricht, um den erfassten Wert und die erste Datenintegritätsprüfung für den erfassten Wert zu beinhalten; oder Übertragen der Nachricht. Das Übertragen der Nachricht kann das Übertragen der Nachricht umfassen, sodass sie von einem zweiten Prozesssteuergerät empfangen werden kann, das für Folgendes konfiguriert ist: (i) Empfangen der Nachricht, (ii) Berechnen einer zweiten Datenintegritätsprüfung für einen Kandidatenwert in der Nachricht für die Gerätevariable; (iii) Aktualisieren oder Nichtaktualisieren an dem zweiten Prozesssteuergerät einer Prozessvariablen, die auf die Gerätevariable mit dem Kandidatenwert abgebildet ist, basierend darauf, ob die erste und die zweite Datenintegritätsprüfung übereinstimmen oder nicht, und (iv) Implementieren einer Funktion als Teil eines Steuerschemas für den Prozess gemäß der Prozessvariablen.
  • In einer Ausführungsform ist ein System konfiguriert, um Nachrichten zu übertragen, die Werte für Prozessvariablen beinhalten, die auf Parameter- oder Variablenebene authentifiziert werden können (z. B. auf einer Variable-für-Variable-Basis). Das System kann ein erstes Prozesssteuergerät umfassen, das konfiguriert ist, um kommunikativ mit einem oder mehreren anderen Prozesssteuergeräten in einem Eingabe/Ausgabe-(E/A)-Netzwerk einer Prozesssteuerungsumgebung zum Steuern eines Prozesses gekoppelt zu werden. Das erste Prozesssteuergerät kann eines oder mehrere von Folgendem umfassen: (A) eine Kommunikationsschnittstelle, die konfiguriert ist, um das Feldgerät mit der einen oder den mehreren Steuerungen zu koppeln; oder (B) einen Satz von Schaltkreisen, die kommunikativ mit der Kommunikationsschnittstelle gekoppelt sind. Der Satz von Schaltkreisen kann für Folgendes konfiguriert sein: Erfassen eines erfassten Wert für eine Gerätevariable; Berechnen einer ersten Datenintegritätsprüfung durch Durchführen einer Datenintegritätsberechnung unter Verwendung des erfassten Werts und eines Startwerts als Eingaben; Codieren einer Nachricht, um den erfassten Wert und die erste Datenintegritätsprüfung für den erfassten Wert zu beinhalten; oder Übertragen über die Kommunikationsschnittstelle der Nachricht an ein zweites Prozesssteuergerät. Das zweite Prozesssteuergerät kann konfiguriert sein, um eines oder mehrere der Folgenden auszuführen: (i) Empfangen der Nachricht, (ii) Berechnen einer zweiten Datenintegritätsprüfung für einen Kandidatenwert in der Nachricht für die Gerätevariable; (iii) Aktualisieren oder Nichtaktualisieren an dem zweiten Prozesssteuergerät einer Prozessvariablen, die auf die Gerätevariable mit dem Kandidatenwert abgebildet ist, basierend darauf, ob die erste und die zweite Datenintegritätsprüfung übereinstimmen oder nicht; oder (iv) Implementieren einer Funktion als Teil eines Steuerschemas für den Prozess gemäß der Prozessvariablen.
  • In einer Ausführungsform kann ein Verfahren zum Verifizieren der Integrität von Gerätevariablenwerten, die in einer Nachricht von einem Prozesssteuergerät beinhaltet sind, implementiert werden. Das Verfahren kann eines oder mehrere von Folgendem umfassen: (1) Empfangen einer Nachricht, die von einem ersten Prozesssteuergerät übertragen wird, an einem zweiten Prozesssteuergerät in einer Prozesssteuerungsumgebung zum Steuern eines Prozesses; (2) Decodieren der Nachricht, um innerhalb der Nachricht Folgendes zu identifizieren: (i) einen Kandidatenwert für eine Gerätevariable und (ii) eine erste Datenintegritätsprüfung für die Gerätevariable; (3) Berechnen einer zweiten Datenintegritätsprüfung mittels Durchführen einer zweiten Datenintegritätsberechnung unter Verwendung des Kandidatenwerts und eines Startwerts als Eingaben; (4) Vergleichen der zweiten Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung, um zu bestimmen, ob die zweite Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung übereinstimmt oder nicht, und um dadurch zu bestimmen, ob der Kandidatenwert mit einem erfassten Wert übereinstimmt oder nicht, der zum Berechnen der ersten Datenintegritätsprüfung verwendet wurde; (5) Reagieren auf das Bestimmen, dass die zweite Datenintegritätsprüfung nicht mit der ersten Datenintegritätsprüfung übereinstimmt, durch Verwerfen des Kandidatenwerts, sodass eine auf die Gerätevariable abgebildete Prozessvariable einen vorherigen Wert beibehält; (6) Reagieren auf das Bestimmen, dass die zweite Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung übereinstimmt, durch Aktualisieren der Prozessvariablen mit dem Kandidatenwert an dem zweiten Prozesssteuergerät; oder (7) Implementieren einer Funktion gemäß der Prozessvariablen als Teil eines Steuerungsschemas für den Prozess.
  • In einer Ausführungsform kann ein System zum Verifizieren der Integrität von Gerätevariablenwerten, die in einer Nachricht von einem Prozesssteuergerät beinhaltet sind, implementiert werden. Das System kann ein zweites Prozesssteuergerät umfassen, das konfiguriert ist, um kommunikativ mit einem ersten Prozesssteuergerät in einer Prozesssteuerungsumgebung gekoppelt zu werden. Das zweite Prozesssteuergerät kann eines oder mehrere von Folgendem umfassen: (A) eine Kommunikationsschnittstelle, die konfiguriert ist, um das zweite Prozesssteuergerät kommunikativ mit dem ersten Prozesssteuergerät zu koppeln; oder (B) einen Satz von Schaltkreisen, die kommunikativ mit der Kommunikationsschnittstelle gekoppelt sind. Der Satz von Schaltkreisen kann für Folgendes konfiguriert sein: Empfangen einer Nachricht, die von dem ersten Prozesssteuergerät übertragen wird, über die Kommunikationsschnittstelle, Decodieren der Nachricht, um innerhalb der Nachricht Folgendes zu identifizieren: (i) einen Kandidatenwert für eine Gerätevariable und (ii) eine erste Datenintegritätsprüfung für die Gerätevariable; Berechnen einer zweiten Datenintegritätsprüfung mittels Durchführen einer zweiten Datenintegritätsberechnung unter Verwendung des Kandidatenwerts und eines Startwerts als Eingaben; Vergleichen der zweiten Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung, um zu bestimmen, ob die zweite Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung übereinstimmt oder nicht, und um dadurch zu bestimmen, ob der Kandidatenwert mit einem erfassten Wert übereinstimmt oder nicht, der zum Berechnen der ersten Datenintegritätsprüfung verwendet wurde; Reagieren auf das Bestimmen, dass die zweite Datenintegritätsprüfung nicht mit der ersten Datenintegritätsprüfung übereinstimmt, durch Verwerfen des Kandidatenwerts, sodass eine auf die Gerätevariable abgebildete Prozessvariable einen vorherigen Wert beibehält; Reagieren auf das Bestimmen, dass die zweite Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung übereinstimmt, durch Aktualisieren der Prozessvariablen mit dem Kandidatenwert; oder Implementieren einer Funktion gemäß der Prozessvariablen als Teil eines Steuerungsschemas für den Prozess.
  • Figurenliste
    • 1 ist ein Blockdiagramm einer beispielhaften Prozesssteuerungsanlage, in der die beschriebenen Techniken implementiert werden können.
    • 2 ist ein Blockdiagramm eines beispielhaften Feldgeräts und einer beispielhaften Steuerung, die gemäß den beschriebenen Techniken kommunizieren können.
    • 3 zeigt beispielhafte Schichten eines beispielhaften Protokollstapels, die von den hierin beschriebenen Prozesssteuergeräten genutzt werden können, um Gerätvariablenwerte auf eine Weise zu übertragen und zu empfangen, die es dem empfangenden Gerät ermöglicht, die Integrität der empfangenen Werte auf einer Variable-für-Variable-Basis zu überprüfen.
    • 4 stellt eine beispielhafte Nachrichtennutzlast dar, die einen oder mehrere Variablenwerte oder Kandidatenwerte mit entsprechenden Datenintegritätsprüfungen beinhalten kann, um es einem empfangenden Gerät zu ermöglichen, die Integrität der beinhalteten Werte auf einer Variable-für-Variable-Basis zu überprüfen.
    • 5 stellt eine zusätzliche beispielhafte Nachrichtennutzlast dar, die einen oder mehrere Variablenwerte oder Kandidatenwerte mit entsprechenden Datenintegritätsprüfungen beinhalten kann, um es einem empfangenden Gerät zu ermöglichen, die Integrität der beinhalteten Werte auf einer Variable-für-Variable-Basis zu überprüfen.
    • 6 zeigt ein beispielhaftes Verfahren zum Übertragen von Nachrichten, die Variablenwerte beinhalten, auf eine Weise, die es einem empfangenden Gerät ermöglicht, die Integrität der beinhalteten Werte auf einer Variable-für-Variable-Basis zu überprüfen.
    • 7 zeigt ein beispielhaftes Verfahren 700 zum Empfangen von Nachrichten, die Variablenwerte beinhalten, auf eine Weise, die die Überprüfung der Integrität der empfangenen Werte auf einer Variable-für-Variable-Basis ermöglicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die beschriebenen Verfahren und Systeme ermöglichen es Prozesssteuergeräten, Gerätevariablenwerte auf eine Weise zu übertragen und zu empfangen, die es dem empfangenden Gerät ermöglicht, die Integrität der empfangenen Werte auf einer Variable-für-Variable-Basis zu überprüfen. Jede gewünschte Anzahl von Variablen in einer Nachricht kann, um die Überprüfung der Integrität zu erleichtern, eine Datenintegritätsprüfung in der Nachricht aufweisen. Für jeden empfangenen Wert, der eine Datenintegritätsprüfung aufweist, kann das empfangende Gerät seine eigene Datenintegritätsprüfung basierend auf dem empfangenen Wert und einem Startwert (der sowohl dem übertragenden als auch dem empfangenden Gerät bekannt ist) berechnen. Für jeden Prozessvariablenwert, für den eine Nichtübereinstimmung zwischen den empfangenen und berechneten Datenintegritätsprüfungen besteht, kann das empfangende Gerät annehmen, dass der empfangene Wert nicht mit dem ursprünglich übertragenen Wert übereinstimmt (und kann somit den empfangenen Wert verwerfen). Wenn andererseits die empfangenen und berechneten Datenintegritätsprüfungen für eine bestimmte Gerätevariable übereinstimmen, kann das empfangende Gerät die Integrität des empfangenen Werts überprüfen (d. h. überprüfen, dass er mit dem ursprünglich übertragenen Wert übereinstimmt). Als ein Ergebnis kann das empfangende Gerät sicher auf den empfangenen Wert reagieren (z. B. durch Aktualisieren einer lokalen oder systemweiten Prozessvariablen entsprechend der Gerätevariablen, Implementieren einer Steuerung gemäß dem empfangenen Wert usw.). Im Vergleich dazu, soweit herkömmliche Systeme die Überprüfung der Datenintegrität ermöglichen, tun sie dies typischerweise auf Paket- oder Nachrichtenbasis. In einem solchen System macht eine Änderung beliebiger Daten in der Nachricht die gesamte Nachricht unüberprüfbar. Wenn also ein einzelner Gerätevariablenwert (oder ein beliebiges anderes Datenelement) nach der Übertragung beschädigt wird, müssen die empfangenden Geräte die gesamte Nachricht verwerfen (oder mit Werten fortfahren, deren Integrität nicht überprüft werden kann).
  • Wie hierin verwendet, bezieht sich der Begriff „Nachricht“ auf eine Kommunikationseinheit, die durch einen Datensatz dargestellt wird, der von einem Knoten (z. B. über eine Verbindung) übertragen oder empfangen wird. Der Datensatz, der die Nachricht darstellt, kann Nutzlastdaten (d. h. den zuzustellenden Inhalt) und einen Protokoll-Overhead beinhalten. Der Overhead kann Routing-Informationen und Metadaten beinhalten, die sich auf das Protokoll oder die Nutzlastdaten beziehen (die z. B. das Protokoll für die Nachricht, den beabsichtigten Empfängerknoten, den Ursprungsknoten, die Größe der Nachricht oder der Nutzdaten, Datenintegritätsinformationen zum Prüfen der Integrität der Nachricht usw. angeben). In einigen Fällen kann ein Paket oder eine Folge von Paketen als Nachricht betrachtet werden.
  • Auf jeden Fall werden verschiedene Techniken, Systeme und Verfahren nachstehend unter Bezugnahme auf 1-7 erläutert.
  • I. Beispielhafte Prozesssteuerungsumgebung
  • 1 stellt eine Prozessanlage 10 dar, in der jede/jedes der gezeigten Sicherheitssteuerungen, Prozesssteuerungen und Feldgeräte (falls gewünscht) konfiguriert sein kann, um Nachrichten einschließlich variabler Werte auf eine Weise zu übertragen und zu empfangen, die es einem empfangenden Gerät ermöglicht, die Integrität der empfangene Werte auf einer Variable-für-Variable-Basis zu überprüfen. Diese Verbesserung bei der Überprüfung der Datenintegrität auf einer Variable-für-Variable-Basis kann für Sicherheitssysteme (wie das in 1 gezeigte Sicherheitssystem) besonders vorteilhaft sein, da sie sich auf Kommunikationen verlassen können, die Variablenwerte tragen, die ansonsten für Implementierungen von Sicherheitssystemen zu fehleranfällig wären.
  • Wie hierin verwendet, ist ein „Prozesssteuergerät“ jedes Gerät, das für die Implementierung in der Prozessanlage 10 konfiguriert ist und konfiguriert ist, um Nachrichten, die Prozessvariablen gemäß einem oder mehreren Protokollen, die in der Prozessanlage 10 implementiert sind, tragen, zu übertragen oder zu empfangen, sodass die Nachrichten von einem oder mehreren Geräten in der Prozessanlage 10 empfangen, decodiert und bearbeitet werden.
  • Wie gezeigt, beinhaltet die Prozessanlage 10 ein Prozesssteuerungssystem 12, das in ein Sicherheitssystem 14 integriert ist (durch gepunktete Linien angegeben), das im Allgemeinen als ein sicherheitsinstrumentiertes System (SIS) arbeitet, um die vom Prozesssteuerungssystem 12 bereitgestellte Steuerung zu überwachen und zu überschreiben, um die Wahrscheinlichkeit eines sicheren Betriebs der Prozessanlage 10 zu maximieren.
  • A. Beispielhafte Komponenten eines beispielhaften Prozesssteuerungssystems und eines beispielhaften Sicherheitssystems
  • Auf einer hohen Ebene kann die Anlage 10 eine Feldumgebung, die Prozesssteuergeräte (z. B. Feldgeräte, Steuerungen und E/A-Geräte) beinhaltet, die typischerweise in einem Bereich befindlich, angeordnet oder installiert sind, in dem der gesteuerte Prozess gemessen und gesteuert wird (z. B. die Komponenten in den in 1 gezeigten Knoten 18 und 20) und eine Back-End-Umgebung beinhalten, die Komponenten beinhalten kann, die von der Feldumgebung isoliert oder von dieser entfernt sind (z. B. in Büroumgebungen, entfernten Umgebungen usw.), z. B. die Komponenten 21 und 16, die in 1 gezeigt sind.
  • Genauer gesagt beinhaltet die Prozessanlage 10 ebenso eine oder mehrere Host-Arbeitsstationen, Computer oder Benutzerschnittstellen 16 (die jede Art von Personalcomputern, Arbeitsstationen usw. sein können), auf die das Anlagenpersonal, z. B. Prozesssteuerungsbediener, Wartungspersonal, Konfigurationsingenieure usw., zugreifen kann. In dem in 1 veranschaulichten Beispiel sind drei Benutzerschnittstellen 16 als mit zwei getrennten Prozesssteuerungs-/Sicherheitssteuerungsknoten 18 und 20 und mit einer Konfigurationsdatenbank 21 über eine gemeinsame Kommunikationsleitung oder einen gemeinsamen Bus 22 verbunden gezeigt. Das Kommunikationsnetzwerk 22 kann unter Verwendung einer beliebigen gewünschten Bus-basierten oder nicht Bus-basierten Hardware unter Verwendung einer beliebigen fest verdrahteten oder drahtlosen Kommunikationsstruktur und unter Verwendung eines beliebigen oder geeigneten Kommunikationsprotokolls, z. B. eines Ethernet-Protokolls, implementiert werden.
  • Im Allgemeinen, wie hierin verwendet und sofern nicht anders angegeben, bezieht sich der Begriff „Netzwerk“ auf eine Sammlung von Knoten (z. B. Geräte oder Systeme, die Informationen senden, empfangen oder weiterleiten können) und Verbindungen, die verbunden sind, um die Telekommunikation zwischen den Knoten zu ermöglichen. In Abhängigkeit von der Ausführungsform (und sofern nicht anders angegeben) kann jedes der beschriebenen Netzwerke dedizierte Router, Switches oder Hubs, die für die Weiterleitung von Leitdatenverkehr zwischen Knoten verantwortlich sind, und optional dedizierte Geräte, die für das Konfigurieren und Verwalten des Netzwerks verantwortlich sind, beinhalten. Einige oder alle Knoten in den beschriebenen Netzwerken können ebenso derart angepasst sein, dass sie als Router fungieren, um den zwischen anderen Netzwerkgeräten gesendeten Datenverkehr zu leiten. Knoten der beschriebenen Netzwerke können drahtgebunden oder drahtlos miteinander verbunden sein, und sie können unterschiedliche Routing- und Transferfunktionen aufweisen.
  • Im Allgemeinen beinhaltet jeder der Knoten 18 und 20 der Prozessanlage 10 sowohl Prozesssteuerungssystemgeräte als auch Sicherheitssystemgeräte, die über eine Busstruktur miteinander verbunden sind, die auf einer Rückwandplatine bereitgestellt sein kann, in die die verschiedenen Geräte angebracht sind. Der Knoten 18 ist in 1 derart dargestellt, dass er eine Prozesssteuerung 24 (die ein redundantes Steuerungspaar sein kann) sowie eine oder mehrere Eingangs/Ausgangs-(E/A)-Geräte 28, 30 und 32 des Prozesssteuerungssystems beinhaltet, während der Knoten 20 derart dargestellt ist, dass er eine Prozesssteuerung 26 (die ein redundantes Steuerungspaar sein kann) sowie ein oder mehrere Eingangs/Ausgangs-(E/A)-Geräte 34 und 36 des Prozesssteuerungssystems beinhaltet. Jedes der E/A-Geräte 28, 30, 32, 34 und 36 des Prozesssteuerungssystems ist kommunikativ mit einem Satz prozesssteuerungsbezogener Feldgeräte verbunden, die in 1 als Feldgeräte 40 und 42 dargestellt sind. Die Prozesssteuerungen 24 und 26, die I/O-Geräte 28-36 und die Steuerungsfeldgeräte 40 und 42 bilden im Allgemeinen das Prozesssteuerungssystem 12 von 1.
  • Eines oder mehrere der Feldgeräte 40, 42, 60 und 62 können Aktoren für ein Gerät, z. B. ein Ventil, sein und können auf Befehle reagieren, die von der Steuerung empfangen werden, mit der es gekoppelt ist (z. B. konfiguriert, um ein Ventil zu betätigen, um das Ventil als Reaktion auf Befehle von einer Steuerung zu öffnen oder zu schließen). Ebenso können eines oder mehrere der Feldgeräte 40, 42, 60 und 62 Sender sein, die konfiguriert sind, um eine Messung (z. B. Durchfluss, Temperatur, Druck usw.) über einen Sensor zu erfassen und die Messungen an eine Steuerung zu übertragen. Eines oder mehrere der Feldgeräte können „intelligente“ Feldgeräte sein, die konfiguriert sind, um einen oder mehrere „sekundäre“ Variablenwerte zu übertragen, die sich von einer primären Prozessvariablen unterscheiden, zu deren Ansteuern oder Messen das Feldgerät konfiguriert ist. Beispielsweise kann in einer HART-Implementierung die primäre Variable vom Feldgerät über ein 4-20-mA-Signal übertragen oder empfangen werden, und die eine oder die mehreren sekundären Variablen können über ein digitales Signal übertragen oder empfangen werden, das dem 4-20-mA-Signal überlagert ist.
  • Im Allgemeinen ist eine „Feldgerätevariable“ eine feldgeräteinterne Variable, die das Feldgerät zu erfassen (z. B. über eine Sensormessung oder über eine Berechnung) oder einzustellen (z. B. als Reaktion auf eine von einer Steuerung empfangene Nachricht) konfiguriert ist. In einer typischen Implementierung beinhaltet das relevante Prozesssteuerungssystem oder Sicherheitssystem, von dem die Feldgerätevariable ein Teil ist, eine oder mehrere Prozessvariablen, die auf die Feldgerätevariablen abgebildet sind (z. B. über das Konfigurationssystem 80). Allgemeiner gesagt, wenn eine „Gerätevariable“ in Bezug auf ein bestimmtes Gerät erläutert wird, bezieht sich dies im Allgemeinen auf eine Variable, die von dem bestimmten Gerät erfasst, berechnet, eingestellt, aktualisiert usw. wird.
  • Der Knoten 18 beinhaltet einen oder mehrere Sicherheitssystemlogiklöser 50, 52, während der Knoten 20 die Sicherheitssystemlogiklöser 54 und 56 beinhaltet. Jeder der Logiklöser 50-56 ist ein E/A-Gerät mit einem Prozessor 57, der Sicherheitslogikmodule 58 ausführt, die in einem Speicher gespeichert sind, und er ist kommunikativ verbunden, um Steuersignale an die Sicherheitssystemfeldgeräte 60 und 62 bereitzustellen und/oder Signale von ihnen zu empfangen.
  • Im Allgemeinen bezieht sich der Ausdruck „Speicher“ oder „Speichergerät“, wie hierin verwendet, auf ein System oder Gerät, das computerlesbare Medien oder ein Medium („CRM“) beinhaltet. „CRM“ bezieht sich auf ein Medium oder Medien, auf die das betreffende Computersystem zugreifen kann, um Informationen zu platzieren, zu behalten oder abzurufen (z. B. Daten, computerlesbare Anweisungen, Programmmodule, Anwendungen, Routinen usw.). Man beachte, dass sich „CRM“ auf Medien bezieht, die nichtflüchtiger Art sind, und sich nicht auf körperlose transitorische Signale wie Funkwellen bezieht. Das CRM der beschriebenen Speicher kann in jeder Technologie, jedem Gerät oder jeder Gruppe von Geräten implementiert werden, die in dem relevanten Computersystem beinhaltet sind oder mit dem relevanten Computersystem in Kommunikation stehen. Das CRM der beschriebenen Speicher kann flüchtige oder nichtflüchtige Medien und Wechselmedien oder nichtentfernbare Medien beinhalten.
  • In jedem Fall beinhaltet jeder der Knoten 18 und 20 wenigstens ein Nachrichtenverbreitungsgerät (MPD) 70 oder 72, die über eine Busverbindung 74 des Ringtyps kommunikativ miteinander gekoppelt sind. Die Sicherheitssystemlogiklöser 50-56, die Sicherheitssystemfeldgeräte 60 und 62, die MPDs 70 und 72 und der Bus 74 bilden im Allgemeinen das Sicherheitssystem 14 der 1.
  • In einigen Ausführungsformen können die Sicherheitssystemfeldgeräte 60 und 62 Feldgeräte sein, die speziell für die Implementierung des Sicherheitssystems und nicht für den typischen Prozesssteuerungsbetrieb gestaltet sind. Andererseits können in einigen Ausführungsformen die Sicherheitssystemfeldgeräte 40 und 60 Feldgeräte sein, die in einem typischen Prozesssteuerungssystem (z. B. dem System 12) implementiert werden können, und sie können beispielsweise gleichzeitig als Feldgeräte sowohl in dem Prozesssteuerungssystem 12 als auch in dem Sicherheitssystem 14 fungieren. In einer solchen Ausführungsform müsste das Feldgerät jedoch wahrscheinlich die erhöhten Standards erfüllen, die typischerweise für die Implementierung in einem Sicherheitssystem erforderlich sind (z. B. in Bezug auf erhöhte Anforderungen an die überprüfbare Integrität von Daten, die von den Geräten übertragen und empfangen werden). Als ein Ergebnis können die hierin offenbarten Techniken für die Überprüfung der Datenintegrität Variable für Variable in einem Sicherheitssystem, z. B. dem Sicherheitssystem 14, besonders nützlich sein.
  • Die Prozesssteuerungen 24 und 26, bei denen es sich beispielsweise nur um von Emerson Process Management vertriebene DeltaV™-Steuerungen oder einen anderen gewünschten Typ von Prozesssteuerungen handeln kann, sind derart programmiert, dass sie Prozesssteuerungsfunktionen (unter Verwendung dessen, was üblicherweise als Steuermodule bezeichnet wird) unter Verwendung der E/A-Geräte 28, 30 und 32 (für die Steuerung 24), der E/A-Geräte 34 und 36 (für die Steuerung 26) und der Feldgeräte 40 und 42 bereitstellen. Insbesondere implementiert oder überwacht jede der Steuerungen 24 und 26 eine oder mehrere darin gespeicherte oder anderweitig diesen zugeordnete Prozesssteuerungsroutinen und kommuniziert mit den Feldgeräten 40 und 42 und den Arbeitsstationen 14, um den Prozess 10 oder einen Abschnitt des Prozesses 10 auf jede gewünschte Weise zu steuern. Die Feldgeräte 40 und 42 können alle gewünschten Typen von Feldgeräten sein, z. B. Sensoren, Ventile, Sender, Stellungsregler usw., und sie können jedem gewünschten offenen, proprietären oder anderen Kommunikations- oder Programmierprotokoll entsprechen, einschließlich beispielsweise des HART®- oder des 4-20-mA-Protokolls (wie für die Feldgeräte 40 veranschaulicht), jedes Feldbusprotokolls wie des FOUNDATION®-Fieldbus-Protokolls (wie für die Feldgeräte 42 veranschaulicht) oder des CAN-, Profibus-, AS-Schnittstellen-Protokolls, um nur einige zu nennen. Auf ähnliche Weise können die E/A-Geräte 28-36 beliebige bekannte Typen von Prozesssteuerungs-E/A-Geräten sein, die (ein) beliebige(s) geeignete(s) Kommunikationsprotokoll/Kommunikationsprotokolle verwenden. Im Allgemeinen implementieren die Prozesssteuerungen die Steuerung des gesteuerten Prozesses durch Implementieren einer Steuerroutine (Teil einer größeren Steuerstrategie zum Steuern eines Prozesses), um einen oder mehrere Steuerungsausgangswerte (d. h. von der Steuerung übertragene Befehle) zu bestimmen, um einen oder mehrere Prozesseingaben anzutreiben (d. h. manipulierte Variablen, z. B. eine Steuerventilposition, die auf die Steuerungsbefehle reagieren), um eine Prozessausgabe (d. h. eine gesteuerte Variable z. B. eine Temperatur, Durchflussrate usw.) auf einen gewünschten Wert (d. h. ein Sollwert) basierend auf einer oder mehreren gemessenen Prozesseingaben (z. B. gemessenen Temperaturen, Flüssen, Drücken usw.) zu bringen, die an der Steuerung als Steuerungseingaben empfangen werden.
  • Die Sicherheitslogiklöser 50-56 von 1 können jeder gewünschte Typ von Sicherheitssystemsteuergeräten sein, die einen Prozessor 57 und einen Speicher beinhalten, der Sicherheitslogikmodule oder -routinen 58 speichert, die zur Ausführung auf dem Prozessor 57 angepasst sind, um Steuerfunktionen bereitzustellen, die dem Sicherheitssystem 14 unter Verwendung der Feldgeräte 60 und 62 zugeordnet sind. Die von den Logiklösern implementierte Logik zur Implementierung einer sicheren Steuerung des gesteuerten Prozesses kann als „Sicherheitsschema“ oder „Sicherheitssystemschema“ bezeichnet werden. Das Sicherheitsschema kann einschließen, einem oder mehreren der Feldgeräte 40, 42, 60 oder 62 zu befehlen, in einen sicheren Zustand überzugehen (z. B. durch Betätigen eines zugeordneten Ventils, um es in einen sicheren Zustand zu bringen) basierend auf einer oder mehreren unsicheren Bedingungen, die basierend auf einer Bewertung eines oder mehrerer Prozessvariablenwerte (z. B. Sensormessungen, Diagnoseindizes usw.) und der Logik des Sicherheitsschemas erfasst werden. Die Art eines sicheren Zustands hängt im Allgemeinen von der jeweiligen Art des jeweiligen Prozesses und Feldgeräts ab. Wenn beispielsweise ein Tank überzulaufen droht, kann ein Logiklöser ein Einlassventil durch Schließen des Ventils in einen sicheren Zustand bringen (wodurch verhindert wird, dass mehr Flüssigkeit in den Tank gelangt). Im Gegensatz dazu kann der Logiklöser ein Auslassventil durch Öffnen des Auslassventils in einen sicheren Zustand bringen (wodurch der Tank entleert wird). Mit anderen Worten kann in diesem bestimmten Beispiel der sichere Zustand für das Einlassventil 0 % offen sein und der sichere Zustand für das Auslassventil kann 100 % offen sein.
  • Natürlich können die Sicherheitsfeldgeräte 60 und 62 jeder gewünschte Typ von Feldgeräten sein, die einem bekannten oder gewünschten Kommunikationsprotokoll entsprechen oder dieses verwenden, z. B. jene vorstehend genannten. Insbesondere können die Feldgeräte 60 und 62 sicherheitsrelevante Feldgeräte des Typs sein, die herkömmlicherweise durch ein separates, dediziertes sicherheitsrelevantes Steuerungssystem gesteuert werden. In der in 1 veranschaulichten Prozessanlage 10 sind die Sicherheitsfeldgeräte 60 derart dargestellt, dass sie ein dediziertes oder Punkt-zu-Punkt-Kommunikationsprotokoll verwenden, z. B. das HART- oder das 4-20-mA-Protokoll, während die Sicherheitsfeldgeräte 62 derart dargestellt sind, dass sie ein Buskommunikationsprotokoll verwenden, z. B. ein Feldbusprotokoll. Wie jedoch angemerkt, können die Sicherheitsfeldgeräte 60 und 62 in einer Ausführungsform typische Feldgeräte sein, die sowohl im Prozesssteuerungssystem 12 als auch im Sicherheitssystem 14 eingesetzt und verwendet werden können.
  • In jedem der Knoten 18 und 20 wird eine gemeinsame Rückwandplatine 76 (angezeigt durch eine gepunktete Linie durch die Steuerung 24, 26, die E/A-Geräte 28-36, die Sicherheitslogiklöser 50-56 und die MPDs 70 und 72) verwendet, um die Steuerung 24 und 26 mit den Prozesssteuerungs-E/A-Karten 28, 30 und 32 oder 34 und 36 sowie mit den Sicherheitslogiklösern 52 und 54 oder 56 und 58 und mit den MPDs 70 oder 72 zu verbinden. Die Steuerungen 24 und 26 sind ebenso kommunikativ mit dem Bus 22 verbunden und arbeiten als Bus-Arbiter für diesen, um jedem der E/A-Geräte 28-36, den Logiklösern 52-56 und den MPDs 70 und 72 die Kommunikation mit jeder der Arbeitsstationen 16 über den Bus 22 zu ermöglichen.
  • Wie zu verstehen ist, beinhaltet jede der Arbeitsstationen 16 einen Prozessor 77 und einen Speicher 78, der eine oder mehrere Konfigurations- und/oder Anzeigeanwendungen speichert, die zur Ausführung auf dem Prozessor 78 angepasst sind.
  • Eine Konfigurationsanwendung 80 und eine Anzeigeanwendung 82 sind in einer Explosionsansicht in 1 als in einer der Arbeitsstationen 14 gespeichert veranschaulicht. Falls gewünscht, könnten diese Anwendungen jedoch auf verschiedenen Arbeitsstationen 14 oder auf anderen Computern gespeichert und ausgeführt werden, die der Prozessanlage 10 zugeordnet sind. Im Allgemeinen stellt die Konfigurationsanwendung 80 einem Konfigurationsingenieur Konfigurationsinformationen bereit und ermöglicht es dem Konfigurationsingenieur, einige oder alle Elemente der Prozessanlage 10 zu konfigurieren und diese Konfiguration in der Konfigurationsdatenbank 21 zu speichern. Als Teil der Konfigurationsaktivitäten, die von der Konfigurationsanwendung 80 durchgeführt werden, kann der Konfigurationsingenieur Steuerroutinen oder Steuermodule für die Prozesssteuerungen 24 und 26 erstellen, kann Sicherheitslogikmodule für alle Sicherheitslogiklöser 50-56 erstellen und kann diese verschiedenen Steuer- und Sicherheitsmodule auf die entsprechenden der Prozesssteuerungen 24 und 26 und die Sicherheitslogiklöser 50-56 über den Bus 22 und die Steuerungen 24 und 26 herunterladen. Auf ähnliche Weise kann die Konfigurationsanwendung 80 verwendet werden, um andere Programme und Logik zu erstellen und auf die E/A-Geräte 28-36, eines der Feldgeräte 40, 42, 60 und 62 usw. herunterzuladen.
  • Die Konfigurationsanwendung 80 kann eine Konfigurationsdatenbank beinhalten oder auf andere Weise darauf Zugriff haben, die Daten und andere Informationen speichert, die speziell die verschiedenen Geräte oder Komponenten und ihre Verbindungen identifizieren und/oder ansprechen, die für die Implementierung auf dem Boden der Prozessanlage oder in der Feldumgebung geplant oder gewünscht sind. Die Konfigurationsdatenbank kann als ein Beispiel eine Anzahl von logischen Kennungen von Komponenten in der Feldumgebung speichern, wodurch die Steuerungen und andere Geräte die den Komponenten zugeordneten Komponenten und Signale über die logischen Kennungen referenzieren können. Beispielsweise kann die Konfigurationsdatenbank für ein gegebenes Feldgerät eine Informationsabbildung speichern oder eine logische Kennung an eine bestimmte Hardwareadresse oder einen bestimmten E/A-Kanal binden. Die Hardwareadresse kann eine bestimmte Steuerung, eine bestimmte E/A-Karte, die mit der bestimmten Steuerung verbunden ist, oder eine bestimmte Adresse für den E/A-Kanal identifizieren, der die bestimmte E/A-Karte mit dem Feldgerät verbindet. In einigen Fällen kann diese Abbildung oder Bindung in der Steuerung, dem Benutzeroberflächengerät, der Bedienerarbeitsstation oder einem anderen gewünschten Gerät (z. B. einem Gerät, das die logische Kennung auflösen muss) gespeichert werden.
  • Nachdem eine logische Kennung an eine Hardwareadresse oder einen E/A-Kanal gebunden wurde, wird die Kennung als „zugewiesen“ betrachtet. In einigen Fällen beinhaltet das System 10 „nicht zugewiesene“ logische Kennungen, die Kennungen sind, auf die ein Softwareelement (z. B. eine Steuerroutine oder ein Funktionsblock) verweist, die jedoch keine Bindung aufweisen. Das heißt, eine logische Kennung wird als „nicht zugewiesen“ betrachtet, wenn das System 10 und die Konfigurationsdatenbank keine Hardwareadresse oder keinen E/A-Kanal aufweisen, der an das Tag gebunden wurde. Wenn also eine nicht zugewiesene logische Kennung von einer Steuerroutine referenziert wird, wird kein Wert gelesen, der von einem Signal in der Anlage 10 getragen wird, und es wird kein Befehl über ein Signal an ein Feldgerät in der Anlage 10 übertragen.
  • Beispielhafte logische Kennungen beinhalten Geräte-Tags (Device Tags - DTs), von denen jedes ein bestimmtes Instrument, eine bestimmte Steuerung, ein bestimmtes Ventil oder ein anderes physisches Feldgerät darstellt (z. B. das Feldgerät 60A), und Geräte-Signal-Tags (Device Signal Tags - DSTs), von denen jedes ein bestimmtes Signal darstellt, das von einem bestimmten Gerät empfangen oder erzeugt wird und das typischerweise einem bestimmten Parameter entspricht, der von dem Feldgerät genutzt wird (z. B. ein Befehl, der durch das Feldgerät 60A von der Steuerung 52 empfangen wurde, oder eine Messung, die durch das Feldgerät 60A an die Steuerung 52 übertragen wird). Bei einigen Geräten umfasst ein DST eine Kombination aus dem DT eines Geräts und einer Kennung eines bestimmten Signals, das von diesem Gerät empfangen oder erzeugt wird, z. B. einer Kennung eines bestimmten Parameters, der durch ein Steuermodul referenziert wird. Bei einigen Geräten, typischerweise älteren oder „nicht intelligenten“ Geräten, stellt ein DT sowohl das physische Gerät als auch ein vom Gerät erzeugtes Signal dar. Im Allgemeinen wird die logische Kennung eines Geräts von der Prozessanlage 10 sowohl in der Feldumgebung als auch in der Back-End-Umgebung dazu verwendet, das Gerät eindeutig zu identifizieren. Die DTs und DSTs können als „System-Tags“ oder „Systemkennungen“ bezeichnet werden. Die durch die „System-Tags“ dargestellten Variablen können als „Systemvariablen“ bezeichnet werden.
  • In einigen Fällen können ein oder mehrere intelligente Feldgeräte (z. B. eines oder mehrere der Feldgeräte 40, 42, 60 oder 62) ebenso logische Kennungen speichern, die für die intelligenten Feldgeräte 22 eindeutig sind. Diese logischen Kennungen können sich von den System-Tags unterscheiden, die von der Anlage 10 zur Identifizierung der Feldgeräte und deren zugeordneten Signalen verwendet werden, und sie können als „Quellkennungen“ „Quell-Tags“ bezeichnet werden. Quell-Tags können in Abhängigkeit von der Implementierung in der vorstehend erwähnten Konfigurationsdatenbank gespeichert sein oder nicht.
  • Im Allgemeinen sind die hierin erörterten „Feldgerätevariablen“ Variablen, die für die beschriebenen Feldgeräte lokal sind. Als ein Beispiel kann ein intelligentes Feldgerät ein lokales „Quell-Tag“ aufweisen, das eine Feldgerätevariable lokal für das intelligente Feldgerät eindeutig identifiziert. Falls gewünscht, kann das intelligente Feldgerät konfiguriert sein, um den Variablenwert des Feldgeräts an eine entsprechende Steuerung zu übertragen, die dann den empfangenen Wert auf ein System-Tag abbilden kann, das auf das Quellen-Tag von Interesse abbilden soll. In einigen Fällen kann das Steuersystem 10 derart konfiguriert sein, dass ein oder mehrere Quell-Tags eines Feldgeräts nicht auf ein System-Tag abgebildet werden (und somit die dargestellte Variable nicht in das relevante Prozesssteuerungssystem oder Sicherheitssystem integriert oder nicht von diesem berücksichtigt werden kann). Einige Quell-Tags können vom Prozesssteuerungssystem oder Sicherheitssystem ignoriert werden, da die Variable, die es darstellt, für die Betriebsziele oder die Sicherheitsziele des Prozesssteuerungssystems oder Sicherheitssystems nur eine geringe Bedeutung haben kann.
  • Die Anzeigeanwendung 82 kann dazu verwendet werden, einem Benutzer eine oder mehrere Anzeigen bereitzustellen, z. B. einem Prozesssteuerungsbediener, einem Sicherheitsbediener usw., die Informationen über den Zustand des Prozesssteuerungssystems 12 und des Sicherheitssystems 14 entweder in separaten Ansichten oder auf Wunsch in derselben Ansicht beinhalten. Beispielsweise kann die Anzeigeanwendung 82 eine Alarmanzeigeanwendung sein, die Alarmangaben empfängt und einem Bediener anzeigt. Eine solche Alarmanzeige kann Alarme sowohl vom Prozesssteuerungssystem 12 als auch vom Sicherheitssystem 14 in einer integrierten Alarmanzeige empfangen und anzeigen, da die Alarme von den beiden Systemen 12 und 14 an die Bedienerarbeitsstation 14 gesendet werden, die die Alarmanzeigeanwendung ausführt, und als Alarme von verschiedenen Geräten erkannt werden. Ebenso kann ein Bediener in einem Alarmbanner angezeigte Sicherheitsalarme auf dieselbe Weise wie Prozesssteuerungsalarme behandeln. Beispielsweise kann der Bediener oder Benutzer mittels der Alarmanzeige Sicherheitsalarme bestätigen, Sicherheitsalarme ausschalten usw., die Nachrichten an die entsprechende Prozesssteuerung 24, 26 innerhalb des Sicherheitssystems 14 unter Verwendung von Kommunikationen über den Bus 22 und die Rückwandplatine 76 übertragen, um die entsprechenden Maßnahmen in Bezug auf den Sicherheitsalarm zu ergreifen. Auf ähnliche Weise zeigen andere Anzeigeanwendungen Informationen oder Daten sowohl vom Prozesssteuerungssystem 12 als auch vom Sicherheitssystem 14 an, da diese Systeme die gleichen Typen und Arten von Parametern, Sicherheit und Referenzieren verwenden können, sodass jegliche Daten von einem der Systeme 12 und 14 in eine Anzeige oder Ansicht integriert werden können, die traditionell für ein Prozesssteuerungssystem bereitgestellt ist.
  • In jedem Fall können die Anwendungen 80 und 82 separate Konfigurations- und andere Signale an jede der Prozesssteuerungen 24 und 26 senden und von ihnen sowie von jedem der Sicherheitssystemlogiklöser 50-56 empfangen. Diese Signale können Nachrichten auf Prozessebene beinhalten, die sich auf das Steuern der Betriebsparameter der Prozessfeldgeräte 40 und 42 beziehen, und sie können Nachrichten auf Sicherheitsebene beinhalten, die sich auf das Steuern der Betriebsparameter der sicherheitsrelevanten Feldgeräte 60 und 62 beziehen. Während die Sicherheitslogiklöser 50-56 derart programmiert sein können, dass sie sowohl die Nachrichten auf Prozessebene als auch die Nachrichten auf Sicherheitsebene erkennen, können die Sicherheitslogiklöser 50-56 zwischen den zwei Typen von Nachrichten unterscheiden und können nicht durch Konfigurationssignale auf Prozessebene programmiert oder aktiviert werden. In einem Beispiel können die an die Geräte des Prozesssteuerungssystems übertragenen Programmierungsnachrichten bestimmte Felder oder Adressen beinhalten, die von den Geräten des Sicherheitssystems erkannt werden und die verhindern, dass diese Signale zum Programmieren der Geräte des Sicherheitssystems verwendet werden.
  • Falls gewünscht, können die Sicherheitslogiklöser 50-56 dieselbe oder eine andere Hardware- oder Softwaregestaltung verwenden als die Hardware- und Softwaregestaltung, die für die Prozesssteuerungs-E/A-Karten 28-36 verwendet wird. Die Verwendung alternativer Technologien für die Geräte innerhalb des Prozesssteuerungssystems 12 und Geräte innerhalb des Sicherheitssystems 14 kann allerdings Hardware- oder Softwarefehler mit häufigen Ursachen minimieren oder beseitigen.
  • Darüber hinaus können die Sicherheitssystemgeräte, einschließlich der Logiklöser 50-56, beliebige gewünschte Isolations- und Sicherheitstechniken verwenden, um die Wahrscheinlichkeit zu reduzieren oder zu eliminieren, dass nicht autorisierte Änderungen an den dadurch implementierten sicherheitsrelevanten Funktionen vorgenommen werden. Beispielsweise können die Sicherheitslogiklöser 50-56 und die Konfigurationsanwendung 80 erfordern, dass eine Person mit einer bestimmten Berechtigungsebene oder eine Person, die sich an einer bestimmten Arbeitsstation befindet, Änderungen an den Sicherheitsmodulen innerhalb der Logiklöser 50-56 vornimmt, wobei diese Berechtigungsebene oder dieser Standort sich von der Berechtigungs- oder Zugriffsebene oder dem Standort unterscheidet, die/der erforderlich ist, um Änderungen an den Prozesssteuerungsfunktionen vorzunehmen, die von den Steuerungen 24 und 26 und den E/A-Geräten 28-36 ausgeführt werden. In diesem Fall haben nur diejenigen Personen, die in der Sicherheitssoftware benannt sind oder sich an Arbeitsstationen befinden, die zur Durchführung von Änderungen am Sicherheitssystem 14 berechtigt sind, die Berechtigung, sicherheitsrelevante Funktionen zu ändern, wodurch die Wahrscheinlichkeit einer Beschädigung des Betriebs des Sicherheitssystems 14 minimiert wird. Es versteht sich, dass, um diese Sicherheit zu implementieren, die Prozessoren in den Sicherheitslogiklösern 50-56 die eingehenden Nachrichten auf korrekte Form und Sicherheit bewerten und bei Änderungen an den Steuerungsmodulen 58 der Sicherheitsebene, die in den Sicherheitslogiklösern 50-56 ausgeführt werden, als Gatekeeper fungieren.
  • Darüber hinaus kann, wenn sicherheitsrelevante Funktionen innerhalb der Logiklöser 50-56 aktiviert sind, keine Statusänderung der Sicherheitsfunktionen über die Bedienerarbeitsplätze 14 ohne entsprechende Zugriffsrechte vorgenommen werden, was der dem Prozesssteuerungssystem 12 zugeordneten Kommunikationsstruktur ermöglicht, verwendet zu werden, um eine Initialisierung für das Sicherheitssystem 14 bereitzustellen und verwendet zu werden, um eine Laufzeitberichterstattung über den Betrieb des Sicherheitssystems 14 bereitzustellen, jedoch dennoch das Prozesssteuerungssystem 12 vom Sicherheitssystem 14 in dem Sinne zu isolieren, dass Änderungen am Prozesssteuersystem 12 den Betrieb des Sicherheitssystems 14 nicht beeinträchtigen können.
  • Wie zu verstehen ist, ermöglicht die Verwendung der Rückwandplatine 76 in jedem der Knoten 18 und 20, dass die Sicherheitslogiklöser 50 und 52 und die Sicherheitslogiklöser 54 und 56 lokal miteinander kommunizieren, um die von jedem dieser Geräte implementierten Sicherheitsfunktionen zu koordinieren, um einander Daten zu kommunizieren oder um andere integrierte Funktionen durchzuführen. Andererseits arbeiten die MPDs 70 und 72 derart, dass Abschnitte des Sicherheitssystems 14, die an sehr unterschiedlichen Standorten der Anlage 10 angeordnet sind, weiterhin miteinander kommunizieren können, um einen koordinierten Sicherheitsbetrieb an verschiedenen Knoten der Prozessanlage 10 bereitzustellen. Insbesondere ermöglichen die MPDs 70 und 72 in Verbindung mit dem Bus 74, dass die Sicherheitslogiklöser, die verschiedenen Knoten 18 und 20 der Prozessanlage 10 zugeordnet sind, kommunikativ zueinander kaskadiert werden, um die Kaskadierung sicherheitsrelevanter Funktionen innerhalb der Prozessanlage 10 gemäß einer zugewiesenen Priorität zu ermöglichen. Alternativ können zwei oder mehr sicherheitsrelevante Funktionen an verschiedenen Standorten innerhalb der Prozessanlage 10 miteinander verriegelt oder verbunden sein, ohne dass eine dedizierte Leitung zu einzelnen Sicherheitsfeldgeräten in den getrennten Bereichen oder dem Knoten der Anlage 10 verlegt werden muss. Mit anderen Worten ermöglicht es die Verwendung der MPDs 70 und 72 und des Busses 74 einem Konfigurationsingenieur, ein Sicherheitssystem 14 zu gestalten und zu konfigurieren, das physisch über die Prozessanlage 10 verteilt ist, dessen verschiedene Komponenten jedoch kommunikativ miteinander verbunden sind, um zu ermöglichen, dass ungleichartige sicherheitsrelevante Hardware nach Bedarf miteinander kommuniziert. Dieses Merkmal stellt ebenso Skalierbarkeit des Sicherheitssystems 14 bereit, indem es das Hinzufügen von zusätzlichen Sicherheitslogiklösern zu dem Sicherheitssystem 14 ermöglicht, wenn sie benötigt werden oder wenn neue Prozesssteuerungsknoten zur Prozessanlage 10 hinzugefügt werden.
  • B. Beispielhaftes Feldgerät und beispielhafte Steuerung
  • 2 ist ein Blockdiagramm, das beispielhafte Komponenten des Feldgeräts 60A und der Steuerung 52 (ebenso in 1 gezeigt) darstellt, die kommunikativ über eine Verbindung 199 gekoppelt sind, wenn das E/A-Netzwerk 1 in 1 gezeigt wird, wobei jede von diesen konfiguriert sein kann, um Nachrichten, einschließlich Variablenwerte, auf eine Weise zu übertragen und zu empfangen, die es dem empfangenden Gerät ermöglicht, die Integrität der empfangenen Werte auf einer Variable-für-Variable-Basis zu überprüfen.
  • Eine „Kommunikationsverbindung“ oder „Verbindung“ ist ein Weg oder ein Medium, um zwei oder mehr Knoten zu verbinden. Eine Verbindung kann eine physische Verbindung oder eine logische Verbindung sein. Eine physische Verbindung ist die Schnittstelle oder das/die Medium/Medien, über die/das Informationen übertragen werden, und kann drahtgebunden oder drahtlos sein. Beispielhafte physische Verbindung beinhalten (i) drahtgebundene Verbindungen wie Kabel mit einem Leiter zur Übertragung elektrischer Energie oder eine Glasfaserverbindung zur Übertragung von Licht und (ii) drahtlose Verbindungen wie drahtlose elektromagnetische Signale, die Informationen über Änderungen an einer oder mehreren Eigenschaften elektromagnetischer Wellen führen. Eine logische Verbindung zwischen zwei oder mehr Knoten stellt eine Abstraktion der zugrunde liegenden physischen Verbindungen oder Zwischenknoten dar, die die zwei oder mehr Knoten verbinden. Beispielsweise können zwei oder mehr Knoten über eine logische Verbindung logisch gekoppelt sein. Die logische Verbindung kann über eine beliebige Kombination von physischen Verbindungen und Zwischenknoten (z. B. Router, Switches oder andere Vernetzungsausrüstung) hergestellt werden.
  • Wie gezeigt, beinhaltet das Feldgerät 60A einen Satz von Schaltkreisen 102, eine Kommunikationsschnittstelle 104 zum Koppeln des Feldgeräts 60A mit der Steuerung 52 über die Verbindung 199, einen Aktor 106 (z. B. zum Betätigen eines Ventils) und/oder einen Sensor (z. B. zum Erfassen oder Messen eines Prozessvariablenwerts, z. B. Druck, Durchflussrate, Tankfüllstand, Temperatur usw.). Der Satz von Schaltkreisen 102 beinhaltet einen Prozessor 113, der an einen Speicher 111 gekoppelt ist. Der Speicher 111 kann Logik oder Anweisungen 121 beinhalten, die bei Ausführung durch den Prozessor 113 bewirken, dass das Feldgerät eine oder mehrere der hierin beschriebenen Funktionen (z. B. jene, die in Bezug auf 6 und 7 beschrieben sind) durchführt. Insbesondere kann die Logik 121 eine Datenintegritätsformel 132 zum Berechnen einer Datenintegritätsprüfung und Aktor-/Sensorlogik 134 beinhalten. Der Speicher 111 kann ebenso einen Startwert 123 und eine Gerätevariable 125 beinhalten (die eine beliebige geeignete Variable sein kann, die über den Sensor 108 oder über eine Berechnung durch den Prozessor 113 durch das Feldgerät 60A erfasst wird).
  • Ferner beinhaltet die Steuerung 52 einen Satz von Schaltkreisen 152 und eine Kommunikationsschnittstelle 154 zum (i) Koppeln der Steuerung 52 an das Feldgerät 60A über die Verbindung 199 und (ii) Koppeln der Steuerung 52 an das Kommunikationsnetzwerk 22. Der Satz von Schaltkreisen 152 beinhaltet einen Prozessor 163 und einen Speicher 161, der Logik oder Anweisungen 171 beinhaltet, die, wenn sie durch den Prozessor 163 ausgeführt werden, bewirken, dass die Steuerung 52 eine oder mehrere der hierin beschriebenen Funktionen (z. B. jene, die in Bezug auf 6 und 7 beschrieben sind) durchführt. Der Speicher 152 beinhaltet die gleiche Datenintegritätsformel 132 und den gleichen Startwert 123, der von dem Feldgerät 60A verwendet wird, was es der Steuerung 52 ermöglicht, Datenintegritätsprüfungen für die von dem Feldgerät 60A empfangenen Werte zu berechnen. Die Steuerung 52 beinhaltet eine Prozessvariable 175, die der Gerätevariablen 125 entspricht oder diese abbildet.
  • Im Betrieb implementiert das Feldgerät 60A die Logik 134, um eine Steuerfunktion in Bezug auf den Aktor 106 (z. B. Betätigen eines Ventils als Reaktion auf einen Befehl von der Steuerung 52) und/oder einen Sensor 108 (z. B. Erfassen eines Prozessvariablenwerts über den Sensor 108 und Übertragen des Wertes an die Steuerung 52) durchzuführen. Ferner kann das Feldgerät 60A die Datenintegritätsformel 132 implementieren, um eine Datenintegritätsprüfung für die Gerätevariable 125 durch Eingeben des Wertes der Variablen 125 und des Startwerts 123 in die Formel 132 zu erzeugen. Der Startwert 123 kann jede relativ eindeutige Information sein, die dem Feldgerät 160 und den beabsichtigten Empfängern der Nachricht (z. B. dem Steuerung 52) bekannt ist. In einigen Fällen kann die Datenintegritätsprüfung unter Verwendung zusätzlicher Eingaben berechnet werden, z. B. eines Sequenzparameters, der jedes Mal aktualisiert wird, wenn die Variable 125 aktualisiert wird, eines variablen Statusparameters, der einen Status der Variablen 125 angibt, usw.
  • Wenn der Wert der Gerätevariablen 125 über eine Nachricht an die Steuerung 52 übertragen wird, kann das Feldgerät 60A die berechnete Datenintegritätsprüfung beinhalten, um es der Steuerung 52 zu ermöglichen, die Integrität des empfangenen Werts zu überprüfen. Im Allgemeinen ist die Steuerung 52 (oder ein beliebiger gewünschter Empfänger) konfiguriert, um die Datenintegritätsprüfung basierend auf dem bekannten Startwert 123 (ebenso der Steuerung 52 bekannt) und dem in der empfangenen Nachricht beinhalteten Wert neu zu berechnen. Die Formel 132 ist derart aufgebaut, dass jede Änderung einer der Eingaben zu einer anderen Datenintegritätsprüfung führt. Wenn sich der Wert der Variablen 125 (oder des Sequenzparameters oder des variablen Statusparameters, falls genutzt) während der Übertragung auf eine beliebige Weise ändert, wird sich die von der Steuerung 52 berechnete Datenintegritätsprüfung von der in der Nachricht empfangenen unterscheiden, sie weiß also, dass eine der Eingaben (z. B. der Wert der Variablen 125) von dem, was übertragen wird, abweicht.
  • Im Allgemeinen aktualisiert die Steuerung 52 die Prozessvariable 175 mit dem Wert der Gerätevariablen 125, die von dem Feldgerät 60A als Reaktion auf das Überprüfen der Integrität des empfangenen Wertes empfangen wird. Wenn die von der Steuerung 52 berechnete Datenintegritätsprüfung nicht mit der empfangenen Datenintegritätsprüfung übereinstimmt, verwirft die Steuerung 52 den empfangenen Wert, anstatt die Prozessvariable 175 mit dem empfangenen Wert zu aktualisieren. Abhängig von der Ausführungsform kann die Prozessvariable 175 eine lokale Variable oder eine Systemvariable sein. Ferner kann die Steuerung 52 eine Steuerlogik 182 zum Implementieren von Funktionen als Teil eines Sicherheitsschemas (z. B. Bewirken eines oder mehrerer Feldgeräte als Reaktion auf das Erfassen unsicherer Zustände in einen sicheren Zustand überzugehen) beinhalten. Abhängig von der speziellen Konfiguration kann die Steuerlogik 182 den Wert der Prozessvariablen 175 berücksichtigen (und kann somit von der Gerätevariablen 125 abhängen). Weitere Einzelheiten bezüglich Variable-für-Variable-Datenintegritätsprüfungen werden nachstehend unter Bezugnahme auf die in den 6 und 7 gezeigten Verfahren beschrieben.
  • Falls gewünscht, kann das Feldgerät 60A eine Datenintegritätsprüfung für einen beliebigen einer gewünschten Anzahl von Variablenwerten berechnen und übertragen und kann auf Wunsch mehrere Datenintegritätsprüfungen für einen einzelnen Variablenwert übertragen (z. B. wobei jeder für einen anderen Empfänger bestimmt ist). Ferner kann jedes geeignete Prozesssteuergerät konfiguriert sein, um Variablenwerte in einer Nachricht zu übertragen, die eine Variable-für-Variable-Datenintegritätsprüfung durch Implementieren einer Datenintegritätsformel, z. B. der Formel 132, und eines Startwerts, z. B. des Startwerts 123, ermöglicht.
  • II. Beispielhafte Protokolle
  • 3 zeigt beispielhafte Schichten eines beispielhaften Protokollstapels 300, die von den hierin beschriebenen Prozesssteuergeräten genutzt werden können, um Gerätvariablenwerte auf eine Weise zu übertragen und zu empfangen, die es dem empfangenden Gerät ermöglicht, die Integrität der empfangenen Werte auf einer Variable-für-Variable-Basis zu überprüfen.
  • Der Protokollstapel 300 beinhaltet fünf Schichten: eine physische Schicht 303, eine Sicherungsschicht 305, eine Netzwerkschicht 307, eine Transportschicht 309 und eine Anwendungsschicht 311. Protokolle, die von den beschriebenen Systemen verwendet werden, können zusätzliche oder alternative Schichten zu den beschriebenen beinhalten. Jede Schicht 303 bis 311 des Protokolls 300 kann einen Satz von Regeln aufweisen, denen Protokolldateneinheiten (PDUs) oder Nachrichten entsprechen müssen, damit Knoten im Netzwerk den Inhalt der Nachrichten richtig verstehen. PDUs auf jeder Schicht können eine Nutzlast sowie Metadaten aufweisen (z. B enthalten in Kopfzeilen, Fußzeilen, Präambeln usw.). Im Allgemeinen sind die Nutzlastdaten der Inhalt oder die Daten einer PDU und die Metadaten sind die „Daten über die Daten“ (z. B. bezüglich Formatierung, Sequenzierung, Zeitplanung, Ziel- und Quelladressen, Kommunikationshandshakes usw.).
  • Im Allgemeinen kann jede der Schichten 303-311 ein beliebiges geeignetes Protokoll sein, das in der Internetprotokollsuite gefunden wird (z. B. TCP, UDP, IP usw.) oder ein beliebiges geeignetes Protokoll oder ein beliebiger geeigneter Standard, der in typischen Prozessteuerungskommunikationsprotokollen, z. B. HART-IP, WirelessHART, Ethernet/IP, Fieldbus, ControlNet usw. gefunden wird. In einer Ausführungsform entsprechen die hierin beschriebenen Nachrichten dem HART-Protokoll auf der Anwendungsschicht 311, wobei Standard-HART-Befehle, -Antworten und -Formatierung verwendet werden. In einer Ausführungsform können die beschriebenen Nachrichten anderen Protokollen entsprechen, z. B. Open Platform Communications United Architecture („OPC UA“), einem Maschine-zu-Maschine-Kommunikationsprotokoll für die industrielle Automatisierung. Die ALPDU kann über jede geeignete NLDU übertragen werden.
  • III. Beispielhafte Nachrichtennutzlasten
  • 4 und 5 zeigen beispielhafte Nachrichtennutzlastdaten 400 und 500, die jeweils ein Beispiel der in 3 gezeigten Nachrichtennutzlastdaten 352 darstellen und wobei jede einen oder mehrere Variablenwerte mit entsprechenden Datenintegritätsprüfungen beinhaltet, um es einem empfangenden Gerät zu ermöglichen, die Integrität der beinhalteten Werte auf einer Variable-für-Variable-Basis zu überprüfen. Eines oder mehrere der in 1 gezeigten Prozesssteuergeräte kann konfiguriert sein, um Nachrichten zu übertragen oder zu empfangen, einschließlich Nutzlasten, die auf ähnliche Weise wie die Nutzlasten 400 und 500 formatiert sind.
  • Die Nutzlast 400 beinhaltet Nachrichtenabschnitte 402-410. Im Allgemeinen sind die Variablenabschnitte 402-406 „Variablenabschnitte“, die jeweils für eine bestimmte Variable spezifisch sind und konfiguriert sind, um einen Wert für diese bestimmte Variable zu tragen. Beispielsweise beinhaltet der Variablenabschnitt 402 einen Gerätevariablenwert 411 (z. B. einen Wert für die in 2 gezeigte Gerätevariable 125). Falls gewünscht, kann der Abschnitt 402 andere Daten beinhalten, die für die Variable relevant sind.
  • Die Integritätsabschnitte 408 und 410 beinhalten Datenintegritätsprüfungen entsprechend den in den Variablenabschnitten getragenen Werten. Jeder der Abschnitte 408 und 410 kann einen Parameter beinhalten, der den Variablenabschnitt anzeigt, dem die Datenintegritätsprüfung entspricht. Beispielsweise beinhaltet der Integritätsabschnitt 408 eine Datenintegritätsprüfung 425 und einen Parameter 423, der den Nachrichtenabschnitt identifiziert, dem die Datenintegritätsprüfung 421 entspricht. Bezugnehmend beispielsweise auf 2 kann die Datenintegritätsprüfung 425 ein Wert sein, der über die Datenintegritätsformel 132 berechnet wird, wobei der Wert 411 und der Startwert 123 als Eingaben verwendet werden. Der Abschnittsparameter 423 kann einen Wert „402“ (oder jede andere geeignete ID, die den Abschnitt 402 oder den Wert 411 identifiziert) beinhalten, der anzeigt, dass die Prüfung 421 in dem Abschnitt 408 dem Abschnitt 402 (und somit dem Wert 411) entspricht.
  • Ebenso kann der Integritätsabschnitt 410 eine Datenintegritätsprüfung (nicht gezeigt) und einen Parameter beinhalten, der einen Abschnitt anzeigt, dem er entspricht. Beispielsweise kann der Integritätsabschnitt 410 dem Variablenabschnitt 406 oder dem Variablenabschnitt 402 entsprechen (z. B. wenn der Wert 411 von zwei verschiedenen Empfängern empfangen werden soll, entspricht jeder der Abschnitte 408/410 einem anderen Empfänger.
  • In Bezug nun auf 5 entsprechen die Abschnitte 502-510 den in 4 gezeigten Abschnitten 402-410. Ebenso entspricht der Gerätevariablenwert 514 dem Wert 411, die Datenintegritätsprüfung 525 entspricht der Datenintegritätsprüfung 425 und der Abschnittsparameter 523 entspricht dem Abschnittsparameter 423.
  • Die Abschnitte 502-510 beinhalten jedoch zusätzliche Daten, die nicht unbedingt in den Abschnitten 402-410 der Nutzlast 400 beinhaltet sind. Beispielsweise beinhaltet der Variablenabschnitt 502 (i) einen Gerätevariablencode 511, der einen Wert beinhaltet, der für die fragliche Variable eindeutig ist (z. B. eindeutig die in 2 gezeigte Variable 125 identifiziert); (ii) eine Gerätevariablenklassifizierung 512, die einen Wert beinhaltet, der für einen Variablentyp eindeutig ist (z. B. Prozessvariable; Integritätsvariable usw.); (iii) einen Gerätevariableneinheitscode 513, der einen Wert beinhaltet, der eindeutig für die Einheiten ist, die der in Frage kommenden Variablen entsprechen (z. B. Fahrenheit, Celsius, Kelvin usw.); und (iv) einen Gerätevariablenstatus 515, der einen Wert beinhaltet, der einen Status für den Wert 514 anzeigt (z. B. gut oder zuverlässig, schlecht oder unzuverlässig, unbekannt usw.).
  • Ferner kann der Integritätsabschnitt 508 Daten beinhalten, die für die Datenintegritätsprüfung 525 relevant sind. Sie kann beispielsweise Folgendes beinhalten: (i) einen Gerätevariablencode 521, der einen Wert beinhaltet, der für die in Frage kommende Datenintegritätsprüfung eindeutig ist; (ii) eine Gerätevariablenklassifizierung 522, die einen Wert beinhaltet, der für einen Variablentyp eindeutig ist (z. B. angibt, dass die in Frage kommende Variable eine Datenintegritätsprüfung ist); (iii) einen Abschnitt 523, der den Nachrichtenabschnitt identifiziert, dem die Datenintegritätsprüfung 525 entspricht; (iv) einen Sequenzparameter 524, der jedes Mal erhöht wird, wenn der Wert 514 aktualisiert wird; (v) eine Datenintegritätsprüfung 526, z. B. eine CRC, von Konfigurationsdaten, die in dem Abschnitt 502 (d. h. dem relevanten Abschnitt) und in dem Abschnitt 508 beinhaltet sind; und (vi) einen Gerätevariablenstatus, der den Status oder die Zuverlässigkeit der Datenintegritätsprüfung 525 angibt. Die Datenintegritätsprüfung 526 der Konfigurationsdaten kann sicherstellen, dass die Prüfung 525 die beabsichtigten Informationen betrifft. Man betrachte beispielsweise eine Situation, in der die Konfiguration von Grad C auf Grad F geändert wurde oder der Thermoelementtyp geändert wurde. Abhängig von der Ausführungsform wird diese Änderung möglicherweise nicht von der Prüfung 525 des Wertes 514 erfasst. Somit kann die Prüfung 526 beispielsweise Änderungen an Metadaten erfassen, die dem Variablenwert 411/514 zugeordnet sind.
  • IV. Ein beispielhaftes Verfahren zum Übertragen von Nachrichten, die Datenintegritätsprüfungen auf Variablenebene ermöglichen.
  • 6 zeigt ein beispielhaftes Verfahren zum Übertragen von Nachrichten, die Variablenwerte beinhalten, auf eine Weise, die es einem empfangenden Gerät ermöglicht, die Integrität der beinhalteten Werte auf einer Variable-für-Variable-Basis zu überprüfen. Das Verfahren 600 kann ganz oder teilweise durch ein oder mehrere geeignete Prozesssteuergeräte implementiert werden, wie sie in den 1 und 2 (z. B. die Steuerungen 24, 26, 50, 52, 54 oder 56; oder die Feldgeräte 40, 42, 60 oder 62) gezeigt sind, und es kann über einen Satz von Schaltkreisen (z. B. des Feldgeräts 60A) implementiert werden, das permanent oder semi-permanent konfiguriert ist, um das Verfahren 600 durchzuführen. In einer Ausführungsform kann das Verfahren 600 durch einen Satz von Anweisungen oder Routinen, die im Speicher gespeichert und von einem Prozessor ausführbar sind, um die Funktionalität des Verfahrens 600 zu implementieren, ausgeführt werden. Es sei darauf hingewiesen, dass sich die folgende Erläuterung zwar auf die in den 1 und 2 gezeigte Struktur beziehen kann, aber es gilt zu beachten, dass das Verfahren 600 durch jedes geeignete Prozesssteuergerät implementiert werden kann, das konfiguriert ist, um Nachrichten einschließlich Prozessvariablenwerte und Variable-für-Variable-Datenintegritätsprüfungen zu übertragen, wie sie hierin beschrieben sind.
  • Das Verfahren 600 beginnt mit einem Schritt 605, bei dem ein erstes Prozesssteuergerät (z. B. das Feldgerät 60A) einen Wert für eine Gerätevariable erfasst. Der Wert kann über eine Sensormessung (z. B. Fluss, Temperatur, Druck, Viskosität, Füllstand, Licht, Schall usw.) oder über eine Berechnung erfasst werden. Ein Beispiel für einen durch Berechnung erfassten Wert ist ein Diagnoseparameter, der den Zustand des ersten Prozesssteuergeräts oder eines Geräts betrifft, das es betätigt (z. B. ein Ventil) oder für Messungen verwendet (z. B. einen Sensor).
  • In einem Schritt 610 berechnet das erste Prozesssteuergerät (z. B. das Feldgerät 60A) eine Datenintegritätsprüfung für jeden erfassten Wert, für den eine verbesserte Datenintegrität erwünscht ist. Die Datenintegritätsprüfung kann ein beliebiger geeigneter Fehlererfassungscode zum Prüfen der Datenintegrität sein, z. B. eine zyklische Redundanzprüfung (CRC), eine Prüfsumme oder ein Hash.
  • Falls gewünscht, können einige der erfassten Werte keine entsprechende Datenintegritätsprüfung aufweisen. Die Datenintegritätsprüfung kann über die in 1B gezeigte Datenintegritätsformel 132 berechnet werden. Im Allgemeinen verwendet die erste Prozesssteuervorrichtung zum Berechnen der Datenintegritätsprüfung den erfassten Wert und einen Startwert als Eingaben in die Formel 132. Der Startwert kann ein beliebiger geeigneter Startwert sein, der dem ersten Prozesssteuergerät und dem beabsichtigten empfangenden Gerät (z. B. der Steuerung 52) bekannt ist. In einer Ausführungsform ist der Startwert ausreichend eindeutig, um die Erfassung einer Maskerade zu ermöglichen.
  • Der Startwert kann beispielsweise eine Kombination aus Folgendem sein: einem Geräte-Tag, das von dem Prozesssteuerungssystem 12 und/oder dem Sicherheitssystem 14 für das Feldgerät 60A verwendet wird; einem Geräte-Tag für die beabsichtigte Steuerung 52; einer Seriennummer des Feldgeräts 60A; einer Seriennummer für die Steuerung 52; einer Hardwareadresse (z. B. einer MAC-Adresse) des Feldgeräts 60A; einer Hardwareadresse der Steuerung 52; einer Standort-ID für die Prozesssteuerungsumgebung 10; einem zufällig erzeugten eindeutigen Wert; oder einer Kombination davon. In einer beispielhaften Ausführungsform ist der Startwert eine Kombination aus einem Geräte-Tag für das Feldgerät 60A und einer Seriennummer für das Feldgerät 60A.
  • In einer Ausführungsform beinhaltet das erste Prozesssteuergerät einen Sequenzparameter für jeden erfassten Wert, der jedes Mal aktualisiert wird, wenn der jeweilige Wert aktualisiert wird. Falls gewünscht, kann dieser Sequenzparameter als eine Eingabe für die Datenintegritätsformel verwendet werden.
  • In einer Ausführungsform erzeugt das erste Prozesssteuergerät einen variablen Status für jeden erfassten Wert, der die relative Zuverlässigkeit des Wertes anzeigt (z. B. gut, schlecht, unbekannt usw.). Falls gewünscht, kann dieser Variablenstatus als eine Eingabe für die Datenintegritätsformel verwendet werden.
  • Falls gewünscht, kann das erste Prozesssteuergerät mehrere Datenintegritätsprüfungen für jeden erfassten Wert berechnen. Dies kann nützlich sein, wenn mehrere andere Prozesssteuergeräte den erfassten Wert empfangen und sich darauf verlassen (z. B. weil der in der Nachricht übertragene erfasste Wert möglicherweise beschädigt wird, wenn die Nachricht ein Gerät über einen ersten Kommunikationspfad erreicht, j edoch nicht beschädigt sein kann, wenn er an einem anderen Gerät über einen zweiten Kommunikationsweg empfangen wird). Ferner kann dies nützlich sein, wenn man einen zweiten Startwert für einen zweiten Verbraucher der Daten wünscht (z. B. ein System höherer Ebene, mit dem man den Startwert aus Sicherheitsgründen nicht teilen möchte).
  • In einem Schritt 615 kodiert das erste Prozesssteuergerät (z. B. das Feldgerät 60A) eine Nachricht mit jedem erfassten Wert und jeder entsprechenden Datenintegritätsprüfung (sofern eine existiert). Die Nachricht kann gemäß Formaten wie denen der Nachrichten 400 und 500 in 4 und 5 codiert werden. Die Nachricht kann derart codiert sein, dass sie jede Eingabe beinhaltet, die zum Berechnen der Datenintegritätsberechnungen verwendet wird. Somit kann in Ausführungsformen, in denen die Datenintegritätsformel für eine gegebene Variable basierend auf dem Variablenwert, der Sequenznummer der Variablen, dem Status der Variablen und dem Startwert berechnet wird, die Nachricht den Variablenwert, die Sequenznummer und den Variablenstatus für die angegebene Variable beinhalten.
  • Beispielsweise kann die Nachricht eine Nutzlast mit mehreren Abschnitten beinhalten, von denen jeder einer anderen Variablen entspricht (siehe z. B. die Abschnitte 402-406, die in 4 gezeigt sind). Für jeden Wert mit einer Datenintegritätsprüfung kann die Nachricht dann einen zusätzlichen Abschnitt beinhalten, der der Datenintegritätsprüfung entspricht (siehe z. B. die Abschnitte 408 und 410 in 4).
  • Zur Veranschaulichung kann die Nachricht einen ersten, zweiten und dritten Abschnitt beinhalten, der einer ersten, zweiten beziehungsweise dritten Variablen entspricht. Wenn Datenintegritätsprüfungen für die erste und dritte Variable, jedoch nicht für die zweite (beispielsweise) erwünscht sind, kann die Nachricht ebenso vierte und fünfte Abschnitte beinhalten, einschließlich Datenintegritätsprüfungen für die erste Variable (z. B. im vierten Abschnitt) und eine Datenintegritätsprüfung für die dritte Variable (z. B. im fünften Abschnitt).
  • Die Nachricht kann ein Mittel zum Bestimmen von Variablenwerten oder Nachrichtenabschnitten beinhalten, denen die Integritätsabschnitte und Datenintegritätsprüfungen entsprechen. Beispielsweise kann jeder Integritätsabschnitt in der Nachricht einen Parameter „Abschnittsnummer“ beinhalten, der die Position des Abschnitts innerhalb der Nachricht angibt, der den entsprechenden Variablenwert trägt. Zur Veranschaulichung kann der Parameter 422 auf „402“ eingestellt werden, wenn der Integritätsabschnitt 408 dem Variablenwert in dem Abschnitt 402 entspricht. Wenn die Nachricht mehrere Datenintegritätsprüfungen für einen einzelnen erfassten Wert beinhaltet, können mehrere Integritätsabschnitte einen Parameter „Abschnittsnummer“ beinhalten, der denselben variablen Wertabschnitt identifiziert.
  • In einigen Ausführungsformen können bis zu acht Abschnitte pro Nachricht erwartet werden und die „Abschnittnummer“ in den Integritätsabschnitten kann auf 0-7 eingestellt werden, um den Variablenabschnitt anzugeben, dem sie entspricht. Falls gewünscht, können die Variablen- und Integritätsabschnitte mit zusätzlichen und/oder alternativen Informationen codiert werden, z. B. den unter Bezugnahme auf 5 erörterten.
  • In einem Schritt 620 überträgt das erste Prozesssteuergerät (z. B. das Feldgerät 60A) die Nachricht derart, dass die Nachricht von einem zweiten Prozesssteuergerät (z. B. einer der Steuerung 50-56 oder 24/26, einem der Feldgeräte 40/42/60/62, der Arbeitsstation 16, einem Historiker usw.) empfangen werden kann. Abhängig von der Ausführungsform kann das erste Prozesssteuergerät die Nachricht über eine drahtgebundene oder drahtlose Verbindung übertragen. Im Allgemeinen ist das zweite Prozesssteuergerät ein Gerät, das konfiguriert ist, um eine Funktion als Teil eines Steuerschemas für den in der Prozesssteuerungsumgebung (z. B. der Anlage 10) gesteuerten Prozess zu implementieren. Das Steuerschema kann ein Sicherheitssystemschema (z. B. implementiert über das Sicherheitssystem 14) sein, das für die Aufrechterhaltung des sicheren Betriebs der Ausrüstung in der Umgebung verantwortlich ist (z. B. das für das Antreiben eines oder mehrerer Prozesssteuergeräte in der Umgebung als Reaktion auf das Erfassen instabiler oder anderweitig potenziell gefährlicher Bedingungen verantwortlich ist). In einer Ausführungsform ist das Steuerschema ein Prozesssteuerschema oder eine Prozesssteuerstrategie (z. B. implementiert über das Prozesssteuerungssystem 12) zum Steuern des Prozesses, um ein Steuerungsziel zu erreichen (z. B. ein gewünschtes Produkt oder eine Chemikalie z. B. Ethanol herzustellen, Strom zu erzeugen, etc.). Während das Sicherheitssystemschema als „passives“ System gekennzeichnet werden kann, das nur eingreift, wenn potenziell unsichere Bedingungen auftreten, ist das Prozesssteuerungssystem typischerweise aktiver, reagiert kontinuierlich auf Prozessbedingungen und versucht, verschiedene Aspekte des Prozesses in gewünschte Zustände zu bringen, um das gewünschte Ziel zu erreichen.
  • Das erste und das zweite Prozesssteuergerät können konfiguriert sein, um die Nachricht über ein Veröffentlichungs-/Abonnementmodell zu übertragen und zu empfangen (z. B. wenn das erste Gerät die Nachricht regelmäßig ohne Aufforderung durch das zweite Gerät überträgt) oder um die Nachricht gemäß einer Anfrage-/Antwortnachricht (z. B. wobei das erste Gerät die Nachricht als Reaktion auf eine Anfrage von dem zweiten Gerät überträgt) zu übertragen. In einer Ausführungsform sind das erste und das zweite Prozesssteuergerät jeweils derart konfigurierbar, dass sie nach Wunsch entweder das Anfrage-/Antwortmodell oder das Veröffentlichungs-/Abonnementmodell implementieren.
  • Das erste und das zweite Prozesssteuergerät können konfiguriert sein, um die Nachricht gemäß jedem geeigneten Protokoll zu übertragen und zu empfangen, das in einer Prozesssteuerungsumgebung implementiert werden kann, vorausgesetzt, dass solche Protokolle die hierin beschriebenen Variable-für-Variable-Datenintegritätsprüfungen aufnehmen können oder modifiziert werden können, um sie aufzunehmen. Beispielhafte Protokolle, die von dem ersten und dem zweiten Prozesssteuergerät verwendet werden können, beinhalten HART, HART-IP, WirelessHART, Profibus, FOUNDATION™-Fieldbus, Ethernet/IP, ControlNet, DeviceNet, Modbus, OPC UA usw.
  • In einigen Fällen wird das Verfahren 600 mit einer Rate implementiert, die proportional zu einem Abtastzyklus ist (z. B. jeder Abtastzyklus, jeder zweite Abtastzyklus usw.). Im Allgemeinen tritt ein Abtastzyklus während jeder Abtastzykluszeit auf (die jede beliebige Zeit sein kann, z. B. 1 ms, 100 ms, 1 Sekunde usw.). Der Abtastzyklus ist im Allgemeinen ein Zyklus, während dem die relevante Steuerung Eingaben sammelt, einen Steueralgorithmus ausführt und Ausgaben entsprechend aktualisiert. Dementsprechend kann das Feldgerät 60A in Fällen, in denen die Steuerung 52 konfiguriert ist, um einen Abtastzyklus während einer gegebenen Abtastzeit zu implementieren, konfiguriert sein, um das Verfahren 600 mit einer Rate gleich der Abtastrate oder mit einer schnelleren Rate (z. B. harmonische Periode relativ zur Abtastzeit) (z. B. wobei dadurch der Steuerung 52 die aktuellsten Feldgerätevariablenwerte bereitgestellt werden) zu implementieren.
  • In einigen Fällen wird das Verfahren 600 jedes Mal implementiert, wenn eine Änderung in einer relevanten Feldgerätevariable erfasst wird (z. B. einer Variablen, für die das Feldgerät 60A konfiguriert ist, Werte zu übertragen).
  • Falls gewünscht, kann das Verfahren 600 durch ein beliebiges geeignetes Gerät implementiert werden, um eine Nachricht, die einen oder mehrere Variablenwerte beinhaltet, auf eine Weise zu übertragen, die die Überprüfung der Datenintegrität auf einer Variable-für-Variable-Basis ermöglicht. In einigen Fällen beispielsweise kann eine Steuerung (z. B. der Logiklöser 50-56 oder die Prozesssteuerung 24/26), eine Arbeitsstation (entfernt oder lokal in der Prozesssteuerungsumgebung 10), ein Historiker, ein Gerät in einem Postenverwaltungssystem (AMS), ein Netzwerkgerät oder ein beliebiges anderes gewünschtes Gerät, das in einer Prozesssteuerungsumgebung implementiert werden könnte, das Verfahren 600 implementieren, um Nachrichten zu übertragen, die die Überprüfung der Datenintegrität auf einer Variable-für-Variable-Basis ermöglichen. Als ein Ergebnis kann jedes derartige Prozesssteuergerät in einer Ausführungsform die vorstehend beschriebene Funktionalität implementieren, die von dem Feldgerät 60A durchgeführt wird. Ebenso kann das zweite Prozesssteuergerät (d. h. der Empfänger der übertragenen Nachricht) eines dieser Geräte sein.
  • V. Ein beispielhaftes Verfahren zum Empfangen von Nachrichten, die Datenintegritätsprüfungen auf Variablenebene ermöglichen.
  • 7 zeigt ein beispielhaftes Verfahren 700 zum Empfangen von Nachrichten, die Variablenwerte beinhalten, auf eine Weise, die die Überprüfung der Integrität der empfangenen Werte auf einer Variable-für-Variable-Basis ermöglicht. Das Verfahren 700 kann ganz oder teilweise durch ein oder mehrere geeignete Prozesssteuergeräte implementiert werden, wie sie in den 1 und 2 (z. B. die Steuerungen 24, 26, 50, 52, 54 oder 56; oder die Feldgeräte 40, 42, 60 oder 62) gezeigt sind, und es kann über einen Satz von Schaltkreisen (z. B. die Steuerung 52) implementiert werden, die permanent oder semipermanent konfiguriert sind, um das Verfahren 700 durchzuführen. In einer Ausführungsform kann das Verfahren 700 durch einen Satz von Anweisungen oder Routinen, die im Speicher gespeichert und von einem Prozessor ausführbar sind, um die Funktionalität des Verfahrens 700 zu implementieren, ausgeführt werden. Es sei darauf hingewiesen, dass die folgende Erläuterung zwar das Verfahren 700 in Bezug auf die in den 1 und 2 gezeigte Struktur beschreibt, aber es gilt zu beachten, dass das Verfahren 600 durch jedes geeignete Prozesssteuergerät implementiert werden kann, das konfiguriert ist, um Nachrichten einschließlich Prozessvariablenwerte und Variable-für-Variable-Datenintegritätsprüfungen zu empfangen, wie sie hierin beschrieben sind.
  • Das Verfahren 700 kann implementiert sein, um eine Nachricht zu handhaben, die von einem ersten Prozesssteuergerät übertragen wird, das (einen) Prozessvariablenwert(e) und (eine) Variable-für-Variable-Datenintegritätsprüfung(en) beinhaltet. Insbesondere kann das Verfahren 700 durch ein zweites Prozesssteuergerät implementiert werden, z. B. die Steuerung 52, die in 1 und 2 gezeigt ist.
  • Das Verfahren beginnt bei einem Schritt 705 damit, dass das zweite Prozesssteuergerät (z. B. die Steuerung 52) die Nachricht von dem ersten Prozesssteuergerät (z. B. dem Feldgerät 60A) empfängt. In einigen Fällen kann das zweite Prozesssteuergerät die Nachricht von einem beliebigen geeigneten Gerät (Feldgerät oder anderweitig) empfangen, das konfiguriert ist, um Nachrichten auf eine Weise zu übertragen, die eine Variabel-für-Variable-Datenintegritätsprüfung auf eine Weise ermöglicht, die mit den beschriebenen Techniken übereinstimmt. Die Nachricht kann über eine drahtgebundene oder drahtlose Verbindung empfangen werden.
  • In einem Schritt 710 decodiert das zweite Prozesssteuergerät (z. B. die Steuerung 52) die empfangene Nachricht, um (i) Kandidatenwerte für Gerätevariablen und (ii) Datenintegritätsprüfung(en) für jeden der Kandidatenwerte zu identifizieren. In einigen Fällen kann die Nachricht variable Werte beinhalten, für die keine Datenprüfung existiert. Das heißt, falls gewünscht, kann die Nachricht eine Kombination von Feldgerätwerten mit einer Datenintegritätsprüfung und Feldgerätewerten ohne Datenintegritätsprüfung beinhalten.
  • Ferner kann die Nachricht in einigen Fällen mehrere Datenintegritätsprüfungen für einen gegebenen Kandidatenwert beinhalten (z. B. wobei jede Datenintegritätsprüfung für einen anderen Empfänger der Nachricht bestimmt ist). In solchen Fällen muss das zweite Prozesssteuergerät bestimmen, welche Datenintegritätsprüfung dem gegebenen Kandidatenwert entspricht. In einigen Ausführungsformen ist das zweite Prozesssteuergerät derart vorkonfiguriert, dass es annimmt, dass ihm eine der Datenintegritätsprüfungen zugewiesen ist (z. B. kann sich die Datenintegritätsprüfung für das zweite Prozesssteuergerät immer an derselben relativen Position oder demselben relativen Abschnitt der Nachricht befinden). In einigen Ausführungsformen beinhaltet die Nachricht einen Parameter für jede der Datenintegritätsprüfungen, um das empfangende Gerät, dem sie entspricht, zu identifizieren (z. B. einen Parameter für jede Datenintegritätsprüfung, der das Tag des vorgesehenen empfangenden Geräts, die Seriennummer, die eindeutige Kennung, IP-Adresse usw. identifiziert).
  • Beim Decodieren der Nachricht kann das zweite Prozesssteuergerät (z. B. die Steuerung 52) die Nachricht analysieren, um zu bestimmen, welche Abschnitte der Nachricht Variablenabschnitte sind (d. h. Abschnitte, die einen Gerätevariablenwert tragen) und welche Abschnitte Integritätsabschnitte sind (d. h. Abschnitte, die Datenintegritätsprüfungen für die Gerätevariablenwerte durchführen). Zu diesem Zweck kann jeder Abschnitt der Nachricht einen Parameter oder ein Feld beinhalten, das seinen Typ angibt (z. B. einen Gerätevariablencode, der anzeigt, dass ein Abschnitt ein Variablenabschnitt ist, ein Integritätsabschnitt usw.). Das zweite Prozesssteuergerät analysiert dann die Integritätsabschnitte, um die Variablenabschnitte zu bestimmen, denen die Integritätsabschnitte entsprechen. Dies kann das Analysieren eines Parameters „Abschnittnummer“ in jedem Integritätsabschnitt beinhalten, der den Abschnitt in der Nachricht anzeigt, dem der Integritätsabschnitt entspricht.
  • In einem Schritt 715 berechnet das zweite Prozesssteuergerät (z. B. die Steuerung 52) eine zweite Datenintegritätsprüfung für die Kandidatenwerte. Unter Bezugnahme auf die 2 und 4 kann die Steuerung 52 beispielsweise einen Kandidatenwert 411 im Abschnitt 402 und eine entsprechende Datenintegritätsprüfung 421 im Abschnitt 408 identifizieren. Sie kann dann eine zweite Datenintegritätsprüfung unter Verwendung des Wertes 411 und eines vorbestimmten Startwerts als Eingaben in die Formel 132 berechnen. Sie kann dann die zweite Integritätsprüfung dauerhaft oder temporär speichern. Auf ähnliche Weise kann das zweite Prozesssteuergerät eine zweite Datenintegritätsprüfung für jede der anderen in der Nachricht beinhalteten Datenintegritätsprüfungen berechnen.
  • In einem Schritt 720 wählt das zweite Prozesssteuergerät (z. B. die Steuerung 52) erste und zweite Datenintegritätsprüfungen für einen gegebenen Kandidatenwert zum Vergleichen aus. Um beispielsweise beim vorherigen Beispiel zu bleiben, kann die Steuerung 52 den Wert 411 und die Datenintegritätsprüfung 421 entsprechend dem Wert 411 auswählen.
  • In einem Schritt 725 vergleicht das zweite Prozesssteuergerät (z. B. die Steuerung 52) die ersten und zweiten Datenintegritätsprüfungen. Für den Wert 411 kann die Steuerung 52 beispielsweise die empfangene Datenintegritätsprüfung 421 mit der von der Steuerung 52 berechneten Datenintegritätsprüfung unter Verwendung des Wertes 411 und des Startwertes als Eingaben vergleichen. Wenn sich der Wert 411 seit der Datenintegritätsprüfung 421 nicht geändert hat, sollten die erste und die zweite Datenintegritätsprüfung übereinstimmen. Wenn sich der Wert 411 geändert hat (oder wenn sich die Sequenznummer in Ausführungsformen geändert hat, die die Sequenznummer zum Berechnen von Integritätsprüfungen verwenden), stimmen die ersten und zweiten Integritätsprüfungen nicht überein.
  • In einem Schritt 730 geht das zweite Prozesssteuergerät (z. B. die Steuerung 52) zu einem Schritt 740, wenn die erste und die zweite Datenintegritätsprüfung übereinstimmen (was anzeigt, dass sich der Kandidatenwert seit der Berechnung der ersten Datenintegritätsprüfung nicht geändert hat, und wodurch angezeigt wird, dass der empfangene Kandidatenwert der erfasste Wert ist, den das Feldgerät 60A übertragen soll) und zu einem Schritt 735 über, wenn dies nicht der Fall ist (wodurch angezeigt wird, dass der Wert 411 irgendwie anders ist als der ursprüngliche Wert, der von dem Feldgerät 60A übertragen wurde).
  • In Schritt 735 verwirft das zweite Prozesssteuergerät (z. B. die Steuerung 52) als Reaktion auf das Bestimmen, dass eine Nichtübereinstimmung der Datenintegritätsprüfung existiert, den gegebenen Kandidatenwert, der der ersten und der zweiten Datenintegritätsprüfung entspricht. Das heißt, es wird fortgesetzt, ohne die entsprechende Prozessvariable mit dem Wert 411 zu aktualisieren. Das zweite Prozesssteuergerät und das größere Steuersystem oder Sicherheitssystem können den Betrieb unter der Annahme fortsetzen, dass der Wert der in Frage kommenden Variablen der Wert ist, den sie vor dem Empfang der Nachricht hatte. In einigen Fällen kann das zweite Prozesssteuergerät einen Alarm (z. B. über eine Arbeitsstation) als Reaktion auf das Erfassen, dass eine Nichtübereinstimmung besteht (oder auf den Empfang einer bestimmten Anzahl von Nichtübereinstimmungen im Verlauf einer bestimmten Zeitperiode oder über den Zeitraum einer bestimmten Anzahl von Nachrichten) erzeugen. In einigen Fällen kann das zweite Prozesssteuergerät bestimmen, dass es zu riskant ist, den Betrieb in einem solchen Zustand fortzusetzen, und es kann eine Nachricht an das erste Feldgerät (z. B. das Feldgerät 60A) übertragen, um zu bewirken, dass es in einen sicheren Zustand (z. B. durch Öffnen oder Schließen eines Ventils) übergeht.
  • In Schritt 740 aktualisiert das zweite Prozesssteuergerät (z. B. die Steuerung 52) als Reaktion auf das Bestimmen, dass eine Übereinstimmung der Datenintegritätsprüfung existiert, eine Prozessvariable, die der Feldgerätevariable mit dem Kandidatenwert entspricht.
  • Beispielsweise kann ein Ventil CV001 vor dem Implementieren des Verfahrens 700 eine Position von 25 % offen aufweisen. In der empfangenen Nachricht kann die in Frage kommende Variable eine Ventilstellung für CV001 sein, und der Kandidatenwert in der Nachricht kann 50 % offen sein (was anzeigt, dass sich die Ventilstellung geändert hat). Als Reaktion auf das Erfassen einer Nichtübereinstimmung der Datenintegrität kann die Steuerung 52 den Kandidatenwert verwerfen und z. B. den Betrieb unter der Annahme fortsetzen, dass das Ventil immer noch zu 25 % geöffnet ist, dass die Ventilstellung unbekannt ist usw.
  • Als Reaktion auf das Überprüfen der Integrität des empfangenen Werts kann die Steuerung 52 jedoch eine Systemvariable aktualisieren, die die Ventilstellung auf 50 % darstellt. Dementsprechend können die Steuerung 52, das Steuersystem 12 und/oder das Sicherheitssystem 14 basierend auf dieser aktualisierten Steuerventilstellung arbeiten (z. B. Steuerroutinen implementieren). In einigen Ausführungsformen ist die aktualisierte Prozessvariable eine Systemvariable, auf die Komponenten des Steuersystems 12 und/oder des Sicherheitssystems 14 zugreifen können. In einigen Ausführungsformen ist die aktualisierte Prozessvariable eine lokale Variable an der Steuerung 52.
  • In einem Schritt 745 bestimmt das zweite Prozesssteuergerät (z. B. die Steuerung 52), ob die empfangene Nachricht zusätzliche Kandidatenwerte beinhaltet, für die Datenintegritätsprüfungen in den Schritten 725 und 730 nicht analysiert wurden. Wenn in der Nachricht zusätzliche Kandidatenwerte vorhanden sind, geht die Steuerung zu Schritt 720 über; andernfalls geht sie zu Schritt 750 über. Bezugnehmend beispielsweise auf 4 kann die Steuerung 52 bestimmen, dass der Variablenabschnitt 406 der Nachricht 400 ebenso einen Integritätsabschnitt (z. B. Abschnitt 408) aufweist. Als ein Ergebnis kann die Steuerung 52 mit Schritt 720 fortfahren, um die Integrität des im Variablenabschnitt 406 beinhalteten Werts zu analysieren.
  • In Schritt 750 beendet das zweite Prozesssteuergerät (z. B. die Steuerung 52) die Analyse der empfangenen Nachricht und geht zu einer nächsten Aufgabe (z. B. Handhabung einer neuen Nachricht, die während einer zukünftigen Abtastung empfangen wurde) über.
  • In einigen Fällen ist die Steuerung 52 (oder jedes andere Gerät, das das Verfahren 700 implementiert) konfiguriert, um einen Abtastzyklus zu Beginn einer vorbestimmten Abtastperiode oder -zeit zu implementieren. In solchen Fällen wird das Verfahren 600 in jedem Abtastzyklus von der Steuerung 52 implementiert. Es ist zu beachten, dass das Verfahren 600 durch jedes geeignete Gerät implementiert werden kann, das konfiguriert ist, um Nachrichten zu empfangen und die Integrität der beinhalteten Variablenwerte auf einer Variablen-für-Variablen-Basis zu überprüfen. Beispielsweise kann in einigen Fällen ein intelligentes Feldgerät das Verfahren 600 implementieren.
  • Ferner, wie mit Bezug auf 6 erläutert, können das erste und das zweite Prozesssteuergerät konfiguriert sein, um die Nachricht über ein Abonnement/Veröffentlichungsmodell zu übertragen und zu empfangen (z. B. wenn das erste Gerät die Nachricht regelmäßig ohne Aufforderung durch das zweite Gerät überträgt) oder um die Nachricht gemäß einer Anfrage-/Antwortnachricht (z. B. wobei das erste Gerät die Nachricht als Reaktion auf eine Anfrage von dem zweiten Gerät überträgt) zu übertragen. In einer Ausführungsform sind das erste und das zweite Prozesssteuergerät jeweils derart konfigurierbar, dass sie nach Wunsch entweder das Anfrage-/Antwortmodell oder das Veröffentlichungs-/Abonnementmodell implementieren. Zusätzlich, wie mit Bezug auf 6 angemerkt, können das erste und das zweite Prozesssteuergerät konfiguriert sein, um die Nachricht gemäß jedem geeigneten Protokoll zu übertragen und zu empfangen, das in einer Prozesssteuerungsumgebung implementiert werden kann, vorausgesetzt, dass solche Protokolle die hierin beschriebenen Variable-für-Variable-Datenintegritätsprüfungen aufnehmen können oder modifiziert werden können, um sie aufzunehmen.
  • VI. Weitere Überlegungen
  • In einer Ausführungsform kann der Restfehler für einen einzelnen Nachrichtenabschnitt (manchmal als SLOT bezeichnet) berechnet werden. Abhängig von der Ausführungsform können die folgenden Annahmen verwendet werden (jedoch nicht notwendigerweise): Einschränkung, dass der Datenpfad für die Kommunikation abgeschirmtes verdrilltes Paar verwendet, die Bitfehlerrate im schlimmsten Fall auf 10-4 begrenzt; das 0x9eb2-16-Bit-CRC-(CRC-16-DNP)-Polynom eine Hamming-Distanz von 6 für Nachrichten mit weniger als 135 Bit (oder 16 Byte) aufweist; sogar Bitfehler von mehr als der Hamming-Distanz ein vernachlässigbarer Beitrag zum Ergebnis sind (ungerade Fehler werden erfasst); das Datenwort 6 Bytes - 48 Bits (Gleitkomma + Status + Seq.-Nr.) ist; das Codewort 8 Bytes - 64 Bits (Datenwort + 2 Bytes CRC) ist; die Wahrscheinlichkeit eines 6-Bit-Fehlers in einem 64-Bit-Codewort 7,45408-17 für eine gegebene BER beträgt. Unter diesen Annahmen kann es für das 0x9eb2-16-Bit-CRC-Polynom 2051 mögliche 6-Bit-Fehler für die Datenwortgröße geben. Unter solchen Annahmen beträgt die Wahrscheinlichkeit eines nicht erfassten 6-Bit-Fehlers 2,83214-24. Unter der Annahme einer Transferrate von 40 Hz kann ein PFH 4,07828-19 betragen.
  • In einigen Ausführungsformen kann die Implementierung der beschriebenen Systeme sowohl eine sichere Netzwerkverbindung als auch eine benutzerbasierte oder rollenbasierte Autorisierung beinhalten. HART-IP unterstützt beispielsweise den Aufbau einer sicheren Verbindung unter Verwendung von TLS und DTLS. Eine rollenbasierte Autorisierung kann wünschenswert sein, da der „Benutzer“ eine Steuerung oder eine Sicherheitsanwendung sein kann. In einigen Ausführungsformen kann das beschriebene System ohne benutzer-/rollenbasierte Autorisierung implementiert werden.
  • Es folgen Beschreibungen verschiedener Aspekte, Vorrichtungen, Systeme, Komponenten, Geräte, Verfahren und Techniken zum Verwalten diskreter Prozesssteuerungselemente (z. B. diskreter Geräte, diskreter Kommunikationskanäle, diskreter Signale usw.) und zur intelligenten Inbetriebnahme diskreter Elemente im Steuerungssystem 5.
  • Wenn sie in Software implementiert sind, können alle der hierin beschriebenen Anwendungen, Dienste und Maschinen in jedem materiellen, nichtflüchtigen, computerlesbaren Speicher, z. B. auf einer Magnetplatte, einer Laserplatte, einem Festkörper-Speichergerät, einem molekularen Speichergerät oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers oder Prozessors usw., gespeichert werden. Obwohl die hierin offenbarten Beispielsysteme derart offenbart werden, dass sie neben anderen Komponenten auf Hardware ausgeführte Software oder Firmware beinhalten, sei darauf hingewiesen, dass solche Systeme rein beispielhaft sind und nicht als einschränkend angesehen werden sollten. Beispielsweise wird in Betracht gezogen, dass einige oder alle dieser Hardware-, Software- und Firmwarekomponenten ausschließlich in Hardware, ausschließlich in Software oder in einer beliebigen Kombination aus Hardware und Software eingeschlossen sein können. Dementsprechend werden die hierin beschriebenen beispielhaften Systeme zwar als in Software implementiert beschrieben, die auf einem Prozessor eines oder mehrerer Computergeräte ausgeführt wird, aber ein Fachmann wird leicht verstehen, dass die angegebenen Beispiele nicht die einzige Möglichkeit sind, solche Systeme zu implementieren.
  • Unter besonderer Bezugnahme auf die Verfahren 600 und 700 können die beschriebenen Funktionen ganz oder abschnittweise durch die Geräte, Schaltkreise oder Routinen des in 1 und 2 gezeigten Systems 10 implementiert werden. Jedes der beschriebenen Verfahren kann durch einen Satz von Schaltkreisen ausgeführt sein, die permanent oder semipermanent konfiguriert sind (z. B. ein ASIC oder FPGA), um logische Funktionen des jeweiligen Verfahrens durchzuführen, oder die wenigstens temporär konfiguriert sind (z. B. ein oder mehrere Prozessoren und ein Satz von Anweisungen oder Routinen, die die logischen Funktionen darstellen und in einem Speicher gespeichert sind), um die logischen Funktionen des jeweiligen Verfahrens durchzuführen.
  • In dieser gesamten Patentschrift können mehrere Instanzen Komponenten, Vorgänge oder Strukturen implementieren, die als einzelne Instanz beschrieben sind. Obwohl einzelne Vorgänge von einem oder mehreren Verfahren als separate Vorgänge dargestellt und beschrieben sind, können einer oder mehrere der einzelnen Vorgänge bei gewissen Ausführungsformen gleichzeitig ausgeführt werden.
  • Wie hierin verwendet, bedeutet jede Bezugnahme auf „eine Ausführungsform“, dass ein bestimmtes Element, ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, wie in Verbindung mit der Ausführungsform beschrieben, in wenigstens einer Ausführungsform beinhaltet ist. Die Verwendungen des Ausdrucks „in einer Ausführungsform“ an verschiedenen Stellen in der Patentschrift beziehen sich nicht notwendigerweise alle auf dieselbe Ausführungsform.
  • Wie hierin verwendet, sollen die Begriffe „umfasst“, „umfassend“, „beinhaltet“, „beinhaltend“, „aufweist“, „aufweisend“ oder eine andere Variation davon eine nicht ausschließliche Einbeziehung abdecken. Beispielsweise ist ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, der/das/die eine Liste von Elementen umfasst, nicht notwendigerweise nur auf diese Elemente eingeschränkt, sondern kann auch andere Elemente beinhalten, die nicht ausdrücklich aufgeführt sind oder einem solchen Prozess, Verfahren, Artikel oder einer solchen Vorrichtung nicht ausdrücklich inhärent sind. Sofern nicht ausdrücklich anders angegeben, bezieht sich „oder“ auf ein inklusives Oder und nicht auf ein exklusives Oder. Beispielsweise wird eine Bedingung A oder B durch eine beliebige der folgenden Bedingungen erfüllt: A ist wahr (oder vorhanden) und B ist falsch (oder nicht vorhanden), A ist falsch (oder nicht vorhanden) und B ist wahr (oder vorhanden) und sowohl A als auch B sind wahr (oder vorhanden).
  • Ferner bedeutet der Ausdruck „wobei das System X, Y und/oder Z beinhaltet“, dass das System ein X, ein Y, ein Z oder eine Kombination davon beinhaltet. Ebenso bedeutet der Ausdruck „wobei die Komponente für X, Y oder Z konfiguriert ist“, dass die Komponente für X konfiguriert ist, für Y konfiguriert ist, für Z konfiguriert ist oder für eine Kombination von X, Y und Z konfiguriert ist.
  • Zusätzlich wird die Verwendung von „ein“, „eine“, „einer“, „eines“, „einem“ oder „einen“ verwendet, um Elemente und Komponenten der Ausführungsformen hierin zu beschreiben. Diese Beschreibung und die folgenden Ansprüche sollten so gelesen werden, dass sie eines oder wenigstens eines davon beinhalten. Der Singular beinhaltet ebenso den Plural, sofern nicht offensichtlich ist, dass dies anders gemeint ist.
  • In verschiedenen Ausführungsformen können hierin beschriebene Hardwaresysteme mechanisch oder elektronisch implementiert werden. Beispielsweise kann ein Hardwaresystem eine dedizierte Schaltung oder Logik beinhalten, die permanent konfiguriert ist (z. B. als Spezialprozessor, z. B. ein feldprogrammierbares Gate-Array (FPGA) oder ein anwendungsspezifischer integrierter Schaltkreis (ASIC), um bestimmte Vorgänge auszuführen). Ein Hardwaresystem kann ebenso eine programmierbare Logik oder Schaltung (z. B. wie sie in einem Universalprozessor oder einem anderen programmierbaren Prozessor beinhaltet ist) beinhalten, die temporär durch die Software konfiguriert wird, um bestimmte Vorgänge durchzuführen. Es versteht sich, dass die Entscheidung, ein Hardwaresystem mechanisch, in dedizierten und permanent konfigurierten Schaltungen oder in vorübergehend konfigurierten Schaltungen (z. B. durch Software konfiguriert) zu implementieren, aus Kosten- und Zeitgründen erfolgen kann.

Claims (27)

  1. Verfahren zum Übertragen von Nachrichten, die Werte für Gerätevariablen beinhalten, sodass die Integrität der Werte auf einer Variable-für-Variable-Basis überprüft werden kann, wobei das Verfahren Folgendes umfasst: Erfassen durch ein erstes Prozesssteuergerät in einer Prozesssteuerungsumgebung zum Steuern eines Prozesses eines erfassten Werts für eine Gerätevariable; Berechnen durch das Prozesssteuergerät einer ersten Datenintegritätsprüfung mittels Durchführen einer Datenintegritätsberechnung unter Verwendung des erfassten Werts und eines Startwerts als Eingaben; Codieren einer Nachricht, um den erfassten Wert und die erste Datenintegritätsprüfung für den erfassten Wert zu beinhalten; und Übertragen der Nachricht, sodass sie von einem zweiten Prozesssteuergerät empfangen werden kann, das für Folgendes konfiguriert ist: (i) Empfangen der Nachricht, (ii) Berechnen einer zweiten Datenintegritätsprüfung für einen Kandidatenwert in der Nachricht für die Gerätevariable; (iii) Aktualisieren oder Nichtaktualisieren an dem zweiten Prozesssteuergerät einer Prozessvariablen, die auf die Gerätevariable mit dem Kandidatenwert abgebildet ist, basierend darauf, ob die erste und die zweite Datenintegritätsprüfung übereinstimmen oder nicht; und (iv) Implementieren einer Funktion als Teil eines Steuerschemas für den Prozess gemäß der Prozessvariablen.
  2. Verfahren nach Anspruch 1, wobei das zweite Prozesssteuergerät ein Feldgerät ist.
  3. Verfahren nach Anspruch 1 oder 2, insbesondere nach Anspruch 1, wobei das zweite Prozesssteuergerät eine Steuerung ist, und/oder wobei die Steuerung ein Logiklöser für ein Sicherheitssystem ist und wobei das Steuerschema ein Sicherheitssystemschema zum Bestimmen ist, wann ein oder mehrere Feldgeräte, die mit dem Logiklöser gekoppelt sind, in einen sicheren Zustand gebracht werden sollen, und/oder wobei die Steuerung eine Prozesssteuerung für ein Prozesssteuerungssystem ist, die konfiguriert ist, um den Prozess zu steuern, und wobei das Steuerungsschema ein Prozesssteuerungsschema für das Prozesssteuerungssystem ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, insbesondere nach Anspruch 1, wobei das erste Prozesssteuergerät ein Feldgerät ist und die Gerätevariable eine Feldgerätevariable ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, insbesondere nach Anspruch 1, wobei das erste Prozesssteuergerät eine Steuerung ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, insbesondere nach Anspruch 1, wobei die Nachricht codiert ist, um mehrere erfasste Werte zu beinhalten, die jeweils eine Datenintegritätsprüfung aufweisen, wobei das Verfahren ferner Folgendes umfasst: Erfassen eines zweiten erfassten Werts für eine zweite Gerätevariable; Berechnen einer dritten Datenintegritätsprüfung mittels Durchführen der Datenintegritätsberechnung unter Verwendung des zweiten erfassten Werts und des Startwerts als Eingaben; wobei das Codieren der Nachricht ferner das Codieren der Nachricht umfasst, um den zweiten erfassten Wert und die zweite Datenintegritätsprüfung für den zweiten erfassten Wert zu beinhalten; und wobei das zweite Prozesssteuergerät ferner für Folgendes konfiguriert ist: (i) Berechnen einer vierten Datenintegritätsprüfung für einen zweiten Kandidatenwert in der Nachricht für die zweite Gerätevariable; (ii) Aktualisieren oder Nichtaktualisieren an dem zweiten Prozesssteuergerät einer zweiten Prozessvariable, die auf die zweite Gerätevariable mit dem zweiten Kandidatenwert abgebildet ist, basierend darauf, ob die dritte und vierte Datenintegritätsprüfung übereinstimmen oder nicht; und (iii) Implementieren einer Funktion als Teil eines Steuerschemas für den Prozess gemäß der zweiten Prozessvariablen, und/oder wobei das Codieren der Nachricht das Codieren der Nachricht umfasst, sodass die Nachricht mehrere Nachrichtenabschnitte beinhaltet, beinhaltend: ein erster Nachrichtenabschnitt beinhaltet den ersten erfassten Wert; ein zweiter Nachrichtenabschnitt beinhaltet den zweiten erfassten Wert; ein dritter Nachrichtenabschnitt beinhaltet die erste Datenintegritätsprüfung und einen Parameter, der angibt, welchem der mehreren Nachrichtenabschnitte die erste Datenintegritätsprüfung entspricht; ein vierter Nachrichtenabschnitt beinhaltet die dritte Datenintegritätsprüfung und einen Parameter, der angibt, welchem der mehreren Nachrichtenabschnitte die dritte Datenintegritätsprüfung entspricht.
  7. Verfahren nach einem der Ansprüche 1 bis 6, insbesondere nach Anspruch 1, ferner Folgendes umfassend: Inkrementieren eines Sequenzparameters, um eine Aktualisierung der Gerätevariablen anzuzeigen, wobei der Sequenzparameter konfiguriert ist, um jedes Mal aktualisiert zu werden, wenn die Gerätevariable aktualisiert wird; wobei das Berechnen der ersten Datenintegritätsprüfung ferner das Verwenden des Sequenzparameters als eine der Eingaben für die Datenintegritätsberechnung beinhaltet; wobei das Codieren der Nachricht ferner das Codieren der Nachricht beinhaltet, um den Sequenzparameter zu beinhalten, und/oder ferner Folgendes umfassend: Erfassen eines Variablenstatus für die Gerätevariable; wobei das Berechnen der ersten Datenintegritätsprüfung ferner das Verwenden des Variablenstatus als eine der Eingaben für die Datenintegritätsberechnung beinhaltet; wobei das Codieren der Nachricht ferner das Codieren der Nachricht beinhaltet, um den Variablenstatus zu beinhalten.
  8. Verfahren nach einem der Ansprüche 1 bis 7, insbesondere nach Anspruch 1, wobei das erste Prozesssteuergerät konfiguriert ist, um eine dritte Datenintegritätsprüfung für den erfassten Wert zu berechnen, sodass ein drittes Prozesssteuergerät, das die Nachricht empfängt, die Integrität des erfassten Werts über die dritte Datenintegritätsprüfung überprüfen kann, wobei das Verfahren ferner Folgendes umfasst: Berechnen durch das Prozesssteuergerät der dritten Datenintegritätsprüfung mittels Durchführen der Datenintegritätsberechnung unter Verwendung des erfassten Werts und eines zweiten Startwerts als Eingaben; wobei das Codieren der Nachricht ferner das Codieren der Nachricht beinhaltet, um die dritte Datenintegritätsprüfung für den erfassten Wert zu beinhalten; und wobei das Übertragen der Nachricht das Übertragen der Nachricht umfasst, sodass sie von dem dritten Prozesssteuergerät empfangbar ist, wobei das dritte Prozesssteuergerät für Folgendes konfiguriert ist: (i) Empfangen der Nachricht, (ii) Berechnen einer vierten Datenintegritätsprüfung für den Kandidatenwert in der Nachricht; und (iii) Aktualisieren oder Nichtaktualisieren an dem dritten Prozesssteuergerät einer Prozessvariable, die der Gerätvariablen mit dem Kandidatenwert abgebildet ist, basierend darauf, ob die dritte und vierte Datenintegritätsprüfung übereinstimmen oder nicht.
  9. Verfahren nach einem der Ansprüche 1 bis 8, insbesondere nach Anspruch 1, wobei der Startwert ein Wert ist, der durch Kombinieren einer Seriennummer des ersten Prozesssteuergeräts und eines Tags des ersten Prozesssteuergeräts ausgebildet wird, wobei das Tag eine Kennung ist, durch die das erste Prozesssteuergerät durch ein oder mehrere andere Geräte in der Prozesssteuerungsumgebung adressierbar ist.
  10. System zum Übertragen von Nachrichten einschließlich Werten für Prozessvariablen, die auf Parameterebene authentifiziert werden können, wobei das System Folgendes umfasst: ein erstes Prozesssteuergerät, das konfiguriert ist, um kommunikativ mit einem oder mehreren anderen Prozesssteuergeräten in einem Eingabe/Ausgabe-(E/A)-Netzwerk einer Prozesssteuerungsumgebung zum Steuern eines Prozesses gekoppelt zu werden, wobei das erste Prozesssteuergerät Folgendes beinhaltet: (A) eine Kommunikationsschnittstelle, die konfiguriert ist, um das Feldgerät mit der einen oder den mehreren Steuerungen zu koppeln; und (B) einen Satz von Schaltkreisen, der kommunikativ mit der Kommunikationsschnittstelle gekoppelt und für Folgendes konfiguriert ist: Erfassen eines erfassten Wertes für eine Gerätevariable; Berechnen einer ersten Datenintegritätsprüfung mittels Durchführen einer Datenintegritätsberechnung unter Verwendung des erfassten Werts und eines Startwerts als Eingaben; Codieren einer Nachricht, um den erfassten Wert und die erste Datenintegritätsprüfung für den erfassten Wert zu beinhalten; und Übertragen über die Kommunikationsschnittstelle der Nachricht an ein zweites Prozesssteuergerät, das für Folgendes konfiguriert ist: (i) Empfangen der Nachricht, (ii) Berechnen einer zweiten Datenintegritätsprüfung für einen Kandidatenwert in der Nachricht für die Gerätevariable; (iii) Aktualisieren oder Nichtaktualisieren an dem zweiten Prozesssteuergerät einer Prozessvariablen, die auf die Gerätevariable mit dem Kandidatenwert abgebildet ist, basierend darauf, ob die erste und die zweite Datenintegritätsprüfung übereinstimmen oder nicht; und (iv) Implementieren einer Funktion als Teil eines Steuerschemas für den Prozess gemäß der Prozessvariablen.
  11. System nach Anspruch 10, wobei das zweite Prozesssteuergerät eine Steuerung ist.
  12. System nach Anspruch 10 oder 11, insbesondere nach Anspruch 10, wobei das erste Prozesssteuergerät ein Feldgerät ist und die Gerätevariable eine Feldgerätevariable ist.
  13. System nach einem der Ansprüche 10 bis 12, insbesondere nach Anspruch 10, wobei die Nachricht codiert ist, um mehrere erfasste Werte zu beinhalten, die jeweils eine Datenintegritätsprüfung aufweisen, wobei der Satz von Schaltkreisen ferner für Folgendes konfiguriert ist: Erfassen eines zweiten erfassten Werts für eine zweite Gerätevariable; Berechnen einer dritten Datenintegritätsprüfung mittels Durchführen der Datenintegritätsberechnung unter Verwendung des zweiten erfassten Werts und des Startwerts als Eingaben; wobei das Codieren der Nachricht ferner das Codieren der Nachricht umfasst, um den zweiten erfassten Wert und die zweite Datenintegritätsprüfung für den zweiten erfassten Wert zu beinhalten; und wobei das zweite Prozesssteuergerät ferner für Folgendes konfiguriert ist: (i) Berechnen einer vierten Datenintegritätsprüfung für einen zweiten Kandidatenwert in der Nachricht für die zweite Gerätevariable; (ii) Aktualisieren oder Nichtaktualisieren an dem zweiten Prozesssteuergerät einer zweiten Prozessvariable, die auf die zweite Gerätevariable mit dem zweiten Kandidatenwert abgebildet ist, basierend darauf, ob die dritte und vierte Datenintegritätsprüfung übereinstimmen oder nicht; und (iii) Implementieren einer Funktion als Teil eines Steuerschemas für den Prozess gemäß der zweiten Prozessvariablen, und/oder wobei der Satz von Schaltkreisen ferner dazu konfiguriert ist, die Nachricht derart zu codieren, dass die Nachricht mehrere Nachrichtenabschnitte beinhaltet, beinhaltend: ein erster Nachrichtenabschnitt beinhaltet den ersten erfassten Wert; ein zweiter Nachrichtenabschnitt beinhaltet den zweiten erfassten Wert; ein dritter Nachrichtenabschnitt beinhaltet die erste Datenintegritätsprüfung und einen Parameter, der angibt, welchem der mehreren Nachrichtenabschnitte die erste Datenintegritätsprüfung entspricht; ein vierter Nachrichtenabschnitt beinhaltet die dritte Datenintegritätsprüfung und einen Parameter, der angibt, welchem der mehreren Nachrichtenabschnitte die dritte Datenintegritätsprüfung entspricht.
  14. System nach einem der Ansprüche 10 bis 13, insbesondere nach Anspruch 10, wobei der Satz von Schaltkreisen ferner für Folgendes konfiguriert ist: Inkrementieren eines Sequenzparameters, um eine Aktualisierung der Gerätevariablen anzuzeigen, wobei der Sequenzparameter konfiguriert ist, um jedes Mal aktualisiert zu werden, wenn die Gerätevariable aktualisiert wird; wobei das Berechnen der ersten Datenintegritätsprüfung ferner das Verwenden des Sequenzparameters als eine der Eingaben für die Datenintegritätsberechnung beinhaltet; wobei das Codieren der Nachricht ferner das Codieren der Nachricht beinhaltet, um den Sequenzparameter zu beinhalten, und/oder wobei der Satz von Schaltkreisen ferner für Folgendes konfiguriert ist: Erfassen eines Variablenstatus für die Gerätevariable; wobei das Berechnen der ersten Datenintegritätsprüfung ferner das Verwenden des Variablenstatus als eine der Eingaben für die Datenintegritätsberechnung beinhaltet; wobei das Codieren der Nachricht ferner das Codieren der Nachricht beinhaltet, um den Variablenstatus zu beinhalten.
  15. System nach einem der Ansprüche 10 bis 14, insbesondere nach Anspruch 10, wobei der Satz von Schaltkreisen konfiguriert ist, um mehrere Datenintegritätsprüfungen für den erfassten Wert für verschiedene Empfänger der Nachricht zu berechnen, sodass ein drittes Prozesssteuergerät, das die Nachricht empfängt, eine dritte Datenintegritätsprüfung empfängt, wobei der Satz von Schaltkreisen für Folgendes konfiguriert ist: Berechnen einer dritten Datenintegritätsprüfung mittels Durchführen der Datenintegritätsberechnung unter Verwendung des erfassten Werts und eines zweiten Startwerts als Eingaben; wobei das Codieren der Nachricht ferner das Codieren der Nachricht beinhaltet, um die dritte Datenintegritätsprüfung für den erfassten Wert zu beinhalten; und wobei das Übertragen der Nachricht das Übertragen der Nachricht umfasst, sodass sie von dem dritten Prozesssteuergerät empfangbar ist, wobei das dritte Prozesssteuergerät für Folgendes konfiguriert ist: (i) Empfangen der Nachricht, (ii) Berechnen einer vierten Datenintegritätsprüfung für den Kandidatenwert in der Nachricht; und (iii) Aktualisieren oder Nichtaktualisieren an dem dritten Prozesssteuergerät einer Prozessvariable, die der Gerätvariablen mit dem Kandidatenwert abgebildet ist, basierend darauf, ob die dritte und vierte Datenintegritätsprüfung übereinstimmen oder nicht.
  16. System nach einem der Ansprüche 10 bis 15, insbesondere nach Anspruch 10, wobei der Startwert ein Wert ist, der durch Kombinieren einer Seriennummer des ersten Prozesssteuergeräts und eines Tags des ersten Prozesssteuergeräts ausgebildet wird, wobei das Tag eine Kennung ist, durch die das erste Prozesssteuergerät durch ein oder mehrere andere Geräte in der Prozesssteuerungsumgebung adressierbar ist.
  17. Verfahren zum Verifizieren der Integrität von Gerätevariablenwerten, die in einer Nachricht von einem Prozesssteuergerät beinhaltet sind, wobei das Verfahren Folgendes umfasst: Empfangen einer Nachricht, die von einem ersten Prozesssteuergerät übertragen wird, an einem zweiten Prozesssteuergerät in einer Prozesssteuerungsumgebung zum Steuern eines Prozesses; Decodieren der Nachricht, um innerhalb der Nachricht Folgendes zu identifizieren: (i) einen Kandidatenwert für eine Gerätevariable und (ii) eine erste Datenintegritätsprüfung für die Gerätevariable; Berechnen einer zweiten Datenintegritätsprüfung mittels Durchführen einer zweiten Datenintegritätsberechnung unter Verwendung des Kandidatenwertes und eines Startwerts als Eingaben; Vergleichen der zweiten Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung, um zu bestimmen, ob die zweite Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung übereinstimmt, und um dadurch zu bestimmen, ob der Kandidatenwert mit einem erfassten Wert übereinstimmt, der zum Berechnen der ersten Datenintegritätsprüfung verwendet wurde; Reagieren auf das Bestimmen, dass die zweite Datenintegritätsprüfung nicht mit der ersten Datenintegritätsprüfung übereinstimmt, durch Verwerfen des Kandidatenwerts, sodass eine auf die Gerätevariable abgebildete Prozessvariable einen vorherigen Wert beibehält; Reagieren auf das Bestimmen, dass die zweite Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung übereinstimmt, durch Aktualisieren der Prozessvariablen mit dem Kandidatenwert an dem zweiten Prozesssteuergerät; und Implementieren gemäß der Prozessvariablen einer Funktion als Teil eines Steuerungsschemas für den Prozess.
  18. Verfahren nach Anspruch 17, wobei das zweite Prozesssteuergerät eine Steuerung ist, und/oder wobei die Steuerung ein Logiklöser für ein Sicherheitssystem ist und wobei das Steuerschema ein Sicherheitssystemschema zum Bestimmen ist, wann ein oder mehrere Feldgeräte, die mit dem Logiklöser gekoppelt sind, in einen sicheren Zustand gebracht werden sollen.
  19. Verfahren nach Anspruch 17 oder 18, insbesondere nach Anspruch 17, wobei die Gerätevariable eine erste Gerätevariable ist und wobei das Decodieren der Nachricht das Decodieren der Nachricht umfasst, um Folgendes innerhalb der Nachricht zu identifizieren: einen ersten Nachrichtenabschnitt, der den Kandidatenwert für die erste Gerätevariable beinhaltet; einen zweiten Nachrichtenabschnitt, der einen Kandidatenwert für eine zweite Gerätevariable beinhaltet; einen dritten Nachrichtenabschnitt, der (i) die erste Datenintegritätsprüfung und (ii) einen Parameter beinhaltet, der angibt, welchem der mehreren Nachrichtenabschnitte die erste Datenintegritätsprüfung entspricht; und einen vierten Nachrichtenabschnitt, der (i) eine dritte Datenintegritätsprüfung für den Kandidatenwert für die zweite Gerätevariable; und (ii) einen Parameter beinhaltet, der angibt, welchem der mehreren Nachrichtenabschnitte die dritte Datenintegritätsprüfung entspricht.
  20. Verfahren nach einem der Ansprüche 17 bis 19, insbesondere nach Anspruch 17, wobei das Decodieren der Nachricht ferner Folgendes umfasst: Identifizieren eines Sequenzparameters, der konfiguriert ist, jedes Mal aktualisiert zu werden, wenn die Gerätevariable aktualisiert wird; und wobei das Berechnen der zweiten Datenintegritätsprüfung ferner das Verwenden des Sequenzparameters als eine der Eingaben für die Datenintegritätsberechnung beinhaltet.
  21. Verfahren nach einem der Ansprüche 17 bis 20, insbesondere nach Anspruch 17, wobei der Startwert ein Wert ist, der eine Seriennummer des ersten Prozesssteuergeräts beinhaltet.
  22. System zum Überprüfen der Integrität von Gerätevariablenwerten, die in einer Nachricht von einem Prozesssteuergerät beinhaltet sind, wobei das System Folgendes umfasst: ein zweites Prozesssteuergerät, das konfiguriert ist, um kommunikativ mit einem ersten Prozesssteuergerät in einer Prozesssteuerungsumgebung gekoppelt zu werden, wobei das zweite Prozesssteuergerät Folgendes beinhaltet: (A) eine Kommunikationsschnittstelle, die konfiguriert ist, um das zweite Prozesssteuergerät kommunikativ mit dem ersten Prozesssteuergerät zu koppeln; und (B) einen Satz von Schaltkreisen, der kommunikativ mit der Kommunikationsschnittstelle gekoppelt und für Folgendes konfiguriert ist: Empfangen über die Kommunikationsschnittstelle einer von dem ersten Prozesssteuergerät übertragenen Nachricht; Decodieren der Nachricht, um innerhalb der Nachricht Folgendes zu identifizieren: (i) einen Kandidatenwert für eine Gerätevariable und (ii) eine erste Datenintegritätsprüfung für die Gerätevariable; Berechnen einer zweiten Datenintegritätsprüfung mittels Durchführen einer zweiten Datenintegritätsberechnung unter Verwendung des Kandidatenwerts und eines Startwerts als Eingaben; Vergleichen der zweiten Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung, um zu bestimmen, ob die zweite Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung übereinstimmt, und um dadurch zu bestimmen, ob der Kandidatenwert mit einem erfassten Wert übereinstimmt, der zum Berechnen der ersten Datenintegritätsprüfung verwendet wurde; Reagieren auf das Bestimmen, dass die zweite Datenintegritätsprüfung nicht mit der ersten Datenintegritätsprüfung übereinstimmt, durch Verwerfen des Kandidatenwerts, sodass eine auf die Gerätevariable abgebildete Prozessvariable einen vorherigen Wert beibehält; Reagieren auf das Bestimmen, dass die zweite Datenintegritätsprüfung mit der ersten Datenintegritätsprüfung übereinstimmt, durch Aktualisieren der Prozessvariablen mit dem Kandidatenwert; und Implementieren gemäß der Prozessvariablen einer Funktion als Teil eines Steuerungsschemas für den Prozess.
  23. System nach Anspruch 22, wobei das zweite Prozesssteuergerät eine Steuerung ist, und/oder wobei die Steuerung eine Prozesssteuerung für ein Prozesssteuerungssystem ist, die konfiguriert ist, um den Prozess zu steuern, und wobei das Steuerungsschema ein Prozesssteuerungsschema für das Prozesssteuerungssystem ist.
  24. System nach Anspruch 22 oder 23, insbesondere nach Anspruch 22, wobei die Gerätevariable eine erste Gerätevariable ist und wobei das Decodieren der Nachricht das Decodieren der Nachricht umfasst, um Folgendes innerhalb der Nachricht zu identifizieren: einen ersten Nachrichtenabschnitt, der den Kandidatenwert für die erste Gerätevariable beinhaltet; einen zweiten Nachrichtenabschnitt, der einen Kandidatenwert für eine zweite Gerätevariable beinhaltet; einen dritten Nachrichtenabschnitt, der (i) die erste Datenintegritätsprüfung und (ii) einen Parameter beinhaltet, der angibt, welchem der mehreren Nachrichtenabschnitte die erste Datenintegritätsprüfung entspricht; und einen vierten Nachrichtenabschnitt, der (i) eine dritte Datenintegritätsprüfung für den Kandidatenwert für die zweite Gerätevariable; und (ii) einen Parameter beinhaltet, der angibt, welchem der mehreren Nachrichtenabschnitte die dritte Datenintegritätsprüfung entspricht.
  25. System nach einem der Ansprüche 22 bis 24, insbesondere nach Anspruch 22, wobei der Satz von Schaltkreisen ferner für Folgendes konfiguriert ist: Identifizieren eines Sequenzparameters, der konfiguriert ist, jedes Mal aktualisiert zu werden, wenn die Gerätevariable aktualisiert wird; und wobei das Berechnen der zweiten Datenintegritätsprüfung ferner das Verwenden des Sequenzparameters als eine der Eingaben für die Datenintegritätsberechnung beinhaltet.
  26. System nach einem der Ansprüche 22 bis 25, insbesondere nach Anspruch 22, wobei der Startwert ein Wert ist, der eine Seriennummer des ersten Prozesssteuergeräts beinhaltet.
  27. Computer-lesbares Speichermedium, welches Instruktionen enthält, die mindestens einen Prozessor dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 9 und/oder 17 bis 21 zu implementieren, wenn die Instruktionen durch mindestens einen Prozessor ausgeführt werden.
DE102021132493.9A 2020-12-10 2021-12-09 Integritätsprüfungen auf variablenebene für die kommunikation in prozesssteuerungsumgebungen Pending DE102021132493A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/117,814 US11424865B2 (en) 2020-12-10 2020-12-10 Variable-level integrity checks for communications in process control environments
US17/117,814 2020-12-10

Publications (1)

Publication Number Publication Date
DE102021132493A1 true DE102021132493A1 (de) 2022-06-15

Family

ID=80080862

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021132493.9A Pending DE102021132493A1 (de) 2020-12-10 2021-12-09 Integritätsprüfungen auf variablenebene für die kommunikation in prozesssteuerungsumgebungen

Country Status (5)

Country Link
US (1) US11424865B2 (de)
JP (1) JP2022092595A (de)
CN (1) CN114625075A (de)
DE (1) DE102021132493A1 (de)
GB (1) GB2607648A (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220413568A1 (en) * 2021-06-29 2022-12-29 Nvidia Corporation Power delivery communication system

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3849056A (en) 1972-11-02 1974-11-19 Combustion Eng Computer based plant protection system
US4410329A (en) 1981-11-06 1983-10-18 General Electric Company Washing machine with oversuds detection and correction capability
JPH0650442B2 (ja) 1983-03-09 1994-06-29 株式会社日立製作所 設備群制御方法およびシステム
US4598355A (en) 1983-10-27 1986-07-01 Sundstrand Corporation Fault tolerant controller
US4736320A (en) 1985-10-08 1988-04-05 Foxboro Company Computer language structure for process control applications, and translator therefor
US4885717A (en) 1986-09-25 1989-12-05 Tektronix, Inc. System for graphically representing operation of object-oriented programs
US4827423A (en) 1987-01-20 1989-05-02 R. J. Reynolds Tobacco Company Computer integrated manufacturing system
GB2200476B (en) 1987-01-29 1991-02-06 British Gas Plc Monitor system
US5535331A (en) * 1987-09-04 1996-07-09 Texas Instruments Incorporated Processor condition sensing circuits, systems and methods
US4816647A (en) 1987-11-13 1989-03-28 General Electric Company Power control for appliance having a glass ceramic cooking surface
US5051898A (en) 1988-06-13 1991-09-24 Eda Systems, Inc. Method for specifying and controlling the invocation of a computer program
US4972328A (en) 1988-12-16 1990-11-20 Bull Hn Information Systems Inc. Interactive knowledge base end user interface driven maintenance and acquisition system
US5014208A (en) 1989-01-23 1991-05-07 Siemens Corporate Research, Inc. Workcell controller employing entity-server model for physical objects and logical abstractions
US5146401A (en) 1989-09-05 1992-09-08 Honeywell Inc. Apparatus for providing a universal interface in a process control system
GB2275814B (en) 1989-11-02 1995-02-15 Combustion Eng Power plant
JPH0658624B2 (ja) 1990-03-30 1994-08-03 インターナショナル・ビシネス・マシーンズ・コーポレーション グラフィカル・ユーザ・インターフェース管理装置
US5168441A (en) 1990-05-30 1992-12-01 Allen-Bradley Company, Inc. Methods for set up and programming of machine and process controllers
US5321829A (en) 1990-07-20 1994-06-14 Icom, Inc. Graphical interfaces for monitoring ladder logic programs
JPH04101201A (ja) 1990-08-21 1992-04-02 Toshiba Corp プラント監視制御システム
US5195098A (en) 1991-05-10 1993-03-16 Echelon Corporation Binary data error correction using hint signal
SE513182C2 (sv) 1991-06-12 2000-07-24 Icl Systems Ab Förfarande och system för att revidera data i ett distribuerat datasystem
US5603018A (en) 1991-07-15 1997-02-11 Mitsubishi Denki Kabushiki Kaisha Program developing system allowing a specification definition to be represented by a plurality of different graphical, non-procedural representation formats
US5339430A (en) 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system
US5485600A (en) 1992-11-09 1996-01-16 Virtual Prototypes, Inc. Computer modelling system and method for specifying the behavior of graphical operator interfaces
US5420397A (en) 1992-12-15 1995-05-30 Micro Weiss Electronics, Inc. Control device and safety circuit for heating pads with PTC heater
US5649200A (en) 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US5446903A (en) 1993-05-04 1995-08-29 International Business Machines Corporation Method and apparatus for controlling access to data elements in a data processing system based on status of an industrial process by mapping user's security categories and industrial process steps
US5594858A (en) 1993-07-29 1997-01-14 Fisher-Rosemount Systems, Inc. Uniform control template generating system and method for process control programming
US5530643A (en) 1993-08-24 1996-06-25 Allen-Bradley Company, Inc. Method of programming industrial controllers with highly distributed processing
US5631825A (en) 1993-09-29 1997-05-20 Dow Benelux N.V. Operator station for manufacturing process control system
US5576946A (en) 1993-09-30 1996-11-19 Fluid Air, Inc. Icon based process design and control system
US5555385A (en) 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US6038586A (en) 1993-12-30 2000-03-14 Frye; Russell Automated software updating and distribution
US5485620A (en) 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
US5546301A (en) 1994-07-19 1996-08-13 Honeywell Inc. Advanced equipment control system
US5611059A (en) 1994-09-02 1997-03-11 Square D Company Prelinked parameter configuration, automatic graphical linking, and distributed database configuration for devices within an automated monitoring/control system
US5553237A (en) 1994-12-13 1996-09-03 Base Ten Systems, Inc. Safety critical monitoring of microprocessor controlled embedded systems
US5812394A (en) 1995-07-21 1998-09-22 Control Systems International Object-oriented computer program, system, and method for developing control schemes for facilities
US5864657A (en) 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5909368A (en) 1996-04-12 1999-06-01 Fisher-Rosemount Systems, Inc. Process control system using a process control strategy distributed among multiple control elements
US5940294A (en) 1996-04-12 1999-08-17 Fisher-Rosemont Systems, Inc. System for assisting configuring a process control environment
US5838563A (en) 1996-04-12 1998-11-17 Fisher-Rosemont Systems, Inc. System for configuring a process control environment
US5768119A (en) 1996-04-12 1998-06-16 Fisher-Rosemount Systems, Inc. Process control system including alarm priority adjustment
US5984502A (en) 1996-06-14 1999-11-16 The Foxboro Company Keypad annunciator graphical user interface
WO1997049018A1 (en) 1996-06-19 1997-12-24 Hoechst Celanese Corporation Multi-tasking process control system and method
DE19634341A1 (de) 1996-08-24 1998-02-26 Bosch Gmbh Robert Verfahren zum Schutz von speicherprogrammierten Steuerungen vor einem Überschreiben
US6385494B1 (en) 1996-09-30 2002-05-07 Caterpillar Inc. System and method for producing production control software
US5950209A (en) 1996-10-02 1999-09-07 Alcatel Usa Sourcing, L.P. Software release control system and method
US5903897A (en) 1996-12-18 1999-05-11 Alcatel Usa Sourcing, L.P. Software documentation release control system
US6381698B1 (en) 1997-05-21 2002-04-30 At&T Corp System and method for providing assurance to a host that a piece of software possesses a particular property
US5984504A (en) 1997-06-11 1999-11-16 Westinghouse Electric Company Llc Safety or protection system employing reflective memory and/or diverse processors and communications
US6999824B2 (en) 1997-08-21 2006-02-14 Fieldbus Foundation System and method for implementing safety instrumented systems in a fieldbus architecture
US6138174A (en) 1997-11-24 2000-10-24 Rockwell Technologies, Llc Industrial control system providing remote execution of graphical utility programs
US6167316A (en) 1998-04-03 2000-12-26 Johnson Controls Technology Co. Distributed object-oriented building automation system with reliable asynchronous communication
US6157864A (en) 1998-05-08 2000-12-05 Rockwell Technologies, Llc System, method and article of manufacture for displaying an animated, realtime updated control sequence chart
US6161051A (en) 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
US6442512B1 (en) 1998-10-26 2002-08-27 Invensys Systems, Inc. Interactive process modeling system
US6442515B1 (en) 1998-10-26 2002-08-27 Invensys Systems, Inc. Process model generation independent of application mode
US6546297B1 (en) 1998-11-03 2003-04-08 Robertshaw Controls Company Distributed life cycle development tool for controls
DE29824256U1 (de) 1998-12-14 2001-06-13 Wratil Peter Einheit zur Sicherheitsüberwachung von Steuerungseinrichtungen
US7206646B2 (en) 1999-02-22 2007-04-17 Fisher-Rosemount Systems, Inc. Method and apparatus for performing a function in a plant using process performance monitoring with process equipment monitoring and control
US6385496B1 (en) 1999-03-12 2002-05-07 Fisher-Rosemount Systems, Inc. Indirect referencing in process control routines
US6584466B1 (en) 1999-04-07 2003-06-24 Critical Path, Inc. Internet document management system and methods
US6647301B1 (en) 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
US6515683B1 (en) 1999-06-22 2003-02-04 Siemens Energy And Automation Autoconfiguring graphic interface for controllers having dynamic database structures
US6587108B1 (en) 1999-07-01 2003-07-01 Honeywell Inc. Multivariable process matrix display and methods regarding same
DE19934514C5 (de) 1999-07-22 2013-03-14 Pilz Gmbh & Co. Kg Verfahren zum Konfigurieren eines an einen Feldbus angeschlossenen Busteilnehmers
DE19939567B4 (de) 1999-08-20 2007-07-19 Pilz Gmbh & Co. Kg Vorrichtung zum Steuern von sicherheitskritischen Prozessen
US6415418B1 (en) 1999-08-27 2002-07-02 Honeywell Inc. System and method for disseminating functional blocks to an on-line redundant controller
US6618745B2 (en) 1999-09-10 2003-09-09 Fisher Rosemount Systems, Inc. Linking device in a process control system that allows the formation of a control loop having function blocks in a controller and in field devices
US6477435B1 (en) 1999-09-24 2002-11-05 Rockwell Software Inc. Automated programming system for industrial control using area-model
CA2322113A1 (en) 1999-10-04 2001-04-04 Pitney Bowes Inc. System and method for managing user permissions for accessing functionality of multiple software applications
US6445963B1 (en) 1999-10-04 2002-09-03 Fisher Rosemount Systems, Inc. Integrated advanced control blocks in process control systems
US6449715B1 (en) 1999-10-04 2002-09-10 Fisher-Rosemount Systems, Inc. Process control configuration system for use with a profibus device network
US6446202B1 (en) 1999-10-04 2002-09-03 Fisher-Rosemount Systems, Inc. Process control configuration system for use with an AS-Interface device network
US6775707B1 (en) 1999-10-15 2004-08-10 Fisher-Rosemount Systems, Inc. Deferred acknowledgment communications and alarm management
US6687698B1 (en) 1999-10-18 2004-02-03 Fisher Rosemount Systems, Inc. Accessing and updating a configuration database from distributed physical locations within a process control system
US6449624B1 (en) 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
US6631476B1 (en) 1999-12-22 2003-10-07 Rockwell Automation Technologies, Inc. Safety network for industrial controller providing redundant connections on single media
US6721900B1 (en) 1999-12-22 2004-04-13 Rockwell Automation Technologies, Inc. Safety network for industrial controller having reduced bandwidth requirements
US6684385B1 (en) 2000-01-14 2004-01-27 Softwire Technology, Llc Program object for use in generating application programs
US7130701B1 (en) 2000-05-24 2006-10-31 Schneider Automation Inc. System for remote configuration monitoring of an industrial control system
US7069580B1 (en) 2000-06-16 2006-06-27 Fisher-Rosemount Systems, Inc. Function-based process control verification and security in a process control system
US6647315B1 (en) 2000-09-29 2003-11-11 Fisher-Rosemount Systems, Inc. Use of remote soft phases in a process control system
US7113085B2 (en) 2000-11-07 2006-09-26 Fisher-Rosemount Systems, Inc. Enhanced device alarms in a process control system
WO2002097543A1 (fr) 2001-05-31 2002-12-05 Omron Corporation Unite securisee, systeme de commande, procede de concatenation de dispositifs de commande, procede de commande de systeme de commande, et procede de surveillance de systeme de commande
US6915444B2 (en) 2001-09-12 2005-07-05 Rockwell Automation Technologies, Inc. Network independent safety protocol for industrial controller using data manipulation techniques
US7107358B2 (en) 2001-09-12 2006-09-12 Rockwell Automation Technologies, Inc. Bridge for an industrial control system using data manipulation techniques
US7590848B2 (en) 2002-02-07 2009-09-15 Blackhawk Network System and method for authentication and fail-safe transmission of safety messages
US6928328B2 (en) 2002-08-02 2005-08-09 Fisher-Rosemount Systems, Inc. Integrated electronic signatures for approval of process control system software objects
US7076312B2 (en) 2002-08-02 2006-07-11 Fisher-Rosemount Systems, Inc. Integrated electronic signatures for approval of process control and safety system software objects
US7289861B2 (en) 2003-01-28 2007-10-30 Fisher-Rosemount Systems, Inc. Process control system with an embedded safety system
DE10247520A1 (de) 2002-10-11 2004-04-22 Siemens Ag Verfahren und Einrichtung zur Prozessautomatisierung mit Steuergeräten zur Ansteuerung von Peripheriegeräten über ein Bussystem
SE0203819D0 (sv) 2002-12-19 2002-12-19 Abb As Method to increase the safety integrity level of a control system
US7237109B2 (en) 2003-01-28 2007-06-26 Fisher- Rosemount Systems, Inc. Integrated security in a process plant having a process control system and a safety system
US7865251B2 (en) 2003-01-28 2011-01-04 Fisher-Rosemount Systems, Inc. Method for intercontroller communications in a safety instrumented system or a process control system
US6975966B2 (en) 2003-01-28 2005-12-13 Fisher-Rosemount Systems, Inc. Integrated diagnostics in a process plant having a process control system and a safety system
US8738971B2 (en) * 2011-12-07 2014-05-27 Arm Limited Limiting certain processing activities as error rate probability rises
US9397836B2 (en) * 2014-08-11 2016-07-19 Fisher-Rosemount Systems, Inc. Securing devices to process control systems
US11363035B2 (en) * 2015-05-22 2022-06-14 Fisher-Rosemount Systems, Inc. Configurable robustness agent in a plant security system
US10740186B2 (en) * 2017-05-15 2020-08-11 The Boeing Company High data integrity processing system
CN107480986B (zh) * 2017-08-14 2019-08-09 飞天诚信科技股份有限公司 一种利用硬件实现数字货币钱包的方法及硬件钱包
US11531381B2 (en) * 2018-09-28 2022-12-20 Fisher-Rosemount Systems, Inc. Smart functionality for discrete field devices and signals
DE102019106049A1 (de) * 2019-03-08 2020-09-10 Krohne Messtechnik Gmbh Verfahren zur sicheren Kommunikation zwischen einem Feldgerät der Automatisierungstechnik und einem Endgerät sowie System zur sicheren Kommunikation zwischen einem Feldgerät und einem Endgerät
US11316706B2 (en) * 2019-04-16 2022-04-26 Mastercard International Incorporated Method and system for using dynamic private keys to secure data file retrieval

Also Published As

Publication number Publication date
JP2022092595A (ja) 2022-06-22
US20220190962A1 (en) 2022-06-16
GB2607648A (en) 2022-12-14
GB202117694D0 (en) 2022-01-19
CN114625075A (zh) 2022-06-14
US11424865B2 (en) 2022-08-23

Similar Documents

Publication Publication Date Title
DE102004003569B4 (de) Prozessanlage, Sicherungssystem zur Verwendung in einer Prozessanlage und Verfahren zum Durchführen von Sicherungsprozeduren in einer Prozessanlage
DE102004003605B4 (de) Integriertes Diagnosesystem in einer Prozessanlage mit einem Prozesssteuerungssystem und einem Sicherheitssystem
DE102004003570B4 (de) Integriertes Diagnosesystem in einer Prozessanlage mit einem Prozesssteuerungssystem und einem Sicherheitssystem
DE102020100854A1 (de) System zur sicheren Erfassung von Systemen nicht vertrauenswürdiger Datenquellen, die aus gemeinsamen Quellen stammen
DE102016000234B4 (de) Vorrichtung und verfahren zum kommunikativen verbinden von feldgeräten mit steuereinheiten in einem prozessleitsystem
DE102020100825A1 (de) Verteilte ledger in prozessleitsystemen
DE102017124884A1 (de) Prozessgerätzustand- und Leistungsüberwachung
DE102020112056A1 (de) Framework für den datenschutzrechtlichen austausch von big data mittels verteilter kontenbücher (distributed ledgers)
EP2908195B1 (de) Verfahren zur Überwachung der Sicherheit in einem Automatisierungsnetzwerk sowie Automatisierungsnetzwerk
WO2018059855A1 (de) Verfahren zum manipulationssicheren speichern von daten eines feldgeräts
DE102007063871A1 (de) Vorrichtung und Verfahren zum kommunikativen Kopeln von Feldgeräten mit Steuerungen in einem Prozesssteuerungssystem
DE102010033229A1 (de) Verfahren und System zur manipulationssicheren Übertragung von Steuerdaten
DE102017102677A1 (de) Verfahren zur Authentifizierung eines Feldgeräts der Automatisierungstechnik
EP3079028A1 (de) Planungs- und engineering-verfahren, -software-tool und simulationswerkzeug für eine automatisierungslösung
DE102014111361A1 (de) Verfahren zum Betreiben einer Sicherheitssteuerung und Automatisierungsnetzwerk mit einer solchen Sicherheitssteuerung
DE102021132493A1 (de) Integritätsprüfungen auf variablenebene für die kommunikation in prozesssteuerungsumgebungen
DE102016125169A1 (de) Vorrichtung und System zum Überwachen einer Anlage der Automatisierungstechnik
EP3122016B1 (de) Automatisierungsnetzwerk und verfahren zur überwachung der sicherheit der übertragung von datenpaketen
DE102017205832A1 (de) Verfahren zum Parametrieren eines Feldgeräts sowie parametrierbares Feldgerät
WO2016081970A1 (de) Automatisierungssystem und verfahren zu dessen betrieb
DE102020124820A1 (de) Sicherer externer zugriff auf prozesssteuerungsdaten durch eine mobile vorrichtung
EP3469429A1 (de) Verfahren zum verhindern eines unerlaubten zugriffs auf softwareanwendungen in feldgeräten
WO2012028366A1 (de) Verfahren zur sicherstellung der korrekten funktionsweise einer automatisierungsanlage
EP3470939A1 (de) Verfahren und vorrichtungen zum überwachen der sicherheitsintegrität einer durch ein sicherheitssystem bereitgestellten sicherheitsfunktion
DE102018122002A1 (de) Verfahren zur vorausschauenden Überwachung der Datenübertragung auf zumindest einer Kommunikationsverbindung zwischen zwei Feldgeräten