-
GEBIET DER ERFINDUNG
-
Dieses Patent betrifft im Allgemeinen industrielle Prozessanlagen und Prozessleitsysteme, insbesondere Verfahren und Systeme zur Bereitstellung einer generischen Verschattung in Prozessanlagen ohne vorherige Kenntnis von Konfigurationen.
-
STAND DER TECHNIK
-
In industriellen Prozessanlagen steuern Prozessleitsysteme wie Verteilte Steuerungssysteme (Distributed Control Systems, DCS), sicherheitstechnische Funktionssysteme (Safety Instrumented Systems, SIS) und/oder Speicherprogrammierbare Steuerungen (Programmable Logic Controllers, SPS) einen oder mehrere darin ausgeführte industrielle Prozesse zur Herstellung, Veredelung, Umwandlung, Erzeugung oder Produktion physischer Materialien oder Produkte wie Papier, Pharmazeutika, Erdölprodukte, Kunststoffe, Verpackungen, Chemikalien usw. aus Rohstoffen. Verteilte Steuerungssysteme umfassen in der Regel eine oder mehrere Prozesssteuerungen, die über analoge, digitale oder kombinierte Analog-/Digitalbusse oder über eine oder mehrere drahtlose Kommunikationsverbindungen oder -netze kommunikativ mit einem oder mehreren Feldgeräten gekoppelt sind. Die Feldgeräte wie beispielsweise Ventile, Ventilstellungsregler, Schalter und Geber (z.B. Temperatur-, Druck-, Füllstands- und Durchflusssensoren u. ä.) befinden sich innerhalb der Prozessumgebung und übernehmen in der Regel physische oder prozesssteuernde Funktionen wie Öffnen oder Schließen von Ventilen, Messen von Prozess- und/oder Umgebungsparametern wie Temperatur, Durchfluss oder Druck usw., um einen oder mehrere Prozesse zu steuern, die innerhalb der Prozessanlage oder des Systems ablaufen, um dadurch die physischen Materialien oder Produkte aus Rohstoffen zu erzeugen. Intelligente Feldgeräte, beispielsweise Feldgeräte, die dem bekannten Fieldbus-Protokoll entsprechen, können auch Steuerberechnungen, Alarmierungsfunktionen und andere in der Steuerung übliche Steuerungsfunktionen ausführen. Die Prozesssteuerungen, die sich ebenfalls typischerweise in der Anlagenumgebung befinden, empfangen Signale, die die von den Feldgeräten durchgeführten Prozessmessungen und/oder andere Informationen zu den Feldgeräten (z.B. über Busse, drahtgebundene Kommunikationsnetze und/oder drahtlose Kommunikationsnetze) anzeigen, und führen eine Steuerungsanwendung aus, die z.B. verschiedene Steuermodule ausführt, welche Prozessleitentscheidungen vornehmen, auf Basis der empfangenen Informationen Steuersignale erzeugen und mit den in den Feldgeräten wie HART®, WirelessHART® und FOUNDATION® Fieldbus Feldgeräten ausgeführten Steuermodulen oder -blöcken koordinieren. Die Steuermodule in der Steuerung senden die Steuersignale über die Kommunikationsleitungen oder Verbindungen zu den Feldgeräten, um dadurch den Betrieb mindestens eines Teils der Prozessanlage oder des Systems zu steuern und dadurch mindestens einen Teil eines oder mehrerer industrieller Prozesse zu steuern, die innerhalb der Anlage oder des Systems laufen oder ausgeführt werden. E/A-Geräte, die sich in der Regel ebenfalls innerhalb der Anlagenumgebung befinden, sind typischerweise zwischen einer Steuerung und einem oder mehreren Feldgeräten angeordnet und ermöglichen dort die Kommunikation z.B. durch Umwandlung elektrischer Signale in digitale Werte und umgekehrt. In dieser Schrift werden Feldgeräte, Steuerungen und E/A-Geräte in der Regel als „Prozessleitgeräte“ bezeichnet und sind in der Regel in einer physischen Feldumgebung einer Prozessanlage platziert, angeordnet oder installiert.
-
Einige industrielle Prozessanlagen beinhalten ein sicherheitstechnisches Funktionssystem (Safety Instrumented System, „SIS“), das in der Regel dazu dient, erhebliche sicherheitsrelevante Probleme innerhalb der Prozessanlage zu erkennen und Ventile automatisch zu schließen oder zu öffnen, Strom an Geräten abzuschalten, Flüsse innerhalb der Anlage zu schalten usw., wenn ein Problem auftritt, das eine ernste Gefahr in der Anlage verursachen oder zu einer solchen führen könnte, wie z. B. ein Austritt toxischer Chemikalien, eine Explosion usw. Diese sicherheitstechnischen Funktionssysteme verfügen typischerweise über eine oder mehrere separate Steuerungen neben den Standard-Prozesssteuerungen, die hier als Sicherheitssystem-Logiklöser oder Sicherheitssteuerung bezeichnet werden, die über Busse, Kommunikationsleitungen oder drahtlose Netzwerke mit Sicherheitsfeldgeräten verbunden sind, welche von denen zur Prozesssteuerung getrennt und innerhalb der Prozessanlage installiert sind. Die Logiklöser führen Routinen sicherheitstechnischer Funktionssysteme (SIF-Routinen) aus, die die Sicherheitsfeldgeräte nutzen, um Prozessbedingungen zu erkennen, die mit wesentlichen Ereignissen verbunden sind, wie z.B. die Stellung bestimmter Sicherheitsschalter oder Absperrventile, Über- oder Unterläufe im Prozess, den Betrieb wichtiger Energieerzeugungs- oder Steuergeräte, den Betrieb von Fehlererkennungsgeräten usw., um dadurch Ereignisse innerhalb der Prozessanlage zu erkennen. Wenn ein Ereignis, das eine einzelne Bedingung oder das gleichzeitige Auftreten von zwei oder mehr Bedingungen sein kann, erkannt wird, ergreift die Sicherheitssteuerung einige Maßnahmen, um die schädliche Natur des Ereignisses zu begrenzen, wie z. B. das Schließen von Ventilen, das Abschalten von Vorrichtungen, das Abschalten von Strom in Teilen der Anlage usw. Zu diesen Maßnahmen gehört in der Regel das Schalten von Sicherheitsvorrichtungen in eine ausgelöste oder „sichere“ Betriebsart, die einen schwerwiegenden oder gefährlichen Zustand innerhalb der Prozessanlage verhindern soll.
-
Einige Industrie- oder Prozessanlagen verfügen zusätzlich oder alternativ über eine oder mehrere SPS-Steuerungen (speicherprogrammierbare Steuerungen). Allgemein gesprochen handelt es sich bei SPS um hochzuverlässige Automatisierungssteuerungen, die für raue Feldumgebungen geeignet und dazu ausgelegt sind, dass sie in Reaktion auf Eingangsbedingungen innerhalb eines begrenzten Zeitrahmens durchgängig Ausgabeergebnisse liefern. Innerhalb von SPS-Steuerungen können SPS an verschiedenen Sensoren, Stellglieder und/oder anderen Feldgeräten sowie in einigen Ausführungen auch an anderen Steuerungen angeschlossen sein, von denen Eingaben empfangen und mit einer Steuerungslogik verarbeitet werden, mit der die SPS programmiert wurde, und an die daraus resultierende Ausgaben übertragen werden, um dadurch zumindest einen Teil eines industriellen Prozesses innerhalb einer Prozessanlage zu steuern. Typischerweise werden SPS mit Hilfe einer leiterartigen Logik programmiert oder konfiguriert, obwohl einige SPS mit Zustandslogik, Funktionsblockdiagrammen, Ablaufdiagrammen, strukturiertem Text, Anweisungslisten, anderen Arten von Programmiersprachen usw. programmiert/konfiguriert werden können.
-
So arbeiten innerhalb einer industriellen Prozessanlage verschiedene Prozessleitsysteme (wie z.B. DCS, SIS und SPS und/oder andere Arten von Prozessleitsystemen), um einen oder mehrere industrielle Prozesse in Echtzeit oder zur Laufzeit über verschiedene Prozessleitvorrichtungen zu steuern. Wie bereits erwähnt, bezieht sich der Begriff „Prozessleitgeräte“ im Allgemeinen auf Feldgeräte, E/A-Geräte und Steuerungen eines PLS, Sicherheitsfeldgeräte, E/A-Geräte und Sicherheitslogiklöser oder Sicherheitssteuerungen eines SIS und/oder speicherprogrammierbare Steuerungen und SPS-basierte Feldgeräte-Steuerungssysteme, von denen eine beliebige Anzahl in einer Prozessanlage zur Herstellung, Veredelung, Umwandlung, Erzeugung oder Produktion eines industriellen Produkts oder Materials enthalten sein kann.
-
Informationen aus verschiedenen Prozessleitgeräten der Prozessleitsysteme einer Prozessanlage können über eine Datenautobahn oder ein Kommunikationsnetz einem oder mehreren anderen Hardware-Geräten, wie z.B. Bediener-Workstations, Personal Computern oder anderen Arten von Rechenvorrichtungen mit Benutzerschnittstellen, historischen Prozessdaten, Berichtsgeneratoren, zentralen Datenbanken oder anderen zentralisierten administrativen Rechenvorrichtungen, die typischerweise in Kontrollräumen oder an anderen Orten außerhalb der raueren, physischen Feldumgebung der Anlage, z.B. in einer Back-End-Umgebung der Prozessanlage platziert sind, zur Verfügung gestellt werden. Jedes dieser Hardware-Geräte ist in der Regel über die gesamte Prozessanlage oder einen Teil der Prozessanlage hinweg zentralisiert. Diese Hardware-Geräte führen Anwendungen aus, die z.B. einer Steuerung oder einem Betreiber eines Sicherheitssystems ermöglichen, Funktionen zur Steuerung eines Prozesses und/oder zur Bedienung der Prozessanlage auszuführen, beispielsweise das Ändern der Einstellungen der Prozessleitroutine oder einer Sicherheitsroutine, das Modifizieren der Bedienung der Steuermodule innerhalb der Prozesssteuerungen, der Sicherheitssystemregler, der Feldgeräte usw. beispielsweise durch Ändern der jeweiligen Konfigurationen, Anzeigen des aktuellen Prozesszustandes, Anzeigen der von Feldgeräten, den Prozesssteuerungen oder den Steuerungen des Sicherheitssystems erzeugten Alarme, Simulieren der Bedienung des Prozesses zum Zwecke der Personalschulung oder zum Testen der Prozessleitsoftware, Pflegen und Aktualisieren einer Konfigurationsdatenbank usw. Die von den Hardware-Geräten, Reglern und Feldgeräten verwendete Datenautobahn kann einen drahtgebundenen Kommunikationsweg, einen drahtlosen Kommunikationsweg oder eine Kombination drahtgebundener und drahtloser Kommunikationswege umfassen.
-
Wie allgemein bekannt, werden Prozessleitgeräte typischerweise offline mit Hilfe von Funktionsblockdiagrammen (FBD) und/oder anderen geeigneten Konfigurationswerkzeugen konfiguriert. Solche Konfigurationswerkzeuge ermöglichen die Definition und/oder Konfiguration von Funktionsblöcken und/oder Steuermodulen, wobei Steuermodule typischerweise eine bestimmte Anordnung eines bestimmten Satzes von Funktionsblöcken umfassen. Den konfigurierten Funktionsblöcken und/oder den konfigurierten Steuermodulen entsprechende Steuerobjekte werden heruntergeladen und in entsprechende Prozessleitgeräte instanziiert. Sobald die heruntergeladenen Steuerobjekte instanziiert sind und an ihren Host-Prozessleitgeräten ausgeführt werden, bewirken die Steuerobjekte, dass ihre Host-Prozessleitgeräte gemäß ihrer jeweiligen Konfiguration mindestens einen Teil eines Prozesses innerhalb der Prozessanlage durchführen.
-
In einigen Anordnungen können Steuerobjekte eines FBD (z.B. mit einem oder mehreren Funktionsblöcken, Steuermodulen usw.) auf mehrere Prozessleitgeräte verteilt werden. Sobald die Steuerobjekte an ihren jeweiligen Prozessleitgeräten instanziiert sind, können die Steuerobjekte, die über mehrere Prozessleitgeräte hinweg zusammenarbeiten, veranlassen, dass eine bestimmte Steuerungslogik ausgeführt wird, um mindestens einen Teil des Prozesses zu steuern. In diesen verteilten Konfigurationen kann ein bestimmtes Prozessleitgerät dafür verantwortlich sein, eine gemeinsame Sicht auf die Steuerungslogik darzustellen, die auf mehrere Prozessleitgeräte verteilt arbeitet, z.B. für die Darstellung an einer Benutzerschnittstelle und/oder für den Verbrauch durch eine andere Vorrichtung des Prozessleitsystems. Eine solche Verantwortung oder Aufgabe wird hier allgemein als „Verschattung“ bezeichnet, und als solche kann das für die kollektive Sicht auf die Steuerungslogik verantwortliche Gerät hier als „Verschattungsgerät“ bezeichnet werden, während andere der mehreren Prozessleitgeräte, die zur Ausführung der (von dem Verschattungsgerät für Verbraucher dargestellten und/oder referenzierten) Steuerungslogik in Betrieb sind, hier als „verschattete Geräte“ bezeichnet werden können. Im Allgemeinen werden dynamische Daten und andere Informationen, die von den verschatteten Geräten erzeugt, empfangen und/oder beobachtet werden, am Verschattungsgerät gespiegelt, so dass die gespiegelten Daten am Verschattungsgerät anderen im Prozessleitsystem enthaltenen Geräten, Modulen, Funktionsblöcken, Steuerobjekten und/oder anderen Verbrauchern solcher Daten zur Verfügung gestellt werden.
-
Es wird darauf hingewiesen, dass ein Verschattungsgerät kein separates und von anderen Vorrichtungen unterscheidbares physisches Gerät sein muss. In einigen Ausformungen kann das Verschattungsgerät beispielsweise ein isoliertes Softwaremodul sein, das integraler Bestandteil eines verschatteten Gerätes oder eines anderen Gerätes ist und ausgeführt wird, während das isolierte Softwaremodul als Brücke zwischen dem nativen (verschatteten) Steuerobjekt und den Verbrauchern von Daten dienen kann, die von dem verschatteten Steuerobjekt beobachtet werden. Es wird auch darauf hingewiesen, dass die kollektive Sicht, die das Verschattungsgerät verschiedenen Verbrauchern innerhalb des Prozessleitsystems bietet, im Allgemeinen dynamische Echtzeitdaten umfasst, die vom verschatteten Gerät erzeugt, empfangen und/oder anderweitig [beobachtet] werden, während die verschatteten Geräte online sind und in Echtzeit oder online operieren, um mindestens einen Teil eines oder mehrerer Prozesse zu steuern, die in der Prozessanlage ausgeführt werden. So müssen die verschiedenen Verbraucher von Daten, die von der Steuerungslogik oder Teilen davon erzeugt oder beobachtet werden, nicht direkt mit jedem an der Ausführung der Steuerungslogik beteiligten Prozessleitgerät kommunizieren, sondern können einfach mit dem Verschattungsgerät kommunizieren, um dynamische Echtzeitdaten zu erhalten, die von mehreren an der Steuerungslogik beteiligten verschatteten Geräten erzeugt, empfangen und/oder beobachtet werden. So ermöglicht das Verschattungsgerät den Echtzeit-Datentransfer von den verschatteten Geräten zu den verschiedenen Datenverbrauchern.
-
Verschattungsgeräte können einen oder mehrere Funktionsblöcke, ein oder mehrere Steuermodule und/oder Kombinationen davon verschatten. Wenn z.B. ein Verschattungsgerät ein Steuermodul (z. B. eine Sammelansicht desselben) hostet, das aus einem oder mehreren Funktionsblöcken besteht, die in einem oder mehreren anderen Prozessleitgeräten ausgeführt werden, wird dies so bezeichnet, dass das Verschattungsgerät „das Steuermodul verschattet“ oder „das Modul verschattet“. Das Verschatten eines Steuermoduls kann z.B. zum Zwecke der Benutzerinteraktion und/oder des Datentransfers in und aus dem Steuermodul erfolgen.
-
In einem anderen Beispiel stellt ein Verschattungsgerät einen Funktionsblock bereit (d. h., liefert eine Sammelansicht desselben), von dem ein Teil von dem physischen Gerät ausgeführt wird, in dem sich das Verschattungsgerät befindet, während ein anderer Teil davon durch ein anderes Prozessleitgerät ausgeführt wird. In diesem Beispiel wird gesagt, dass das Verschattungsgerät „den Funktionsblock verschattet“. Beispielsweise kann eine Foundation-Fieldbus-Steuerungsstrategie von einem oder mehreren Funktionsblöcken ausgeführt werden, die ihre Ausführung an einer Prozesssteuerung vornehmen, und von einem oder mehreren anderen Funktionsblöcken, die ihre Ausführung in verschiedenen Feldgeräten vornehmen. Die Prozesssteuerung kann einen oder mehrere andere Funktionsblöcke verschatten, die in den verschiedenen Feldgeräten, z.B. zum Zwecke der Benutzerinteraktion, des Datentransfers in die und aus den Funktionsblöcken usw., ausgeführt werden.
-
Beispielausformungen bekannter technischer Methoden zur Verschattung von Steuermodulen und Funktionsblöcken in Prozessleitsystemen und Prozessanlagen sind in
US-Patent Nr. 6,738,388 und in
US-Patent Nr. 7,519,083 enthalten, deren Inhalte in ihrer Gesamtheit hiermit durch Verweis zum Bestandteil dieser Schrift gemacht werden.
-
ZUSAMMENFASSUNG
-
In einer Ausführungsform umfasst ein in einer Prozessanlage enthaltenes Verschattungsgerät einen oder mehrere Prozessoren und eine oder mehrere Schnittstellen, die das Verschattungsgerät kommunikativ mit einem verschatteten Gerät verbinden, wobei das Verschattungsgerät und das verschattete Gerät in einem Prozessleitsystem enthalten sind, das zur Steuerung eines industriellen Prozesses in der Prozessanlage in Echtzeit läuft.
-
Das Verschattungsgerät enthält auch einen oder mehrere reale Speicher, die eine Verschattungsbibliothek speichern, und einen Verschattungsmanager mit computerausführbaren Befehlen, die auf dem einen oder den mehreren realen Speichern gespeichert sind und die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, ein Verschattungsgerät veranlassen, vom verschatteten Gerät eine Anzeige eines instanziierten Quell-Funktionsblocks (z.B. eines Quell-Funktionsblocks, der beim Herunterladen in das verschattete Gerät konfiguriert wurde) zu empfangen. Zusätzlich bewirken die computerausführbaren Befehle, dass das Verschattungsgerät, wenn eine dem Quell-Funktionsblock entsprechende Signatur nicht in der dynamischen Bibliothek gespeichert ist, (i) basierend auf der empfangenen Anzeige des Quell-Funktionsblocks eine Signatur des Quell-Funktionsblocks erzeugt, (ii) die erzeugte Signatur des Quell-Funktionsblocks in der Verschattungsbibliothek speichert und (iii) die erzeugte Signatur des Quell-Funktionsblocks instanziiert und dadurch einen Schatten des Quell-Funktionsblocks am Verschattungsgerät erzeugt. Ferner bewirken die computerausführbaren Befehle, dass das Verschattungsgerät, wenn eine dem Quell-Funktionsblock entsprechende Signatur in der dynamischen Bibliothek gespeichert ist, (i) aufgrund der empfangenen Anzeige des Quell-Funktionsblocks eine Diskrepanz zwischen dem Quell-Funktionsblock und der dem Quell-Funktionsblock entsprechenden gespeicherten Signatur bestimmt, (ii) die gespeicherte Signatur, die dem Quell-Funktionsblock entspricht, basierend auf der Diskrepanz aktualisiert, (iii) die aktualisierte Signatur des Quell-Funktionsblocks in der Verschattungsbibliothek speichert und (iv) die aktualisierte Signatur des Quell-Funktionsblocks instanziiert, wodurch der Schatten des Quell-Funktionsblocks am Verschattungsgerät erzeugt wird.
-
Der eine oder die mehreren Prozessoren des Verschattungsgerätes sind so konfiguriert, dass sie den Schatten des Quell-Funktionsblocks verwenden, um dynamische Daten zu spiegeln, die von dem instanziierten Quell-Funktionsblock beobachtet werden, der am verschatteten Gerät während der Echtzeitsteuerung des industriellen Prozesses in der Prozessanlage ausgeführt wird, und dass sie die gespiegelten dynamischen Daten einem oder mehreren anderen im Prozessleitsystem enthaltenen Geräten und/oder Funktionsblöcken zur Verfügung stellen, wodurch der am verschatteten Gerät ausgeführte instanziierte Quell-Funktionsblock vom Verschattungsgerät verschattet wird.
-
In einer Ausführungsform umfasst ein Verfahren zum Verschatten einer Vorrichtung in einer Prozessanlage das Eingehen, von einem verschatteten Gerät, einer Anzeige eines instanziierten Quell-Funktionsblocks am verschatteten Gerät (z.B. eines Quell-Funktionsblocks, der konfiguriert und in das verschattete Gerät heruntergeladen wurde), wobei das Verschattungsgerät und das verschattete Gerät in einem Prozessleitsystem enthalten sind, das einen industriellen Prozess in der Prozessanlage in Echtzeit steuert. Zusätzlich dazu beinhaltet das Verfahren das Bestimmen, dass eine dem Quell-Funktionsblock entsprechende Signatur nicht am Verschattungsgerät gespeichert wird, und basierend auf der Bestimmung, dass die dem instanziierten Quell-Funktionsblock entsprechende Signatur nicht am Verschattungsgerät gespeichert wird, das Erkennen der Signatur des Quell-Funktionsblocks und das Speichern der Signatur des Quell-Funktionsblocks in einer Verschattungsbibliothek des Verschattungsgerätes. Ferner umfasst das Verfahren am verschatteten Gerät und durch Verwendung der Signatur des Quell-Funktionsblocks das Spiegeln dynamischer Daten, die von dem instanziierten Quell-Funktionsblock bei der Echtzeitsteuerung des industriellen Prozesses erzeugt und/oder empfangen werden, sowie die Bereitstellung der gespiegelten dynamischen Daten durch das Verschattungsgerät an andere, in dem Prozessleitsystem enthaltene Funktionsblöcke und/oder Geräte, wodurch der am verschatteten Gerät ausgeführte instanziierte Quell-Funktionsblock verschattet wird.
-
Figurenliste
-
- 1 zeigt ein Blockschaltbild einer Beispiel-Prozessanlage, in der generische Verschattungen umgesetzt bzw. eingebunden werden können,
- 2 zeigt ein Blockschaltbild eines Beispielsystems zur vorkonfigurierten Verschattung in Prozessleitsystemen,
- 3 zeigt ein Blockschaltbild eines Beispielsystems für die generische Verschattung in Prozessleitsystemen, und
- 4 zeigt ein Flussdiagramm eines Beispielverfahrens der generischen Verschattung in einer Prozessanlage.
-
DETAILLIERTE BESCHREIBUNG
-
1 zeigt ein Beispiel einer Prozessanlage 5 mit einem oder mehreren Prozessleitsystemen, die einen oder mehrere industrielle Prozesse in Echtzeit steuern und in denen beliebig viele der hier beschriebenen generischen Verschattungsverfahren, Systeme, Vorrichtungen, Geräte, Mechanismen und/oder technischen Methoden implementiert werden können. Ein oder mehrere Prozessleitsysteme der Prozessanlage 5 können ein oder mehrere verteilte Steuerungssysteme (DCS), sicherheitstechnische Funktionssysteme (SIS), Speicherprogrammierbare Steuerungen (SPS) und/oder andere Arten von Prozessleitsystemen umfassen, von denen jedes entsprechende Prozessleitgeräte enthalten kann; jedoch ist die Prozessanlage 5 in 1 zur besseren Darstellung so dargestellt, dass sie ein Prozessleitsystem enthält, das ein DCS ist, und ein Prozessleitsystem, das ein SIS ist, wie im Folgenden näher beschrieben. Ein Fachmann wird jedoch erkennen, dass jeder/jede/jedes der hier beschriebenen generischen Verschattungsverfahren, Systeme, Vorrichtungen, Geräte, Mechanismen und/oder technischen Methoden leicht in Prozessanlagen, die mehr als ein DCS, mehr als ein SIS, eine oder mehrere SPS und/oder eine oder mehrere andere Arten von Prozessleitsystemen umfassen, umgesetzt werden kann.
-
Im Allgemeinen umfasst die Prozessanlage 5 bei Inbetriebnahme und Online-Betrieb jedoch ein oder mehrere drahtgebundene oder drahtlose Prozessleitgeräte, -komponenten oder - elemente, die zusammenwirken, um einen oder mehrere Prozesse innerhalb der Prozessanlage 5 zu steuern, die beispielsweise zur Erzeugung physischer, industrieller Produkte oder Materialien wie Papierprodukten, Arzneimitteln, Erdölprodukten, Verpackungen, Kunststoffen usw. aus Rohstoffen führen können. So können zumindest einige der Prozessleitgeräte der Prozessanlage 5 verschiedene physische Funktionen erfüllen, wie z.B. Öffnen und Schließen von Ventilen, Erfassen von Temperatur, Erfassen des Durchflusses, Messen von Volumen, Dichte und/oder anderen Materialeigenschaften usw. Die Prozessanlage 5 und das/die darin enthaltene(n) Prozessleitsystem(e) können auch ein oder mehrere drahtgebundene Kommunikationsnetze, drahtlose Kommunikationsnetze und/oder zentralisierte Datenbanken wie kontinuierliche, Batch-, Asset-Management-, Konfigurations-, historische Prozessdaten- und andere Arten von Datenbanken umfassen.
-
Wie bereits erwähnt, können die in den Prozessleitsystemen der Prozessanlage 5 enthaltenen Prozessleitgeräte DCS-Feldgeräte, E/A-Geräte und Steuerungen, SIS-Sicherheitsfeldgeräte, E/A-Geräte und Sicherheitssteuerungen oder Logiklöser sowie speicherprogrammierbare Steuerungen (SPS) umfassen, um nur einige zu nennen. Typischerweise sind Prozessleitgeräte, die die hier beschriebenen technischen Methoden der generischen Verschattung unterstützen, intelligente Prozessleitgeräte, die als solche einen oder mehrere nicht transitorische, reale Speicher enthalten, auf denen ihre jeweiligen Konfigurationen und/oder andere Daten gespeichert sind, sowie einen oder mehrere Prozessoren, die die instanziierten Konfigurationen wie Regelkreise, Alarmierung und andere Kontrollfunktionen während Echtzeit- oder Online-Operationen ausführen, um das darin definierte Verhalten auszuführen. Darüber hinaus beinhalten Prozessleitgeräte in der Regel eine oder mehrere Kommunikationsschnittstellen zu einem oder mehreren Prozessleitnetzen, um dadurch Prozessleitsignale eines geeigneten industriellen Steuerungsprotokolls, wie HART, WirelessHART, Fieldbus, Profibus usw., zu und von anderen Prozessleitsystemen innerhalb der physischen Feldumgebung der Prozessanlage 5 und/oder zu und von Back-End-Umgebungen der Prozessanlage 5 zu senden und zu empfangen, wie im Folgenden näher erläutert wird.
-
Typischerweise werden Prozessleitgeräte mit Hilfe von Funktionsblockdiagrammen (FUP) und/oder anderen geeigneten Konfigurationswerkzeugen offline konfiguriert. Solche Konfigurationswerkzeuge ermöglichen die Definition und/oder Konfiguration eines oder mehrerer Funktionsblöcke und/oder eines oder mehrerer Steuermodule. Steuerobjekte, die den konfigurierten Funktionsblöcken bzw. konfigurierten Steuermodulen entsprechen, werden in die jeweilige Prozessleitgeräte innerhalb der Feldumgebung der Anlage 5 geladen und instanziiert. Wenn die instanziierten Steuerobjekte an ihren Host-Prozessleitgeräten während des Echtzeit- oder Online-Betriebs ausgeführt werden, bewirken die Steuerobjekte, dass die Hostgeräte entsprechend ihrer jeweiligen Konfiguration mindestens einen Teil eines oder mehrerer Prozesse innerhalb der Prozessanlage 5 steuern, z.B. durch Empfangen von Signalen, Ausführen einer oder mehrerer Steuerfunktionen basierend auf den empfangenen Signalen, Übertragen von daraus resultierenden Steuersignalen usw.
-
Bei bekannten Verschattungstechniken, die derzeit in Prozessleitsystemen verwendet werden, ist ein Verschattungsgerät so konfiguriert, dass es Konfigurationen von Steuerobjekten enthält oder auf andere Weise referenziert, die es während des Online-Betriebs verschatten soll. Durch Verwenden eines Konfigurationstools oder eines anderen geeigneten Werkzeugs wird die Konfiguration des Verschattungsgerätes so definiert, dass sie die Konfigurationen von Steuerobjekten (z.B. entsprechend Funktionsblöcken, Steuermodulen usw.), die das Verschattungsgerät während des Online-Betriebs verschatten soll, enthält oder referenziert. Diese Definitionen und/oder Konfigurationen des Verschattungsgerätes und des verschatteten Gerätes werden in einer Konfigurationsdatenbank gespeichert und dann in das Verschattungsgerät zur Ausführung während des Echtzeit-Anlagenbetriebs heruntergeladen oder instanziiert, so dass das Verschattungsgerät seine Verschattungsaufgaben der Definition durch Konfiguration des Verschattungsgerätes, das die Konfigurationen der verschatteten Steuerobjekte enthält oder referenziert, entsprechend erfüllt. So müssen in derzeit bekannten Prozessleitsystemen detaillierte Kenntnisse über die zu verschattenden Steuerobjekte bekannt sein und von vornherein in die Konfigurationen ihrer Verschattungsgeräte einfließen. Daher ist es äußerst umständlich, wenn nicht sogar unmöglich, ohne vorherige detaillierte Kenntnisse und Konfiguration dieser verschatteten Steuerobjekte und ihrer jeweiligen Verschattungsgeräte Änderungen an bestehenden verschatteten Steuerobjekten vorzunehmen und/oder neue, verschattete Steuerobjekte in das Prozessleitsystem einzubringen. In einigen Szenarien müssen Verschattungsgeräte sogar offline genommen werden, damit geänderte und/oder neue Steuerobjekte verschatteter Geräte in der Konfiguration des Verschattungsgerätes korrekt definiert oder referenziert werden.
-
Andererseits ermöglichen die in dieser Schrift offenbarten neuartigen generischen Verschattungstechniken, -systeme, -verfahren, -vorrichtungen, -geräte und -mechanismen die automatische Erkennung verschatteter Steuerobjekte (z.B. von Funktionsblöcken und/odermodulen) durch die Verschattungsgeräte ohne Vorkonfiguration bzw. Vordefinition, so dass Verschattungsgeräte automatisch konfiguriert werden (z.B. während des Echtzeit- oder Online-Betriebs der Prozessanlage) zur ordnungsgemäßen Darstellung und/oder Übertragung von Daten verschatteter Objekte an Benutzerschnittstellen und/oder verschiedene andere Teile des Prozessleitsystems, die Verbraucher der von den verschatteten Steuerobjekten beobachteten Daten sind, welche dynamische Daten sein können, die von den verschatteten Steuerobjekten während ihrer Online-Ausführung in der Prozessanlage 5 erzeugt, empfangen oder anderweitig beobachtet werden.
-
Das in 1 dargestellte Beispiel einer Prozessanlage 5 enthält ein PLS-Prozessleitsystem, das einen oder mehrere Prozesssteuerungen enthält, die Signale empfangen, welche die von den Feldgeräten durchgeführten Prozessmessungen und/oder andere von den Feldgeräten erfasste oder von anderen Prozesssteuerungen bereitgestellte Informationen anzeigen. Die Steuerungen verarbeiten die von den Feldgeräten eingegangenen Informationen mit Hilfe einer oder mehrerer Steuerroutinen, die Steuersignale erzeugen, welche über drahtgebundene oder drahtlose Prozessleit-Kommunikationsverbindungen oder -netze an andere Steuerungen und/oder Feldgeräte gesendet werden, um den Betrieb eines Prozesses in der Anlage 5 zu steuern. Typischerweise erfüllt mindestens ein Feldgerät eine physische Funktion (z.B. Öffnen oder Schließen eines Ventils, Erhöhen oder Verringern einer Temperatur, Messen, Erfassen einer Bedingung usw.), um den Betrieb eines Prozesses zu steuern. Einige Typen von Feldgeräten kommunizieren direkt mit Steuerungen, andere Typen von Feldgeräten kommunizieren mit Steuerungen über Ein-/Ausgabegeräte (E/A-Geräte). Prozessleitgeräte können drahtgebunden oder drahtlos sein; auch kann eine beliebige Anzahl und Kombination von drahtgebundenen und drahtlosen Prozesssteuerungen, Feldgeräten und E/A-Geräten in die Prozessanlagenumgebung oder das System 5 eingebunden sein.
-
Beispielsweise stellt das System von 1 ein Prozessleitsystem 5 mit mehreren Prozesssteuerungen 11 dar, bei dem einige der Prozesssteuerungen 11 kommunikativ über die Ein-/Ausgangskarten 26 und 28 drahtgebunden mit den Feldgeräten 15-22 verbunden sind. Darüber hinaus sind einige der Prozesssteuerungen 11 über ein drahtloses Gateway 35 und eine Prozessteuerungs-Datenautobahn 10 drahtlos oder teilweise drahtlos mit den Feldgeräten 40-46 verbunden. Die Prozessteuerungs-Datenautobahn 10 kann eine oder mehrere drahtgebundene und/oder drahtlose Kommunikationsverbindungen enthalten und kann mit jedem beliebigen oder zweckgerechten Kommunikationsprotokoll wie z.B. einem Ethernet-Protokoll realisiert werden. In einigen (nicht dargestellten) Konfigurationen können ein oder mehrere der Prozesssteuerungen 11 über ein oder mehrere andere Kommunikationsnetze als die Datenautobahn oder das Kommunikationsnetz 10 kommunikativ mit dem drahtlosen Gateway 35 verbunden sein, beispielsweise über eine beliebige Anzahl anderer drahtgebundener oder drahtloser Kommunikationsverbindungen, die andere Kommunikationsprotokolle unterstützen, z.B. Wi-Fi oder andere IEEE 802.11 konforme drahtlose lokale Netzwerkprotokolle, mobile Kommunikationsprotokolle (z.B. WiMAX, LTE oder andere ITU-R-kompatible Protokolle), das Bluetooth® Protokoll, das HART® Protokoll, das WirelessHART® Protokoll, das Profibus Protokoll, das FOUNDATION® Fieldbus Protokoll usw.
-
Die Steuerungen 11, beispielsweise die von Emerson Process Management vertriebene DeltaV™-Regler, können einen Batch-Prozess oder einen kontinuierlichen Prozess mit mindestens einigen der Feldgeräte 15-22 und 40-46 umsetzen. Die Steuerungen 11 können nicht nur kommunikativ mit der Prozesssteuerungs-Datenautobahn 10 verbunden sein, sondern auch mit mindestens einem Teil der Feldgeräte 15-22 und 40-46 über jede beliebige Hard- und Software, die z.B. mit Standard 4-20 mA-Geräten, E/A-Karten 26, 28 und/oder einem beliebigen intelligenten Kommunikationsprotokoll wie dem FOUNDATION® Fieldbus-Protokoll, dem HART®-Protokoll, dem WirelessHART®-Protokoll usw. verbunden ist. In 1 sind die Steuerungen 11, die Feldgeräte 15-22 und die E/A-Karten 26, 28 drahtgebundene Geräte, während die Feldgeräte 40-46 drahtlose Feldgeräte sind. Natürlich können die drahtgebundenen Feldgeräte 15-22 und die drahtlosen Feldgeräte 40-46 mit allen anderen gewünschten Standards oder Protokollen, wie z.B. allen drahtgebundenen oder drahtlosen Protokollen, samt allen in der Zukunft entwickelten Standards oder Protokollen, konform sein.
-
Die Prozesssteuerungen 11 von 1 definieren jeweils einen eigenen Knoten des Prozessleitsystems und enthalten einen entsprechenden Prozessor 30, der eine oder mehrere entsprechende (z.B. in einem Speicher 32 gespeicherte) Prozesssteuerungsroutinen 38 umsetzt oder überwacht, wobei solche Prozesssteuerungsroutinen 38 in dieser Schrift generell als Steuermodule bezeichnet werden. Der Prozessor 30 ist so ausgebildet, dass er mit den Feldgeräten 15-22 und 40-46 und mit anderen, kommunikativ mit den Steuerungen 11 verbundenen Knoten kommuniziert. Zu beachten ist, dass beliebige der hier beschriebenen Steuerroutinen oder Module 38 von verschiedenen Steuerungen oder anderen Geräten umgesetzt oder ausgeführt werden können, wenn dies gewünscht ist, d.h., die ausführende Steuerungslogik kann auf mehrere Prozessleitgeräte verteilt sein. Ebenso können die hier beschriebenen Steuerroutinen oder Steuermodule 38, die innerhalb des Prozessleitsystems 5 umgesetzt werden sollen, beliebige Formen wie Software, Firmware, Hardware usw. annehmen. Außerdem können die Steuerroutinen 38 in jedem gewünschten Softwareformat umgesetzt werden, beispielsweise durch Verwendung von objektorientierter Programmierung, Leiterlogik, sequentiellen Funktionsdiagrammen, Funktionsblockdiagrammen oder beliebigen anderen Softwareprogrammiersprachen oder Designparadigmen. Die Steuerroutinen bzw. Steuermodule 38 können in jedem beliebigen Speichertyp 32 wie Arbeitsspeicher (RAM) oder Festwertspeicher (ROM) gespeichert sein. Ebenso können die Steuerroutinen 38 beispielsweise in einem oder mehreren EPROMs, EEPROMs, anwendungsspezifischen integrierten Schaltungen (ASICs) oder anderen Hardware- oder Firmware-Elementen hartcodiert sein. So können die Steuerungen 11 so ausgebildet sein, dass sie eine Steuerungsstrategie oder Steuerroutine in beliebiger Weise umsetzen.
-
In einem Fall setzen die Steuerungen 11 eine Steuerungsstrategie mit Hilfe von Steuermodulen 38 um, die durch sogenannte Funktionsblöcke definiert sind, wobei jeder Funktionsblock ein Objekt oder ein anderer Teil (z.B. ein Unterprogramm) einer übergeordneten Steuerroutine oder Steuerungslogik ist und in Verbindung mit anderen Funktionsblöcken (in Kommunikation über sogenannte Links) zur Umsetzung von Prozessregelkreisen innerhalb des Prozessleitsystems 5 seine Funktion erfüllt. Steuerungsbasierte Funktionsblöcke führen in der Regel eine Eingabefunktion aus, wie sie beispielsweise einem Geber, einem Sensor oder einer anderen Prozessparameter-Messeinrichtung zugeordnet ist; einer Steuerfunktion, beispielsweise einer solchen, die mit einer Steuerroutine verknüpft ist, welche eine PID-, Fuzzy-Logik- usw. - Steuerung ausführt; oder einer Ausgabefunktion, welche den Betrieb eines beliebigen Gerätes, beispielsweise eines Ventils, steuert, um eine physische Funktion innerhalb des Prozessleitsystems 5 auszuführen. Natürlich existieren auch hybride und andere Arten von Funktionsblöcken. Funktionsblöcke können in den Steuerungen 11 gespeichert und ausgeführt werden, was typischerweise der Fall ist, wenn diese Funktionsblöcke für Standard 4-20 mA-Geräte und einige Typen von intelligenten Feldgeräten wie HART®-Geräte verwendet werden, oder können in den Feldgeräten selbst gespeichert und umgesetzt werden, was bei FOUNDATION® Fieldbus-Geräten der Fall sein kann. So ist erkennbar, dass die Steuerungen 11 eine oder mehrere Steuerroutinen oder Module 38 enthalten können, die in der Lage sind, einen oder mehrere Regelkreise umzusetzen, die durch Ausführen eines oder mehrerer Funktionsblöcke ausgeführt werden.
-
Die drahtgebundenen Feldgeräte 15-22 können beliebige Arten von Vorrichtungen wie Sensoren, Ventile, Geber, Positionierer usw. sein, während die E/A-Karten 26 und 28 beliebige Arten von E/A-Vorrichtungen sein können, die ein beliebiges gewünschtes Kommunikations- oder Regler-Protokoll erfüllen. In 1 sind die Feldgeräte 15-18 Standard 4-20 mA-Geräte oder HART®-Geräte, die über analoge Leitungen oder kombinierte analoge und digitale Leitungen zu den E/A-Karten 26 kommunizieren, während die Feldgeräte 19-22 intelligente Geräte wie FOUNDATION® Fieldbus-Feldgeräte sind, die über einen digitalen Bus zu den E/A-Karten 28 über ein FOUNDATION® Fieldbus-Kommunikationsprotokoll kommunizieren. In einigen Ausführungsformen können jedoch zumindest einige der drahtgebundenen Feldgeräte 15-22 und/oder zumindest einige der E/A-Karten 26, 28 zusätzlich oder alternativ mit den Steuerungen 11 über die Prozesssteuerungs-Datenautobahn 10 und/oder über andere geeignete Steuerungssystemprotokolle (z.B. Profibus, DeviceNet, Foundation Fieldbus, ControlNet, Modbus, HART usw.) kommunizieren.
-
Im System von 1 kommunizieren die drahtlosen Feldgeräte 40-46 über ein drahtloses Prozesssteuerungs-Kommunikationsnetz 70 mit einem drahtlosen Protokoll, wie dem WirelessHART®-Protokoll. Solche drahtlosen Feldgeräte 40-46 können direkt mit einem oder mehreren anderen Geräten oder Knoten des drahtlosen Netzwerks 70 kommunizieren, die ebenfalls für die drahtlose Kommunikation (z. B. über das drahtlose Protokoll oder ein anderes drahtloses Protokoll) konfiguriert sind. Zur Kommunikation mit einem oder mehreren anderen Knoten, die nicht für die drahtlose Kommunikation konfiguriert sind, können die drahtlosen Feldgeräte 40-46 das drahtlose Gateway 35 verwenden, das mit der Prozesssteuerungs-Datenautobahn 10 oder einem anderen Prozessleitsystem-Kommunikationsnetz verbunden ist. Das drahtlose Gateway 35 ermöglicht den Zugriff auf verschiedene drahtlose Geräte 40-58 des drahtlosen Kommunikationsnetzes 70. Insbesondere bietet das drahtlose Gateway 35 eine kommunikative Kopplung zwischen den drahtlosen Geräten 40-58, den drahtgebundenen Geräten 11-28 und/oder anderen Knoten oder Geräten der Prozesssteuerungsanlage 5. Beispielsweise kann das drahtlose Gateway 35 eine kommunikative Kopplung über die Prozesssteuerungs-Datenautobahn 10 und/oder über ein oder mehrere andere Kommunikationsnetze der Prozessanlage 5 ermöglichen.
-
Ähnlich wie die drahtgebundenen Feldgeräte 15-22 übernehmen die drahtlosen Feldgeräte 40-46 des drahtlosen Netzwerks 70 physische Steuerungsfunktionen innerhalb der Prozessanlage 5, z.B. Öffnen oder Schließen von Ventilen, Messen von Prozessparametern usw. Die drahtlosen Feldgeräte 40-46 sind jedoch für die Kommunikation über das drahtlose Protokoll des Netzwerks 70 konfiguriert. Als solche sind die drahtlosen Feldgeräte 40-46, das drahtlose Gateway 35 und andere drahtlose Knoten 52-58 des drahtlosen Netzwerks 70 Erzeuger und Verbraucher drahtloser Kommunikationspakete.
-
In einigen Konfigurationen der Prozessanlage 5 umfasst das drahtlose Netzwerk 70 auch nicht-drahtlose Geräte. Beispielsweise ist in 1 ein Feldgerät 48 als 4-20 mA Altgerät und ein Feldgerät 50 als drahtgebundenes HART® -Gerät dargestellt. Zur Kommunikation innerhalb des Netzwerks 70 sind die Feldgeräte 48 und 50 über einen drahtlosen Adapter 52a, 52b mit dem drahtlosen Kommunikationsnetzwerk 70 verbunden. Die drahtlosen Adapter 52a, 52b unterstützen ein drahtloses Protokoll wie WirelessHART und unterstützen unter Umständen auch ein oder mehrere andere Kommunikationsprotokolle wie Foundation® Fieldbus, PROFIBUS, DeviceNet usw. Zusätzlich dazu kann das drahtlose Netzwerk 70 in einigen Konfigurationen einen oder mehrere Netzwerkzugangspunkte 55a, 55b umfassen, die separate physische Vorrichtungen sein können, welche mit dem drahtlosen Gateway 35 in drahtgebundener Kommunikation stehen, oder es kann mit dem drahtlosen Gateway 35 als integralem Gerät versehen sein. Das drahtlose Netzwerk 70 kann auch einen oder mehrere Router 58 umfassen, um Pakete von einem drahtlosen Gerät zu einem anderen drahtlosen Gerät innerhalb des drahtlosen Kommunikationsnetzwerks 70 weiterzuleiten. Im Beispielsystem von 1 kommunizieren die drahtlosen Geräte 40-46 und 52-58 miteinander und mit dem drahtlosen Gateway 35 über drahtlose Verbindungen 60 des drahtlosen Kommunikationsnetzwerks 70 bzw. über die Prozesssteuerungs-Datenautobahn 10.
-
Darüber hinaus beinhaltet die Prozessanlage 5 eine SIS-Steuerung, die aus Sicherheitslogiklösern oder Steuerungen 72 und Sicherheitsfeldgeräten 74 besteht. Insbesondere sind eine oder mehrere der Prozesssteuerungen 11 an Sicherheitslogiklöser oder Sicherheitssystemsteuerungen 72 angeschlossen, die wiederum an Sicherheitssystem-Feldgeräte oder Anlagen 74 angeschlossen sind. Die Sicherheitssteuerungen 72 können direkt an die Sicherheitsfeldgeräte 74 (wie in 1 dargestellt) oder über ein oder mehrere (in 1 nicht dargestellte) E/A-Geräte an die Sicherheitsfeldgeräte 74 angeschlossen sein und in jedem Fall mit diesen über beliebige drahtgebundene oder drahtlose Kommunikationsverbindungen verbunden sein. Ebenso können die Sicherheitsfeldgeräte 74 beliebige Arten von Geräten sein, die zu Sicherheitszwecken jede Art von physischer Funktion oder Sensorfunktion innerhalb der Anlage erfüllen, und sie können mit einem der oben beschriebenen Kommunikationsprotokolle oder anderen Kommunikationsprotokollen konform sein. In gleicher Weise können die Sicherheitssteuerungen 72 ein oder mehrere Sicherheitssystemlogikmodule 76 (die hier auch austauschbar als „Sicherheitssystemmodule“ oder „Sicherheitssystem-Steuerungsmodule“ bezeichnet werden) in einem Speicher 77 ablegen und diese Sicherheitssystemmodule 76 auf einem Prozessor 78 ausführen. Die Sicherheitssystemlogikmodule 76 können auf jede der oben beschriebenen Arten für die Prozessleitmodule 38 konfiguriert werden und können beliebige Funktionen innerhalb des Sicherheitssystems ausführen, einschließlich beispielsweise Funktionen der Benutzerschnittstelle wie z.B. Alarmierungsfunktionen. Die Sicherheitslogiksteuerungen 72 können sich auf Wunsch in denselben Knoten wie die Prozesssteuerungen 11 oder in anderen Knoten befinden.
-
Die Prozessanlage oder das Prozessleitsystem 5 von 1 umfasst auch einen oder mehrere Bediener-Workstations 80, die jeweils kommunikativ mit der Datenautobahn 10 verbunden sind und jeweils einen Speicher und einen oder mehrere Computerprozessoren enthalten. Bediener und sonstiges Personal können an den Bediener-Workstations 80 die Anlage 5 und Elemente innerhalb der Anlage 5 konfigurieren und/oder den laufenden Betrieb der Prozessanlage 5 einsehen und überwachen, sowie alle erforderlichen Diagnose-, Korrektur-, Wartungs- und/oder sonstigen Maßnahmen ergreifen. Zumindest ein Teil der Bediener-Workstations 80 kann sich in verschiedenen, geschützten Bereichen in oder nahe der Anlage 5 befinden; auch können in manchen Situationen zumindest einige der Bediener-Workstations 80 entfernt angeordnet sein, jedoch dennoch in kommunikativer Verbindung mit der Anlage 5 stehen. Die Bediener-Workstations 80 können drahtgebunden oder drahtlos sein.
-
Das beispielhafte Prozessleitsystem 5 ist ferner so dargestellt, dass es ein Konfigurationstool oder eine Applikation 81 (gespeichert in einem Speicher und ausgeführt auf einem Prozessor von mindestens einer der Bediener-Workstations 80) und eine oder mehrere Konfigurationsdatenbanken 82 umfasst, von denen jede ebenfalls kommunikativ mit der Datenautobahn 10 verbunden ist. Wie oben beschrieben, können verschiedene Instanzen des Konfigurationstools oder der Anwendung 81 auf einem oder mehreren Rechenvorrichtungen ausgeführt werden, um es dem Benutzer zu ermöglichen, Prozesssteuermodule (38) und/oder Sicherheitssystemmodule (76) zu erzeugen oder zu ändern, Verschattungsgeräte so zu konfigurieren, dass sie Kenntnis von ihren jeweiligen verschatteten Geräten haben, und diese konfigurierten Module, Verschattungs- und Unterstützungsmechanismen über die Datenautobahn 10 auf die Steuerungen 11, die Sicherheitslogikgeräte 72, ein oder mehrere der Feldgeräte 15-22, 40-46, 48, 50, die Sicherheitsfeldgeräte 74 und/oder andere Knoten der Prozessanlage 5 herunterzuladen, sowie den Benutzern die Möglichkeit zu bieten, auf Benutzerschnittstellengeräten ausgeführte Bedienoberflächen-Anzeigemodule zu erstellen oder zu ändern, über die ein Bediener die Prozessanlage 5 einsehen, Daten einsehen und Dateneinstellungen innerhalb der Prozessteuerungsroutinen 38, der Sicherheitssystemroutinen 76, der Feldgeräte 15-22 und 40-46, 58, 50, 74 der Anlage 5 usw. ändern kann. Die eine oder mehreren Konfigurationsdatenbanken 82 speichern die erstellten (z.B. konfigurierten) Steuerungs- und Sicherheitssystemmodule und/oder Anzeigemodule oder Routinen der Bedienoberfläche. Die Konfigurationsanwendung 81 und die Konfigurationsdatenbank 82 können auf Wunsch zentralisiert werden und ein einheitliches logisches Erscheinungsbild für das Prozessleitsystem 5 aufweisen, wobei mehrere Instanzen der Konfigurationsanwendung 81 gleichzeitig innerhalb des Prozessleitsystems 5 ausgeführt werden können und die Konfigurationsdatenbank 82 über mehrere physische Datenspeichervorrichtungen und mehrere Datenbankanordnungen hinweg umgesetzt werden kann. Aus Gründen der Lesbarkeit und nicht aus Gründen der Einschränkung wird hier jedoch auf die eine oder mehreren Konfigurationsdatenbanken 82 unter Verwendung der Einzahl verwiesen.
-
Auf Wunsch können die Benutzerschnittstellen-Anzeigegeräte für das Konfigurationssystem von den Bediener-Workstations 80 abweichen, da die Benutzerschnittstellengeräte für das Konfigurationssystem von Konfigurations- und Entwicklungsingenieuren unabhängig davon verwendet werden, ob die Anlage 5 in Echtzeit arbeitet oder nicht, während die Bediener-Workstations 80 in der Regel von Steuerungs- und Sicherheitssystem-Bedienern im Echtzeitbetrieb der Prozessanlage 5 (hier auch austauschbar als „Laufzeit“ oder „Online“-Betrieb der Prozessanlage 5 bezeichnet) genutzt werden, z.B. während die Prozessanlage 5 aktiv einen oder mehrere Prozesse innerhalb der physischen Feldumgebung ausführt, um physische Produkte und/oder Materialien zu erzeugen. Beispielsweise kann/können während des Online-Betriebs der Anlage 5 eine oder mehrere der Bediener-Workstations 80 eine Benutzerschnittstellenanwendung 95 umsetzen, die einem Benutzer, wie z. B. einem Bediener eines Steuersystems, Ansichten verschiedener, mit den Geräten verbundener Geräte- und Echtzeitdaten wie Online-Messungen, erfasste Daten und/oder Zustände, Alarme und Warnungen usw., zur Verfügung stellt.
-
Das beispielhafte Prozessleitsystem 5 beinhaltet zusätzlich eine historische Prozessdaten-Anwendung 83 und eine historische Prozessdatenbank 84, die jeweils auch kommunikativ mit der Datenautobahn 10 verbunden sind. Die historische Prozessdaten-Anwendung 83 sammelt einige oder alle über die Datenautobahn 10 bereitgestellten Daten und historisiert oder speichert die Daten in der historischen Prozessdatenbank 84 zur Langzeitspeicherung. Ähnlich der Konfigurationsanwendung 81 und der Konfigurationsdatenbank 82 können die historische Prozessdaten-Anwendung 83 und die historische Prozessdatenbank 84 zentralisiert sein und ein einheitliches logisches Erscheinungsbild für das Prozessleitsystem 5 haben, obwohl mehrere Instanzen einer historischen Prozessdaten-Anwendung 83 gleichzeitig innerhalb des Prozessleitsystems 5 ausgeführt werden können und die historische Prozessdatenbank 84 über mehrere physische Datenspeichergeräte hinweg umgesetzt werden kann.
-
In einigen Konfigurationen enthält das Prozessleitsystem 5 einen oder mehrere andere drahtlose Zugangspunkte 85, die mit anderen Geräten kommunizieren, die andere drahtlose Protokolle wie Wi-Fi oder andere IEEE 802.11-konforme drahtlose lokale Netzwerkprotokolle, mobile Kommunikationsprotokolle wie WiMAX (Worldwide Interoperability for Microwave Access), LTE (Long Term Evolution) oder andere ITU-R (International Telecommunication Union Radiocommunication Sector) kompatible Protokolle, kurzwellige Funkkommunikation wie Nahfeldkommunikation (NFC) und Bluetooth oder andere drahtlose Kommunikationsprotokolle verwenden. Typischerweise ermöglichen solche drahtlosen Zugangspunkte 85 die Kommunikation von Handheld- oder anderen tragbaren Rechenvorrichtungen (z. B. Benutzerschnittstellengeräten 86) über ein entsprechendes drahtloses Kommunikationsnetz, das sich vom drahtlosen Netzwerk 70 unterscheiden kann und ein anderes drahtloses Protokoll als das drahtlose Netzwerk 70 unterstützt. Das drahtlose oder tragbare Benutzerschnittstellengerät 86 kann beispielsweise ein mobiler Arbeitsplatz oder ein Diagnosetestgerät sein, das von einem Bediener oder von Wartungspersonal innerhalb der Prozessanlage 5 genutzt wird (z.B. ein Beispiel einer der Bediener-Workstations 80). In einigen Szenarien kommunizieren neben tragbaren Computern auch ein oder mehrere Prozessleitgeräte (z.B. die Steuerungen 11, die Feldgeräte 15-22 oder die drahtlosen Geräte 40-46, 48, 50) über das von den Zugangspunkten 85 unterstützte Drahtlos-Protokoll.
-
In einigen Konfigurationen enthält das Prozessleitsystem 5 einen oder mehrere Gateways 87, 88 zu Systemen, die außerhalb des unmittelbaren Prozessleitsystems 5 liegen. Typischerweise können solche Systeme bereitgestellt werden für Verbraucher oder Lieferanten von Informationen, die durch das Prozessleitsystem 5 erzeugt oder betrieben werden. Beispielsweise kann die Prozessleitanlage 5 einen Gateway-Knoten 87 enthalten, um die unmittelbare Prozessanlage 5 mit einer anderen Prozessanlage kommunikativ zu verbinden. Zusätzlich dazu oder alternativ kann die Prozessleitanlage 5 einen Gateway-Knoten 88 zur kommunikativen Anbindung der unmittelbaren Prozessanlage 5 an ein externes öffentliches oder privates System, wie z.B. ein Laborsystem (z.B. Labor-Informations-Management-System oder LIMS), eine Bedienerrunden-Datenbank, ein Materialumschlagsystem, ein Wartungsmanagementsystem, ein Warenwirtschaftssystem, ein Produktionsplanungssystem, ein Wetterdatensystem, ein Versand- und Umschlagsystem, ein Verpackungssystem, das Internet, das Prozessleitsystem eines anderen Anbieters oder andere externe Systeme beinhalten.
-
Es wird darauf hingewiesen, dass 1 zwar nur drei Steuerungen 11 mit einer endlichen Anzahl von Feldgeräten 15-22, 40-46, 48, 50, drahtlosen Gateways 35, Drahtlosadaptern 52, Zugangspunkten 55, Routern 58, drahtlosen Prozessleit-Kommunikationsnetzen 70, Sicherheitssystem-Logikgeräten 72 und Sicherheitssystem-Feldgeräten 74 im Beispiel der Prozessanlage 5 darstellt, dass dieses Beispiel jedoch nur eine veranschaulichende und nicht-einschränkende Ausführungsform ist. Jede beliebige Anzahl von Steuerungen 11 und/oder Sicherheitslogikgeräten 72 kann in die Prozessleitanlage oder das - system 5 einbezogen werden, und jede der Steuerungen 11 und Sicherheitslogikgeräte 72 kann mit einer beliebigen Anzahl von drahtgebundenen oder drahtlosen Geräten und Netzwerken 15-22, 35, 40-46, 48, 50, 52, 55, 58, 70 und 74 kommunizieren, um einen Prozess in der Anlage 5 zu steuern.
-
Ferner wird darauf hingewiesen, dass das Prozessanlagen- bzw. Prozessleitsystem 5 der 1 eine physische Feldumgebung 90 (z.B. die Prozessanlagenhalle) und eine Backend-Umgebung 92 enthält, die über die Datenautobahn 10 kommunikativ verbunden sind. Wie in 1 dargestellt, umfasst die Feldumgebung 90 physische Komponenten (z.B. Prozessleitgeräte, Feldgeräte, E/A-Netzwerke, Netzwerkelemente usw.), die zur Steuerung des Prozesses während der Laufzeit angeordnet, installiert und miteinander verbunden sind. So befinden sich beispielsweise die Steuerung 11, die E/A-Karten 26, 28, die Feldgeräte 15-22 und weitere Geräte und Netzwerkkomponenten 35, 40-46, 48, 50, 52, 55, 58, 70 und die Sicherheitslogiklöser 72 und Sicherheitsgeräte 74 in der physischen Feldumgebung 90 der Prozessanlage 5, sind dort angeordnet oder anderweitig in diese eingeschlossen. Allgemein gesprochen werden in der physischen Feldumgebung 90 der Prozessanlage 5 Rohstoffe übernommen und mit den darin disponierten physischen Komponenten zu einem oder mehreren Produkten oder Materialien verarbeitet.
-
Die Back-End-Umgebung 92 der Prozessanlage 5 umfasst verschiedene Komponenten wie Rechenvorrichtungen, Bediener-Workstations oder Datenbanken usw., die typischerweise vor den rauen Bedingungen und Materialien der Feldumgebung 90 abgeschirmt und/oder vor diesen geschützt sind. In 1 umfasst die Back-End-Umgebung 92 z.B. die Bediener-Workstations 80, die Konfigurations- oder Entwicklungssysteme 81, 82 für Steuermodule und andere ausführbare Module, die historischen Prozessdatensysteme 83, 84 und/oder andere zentralisierte Verwaltungssysteme, Rechenvorrichtungen und/oder Funktionen, die den Laufzeitbetrieb der Prozessanlage 5 unterstützen. In einigen Konfigurationen können sich verschiedene in der Back-End-Umgebung 92 der Prozessanlage 5 enthaltene Rechenvorrichtungen, Datenbanken und andere Komponenten und Geräte an verschiedenen physischen Standorten befinden, von denen einige lokal für die Prozessanlage 5 und andere entfernt angeordnet sein können.
-
Insbesondere im Hinblick auf die generische Verschattung können jedes beliebige oder mehrere Prozessleitgerät/e der Prozessanlage 5 (und gegebenenfalls auch andere Geräte in der Prozessanlage 5) zur Unterstützung der generischen Verschattung konfiguriert sein. Das heißt, jedes Prozessleitgerät oder andere, in der Prozessanlage 5 enthaltene Gerät kann als Verschattungsgerät konfiguriert werden, und jedes in der Prozessanlage 5 enthaltene Prozessleitgerät oder andere Gerät kann als verschattetes Gerät konfiguriert werden. Beispielsweise kann jeder/jede/jedes der Prozesssteuerungen 11, der Feldgeräte 40-46, 48, 50, der Sicherheitssystem-Steuerung 72, der Sicherheitssystem-Feldgeräte 74 und/oder der E/A-Geräte 26, 28 so konfiguriert werden, dass sie auf Wunsch eine generische Verschattung unterstützen, z.B. durch Verwendung einer oder mehrerer der hier beschriebenen technischen Methoden. Beispielsweise werden in 1 die Geräte 11, 15, 22, 72 und 74 nach dem eingekreisten GSD-Indikator als unterstütztes generisches Verschatten bezeichnet. Ferner ist es nicht notwendig, dass alle Prozessleitgeräte eines Prozessleitsystems so konfiguriert sind, dass sie generisches Verschatten unterstützen. In einigen Ausformungen können sowohl generische als auch vorkonfigurierte technische Methoden der Verschattung innerhalb einer Prozessanlage 5 umgesetzt sein. Beispielsweise kann ein Prozessleitsystem einen ersten Satz von Prozessleitgeräten enthalten, die so konfiguriert sind, dass sie generisches Verschatten unterstützen, und einen zweiten Satz von Prozessleitgeräten, die so konfiguriert sind, dass sie vorkonfiguriertes Verschatten verwenden, wie im Folgenden näher beschrieben wird.
-
2 ist ein Blockschaltbild, das eine Beispielarchitektur oder ein -system 150 für die vorkonfigurierte Verschattung in Prozessleitsystemen darstellt. Das Beispiel der vorkonfigurierten Verschattungsarchitektur oder des -systems 150 kann in der Prozessanlage 5 von 1 in einer Ausführungsform umgesetzt werden und wird unten unter gleichzeitiger Bezugnahme auf 1 zur besseren Veranschaulichung (nicht jedoch zur Einschränkung) beschrieben.
-
Wie in 2 gezeigt, umfasst die Beispielarchitektur 150 für das Vorkonfigurieren von Verschattungsgeräten ein Verschattungsgerät 152, ein Verschattungsgerät 155 und eine oder mehrere Konfigurationsdatenbanken 158. In 2 ist das verschattete Gerät 152 als Sicherheitssteuerung und ein Verschattungsgerät 155 als Prozesssteuerung dargestellt; es versteht sich jedoch, dass jedes der verschatteten Geräte 152 und das Verschattungsgerät 155 ein beliebiges Prozessleitgerät sein kann, wie z.B. ein Prozesssteuerungsgerät, ein Feldgerät, ein E/A-Gerät, eine Sicherheitssteuerung, ein Sicherheitslogiklöser, ein isoliertes Softwaremodul usw. Die eine oder mehreren Konfigurationsdatenbanken 158 (z.B. die in 1 dargestellte Konfigurationsdatenbank 82) speichern darin die jeweiligen Konfigurationen 162a, 165a für das verschattete Gerät 152 und das Verschattungsgerät 155. Die Konfigurationen 162a, 165a sind vordefiniert, z.B. durch einen Benutzer oder Steuerungsingenieur, mit Hilfe eines Konfigurationstools, z.B. der Konfigurationsanwendung 81. Konkret werden die Konfigurationen 162a, 165a in einer oder mehreren Konfigurationsdatenbanken 158 definiert und gespeichert, bevor das verschattete Gerät 152 und das Verschattungsgerät 155 in der Prozessanlage 5 den Online-Betrieb ausführen. Es wird darauf hingewiesen, dass, ähnlich wie bei der Konfigurationsdatenbank 82 von 1, die eine oder mehreren Konfigurationsdatenbanken 158 von 2 hier zur besseren Lesbarkeit (nicht jedoch zur Einschränkung) in der Einzahl angeführt werden.
-
Die Konfiguration 162a der Sicherheitssteuerung oder des verschatteten Gerätes 152 ist so definiert oder konfiguriert, dass sie z.B. eine Sicherheitssteuermodul-Konfiguration oder ein Definitions-Sicherheitssteuermodul enthält. So wird beim Herunterladen der Konfiguration 162a der Sicherheitssteuerung 152 in die übergeordnete Sicherheitssteuerung 152 (dargestellt durch Referenz 162b) das Definitions-Sicherheitssteuermodul in ein ausführbares Sicherheitssteuermodul 162c instanziiert, so dass die Sicherheitssteuerung 152 im Online- oder Echtzeitbetrieb dem ausführenden Sicherheitssteuermodul 162c entsprechend läuft.
-
Die in der Konfigurationsdatenbank 158 vordefinierte und gespeicherte Konfiguration 165a des Prozesssteuerungs- oder Verschattungsgerätes 155 enthält Definitionen von Echtzeitattributen und -verhalten des Prozesssteuerungs-/Verschattungsgerätes 155, z.B. eine Prozesssteuermodul-Konfiguration oder ein Definitions-Sicherheitssteuermodul. Zusätzlich enthält die Konfiguration 165a des Prozesssteuerungs-/Verschattungsgerätes 155 auch vorkonfigurierte Definitionen der Beschattungsaufgaben des Verschattungsgerätes 155. Das bedeutet, dass die Konfiguration 165a der Prozesssteuerung/des Verschattungsgerätes 155 Konfigurationen von Steuerobjekten enthält oder referenziert, die das Verschattungsgerät 155 während des Online-Betriebs verschatten sollen, wobei die Konfigurationen der zu verschattenden Steuerobjekte ebenfalls in der Konfigurationsdatenbank 158 gespeichert sind. Wie besonders in der Beispielarchitektur 150 von 2 dargestellt, enthält die Konfiguration 165a des Verschattungsgerätes 155 eine Anzeige 170a der Konfiguration des Sicherheitssteuermoduls oder des Definitions-Sicherheitssteuermoduls, das vom Prozesssteuerungs-/Verschattungsgerät 155 während seines Echtzeit- oder Online-Betriebs verschattet werden soll. In einer Umsetzung enthält die Sicherheitssteuermodul-Anzeige 170a eine Kopie oder eine andere Darstellung der Definition des Sicherheitssteuermoduls (oder einen Zeiger auf diese oder ähnliches). Alternativ enthält die Sicherheitssteuermodul-Anzeige 170a eine Kopie oder eine andere Darstellung ausgewählter Teile der Definition des Sicherheitssteuermoduls (oder einen Zeiger auf diese oder ähnliches). Signifikant ist jedoch, dass die Anzeige 170a der Definition des zu verschattenden Sicherheitssteuermoduls die Definitionen der Datenstrukturen und Datentypen (z.B. Formate, Syntax, Werte usw.) anzeigt, die vom Sicherheitssteuermodul verwendet werden und die vom Prozesssteuerungs-/Verschattungsgerät 205 verschattet werden sollen.
-
Die Konfiguration 165a des Prozesssteuermoduls wird in die (durch Referenz 165b bezeichnete) Host-Prozesssteuerung 155 geladen und in ein ausführbares Prozesssteuermodul 165c instanziiert, so dass die Prozesssteuerung 155 dem ausführenden Prozesssteuermodul 165c entsprechend läuft. Zusätzlich wird/werden in Verbindung mit dem Herunterladen der Prozesssteuermodul-Konfiguration 165b auch die in der Prozesssteuermodul-Konfiguration mit 170a angezeigte Sicherheitssteuermodul-Definition oder Teile davon auf das Verschattungsgerät 155, wie durch Verweis 170b bezeichnet, heruntergeladen. Basierend auf der empfangenen Sicherheitssteuermodul-Konfiguration bzw. -Definition 170b wird ein Schatten 170c des Sicherheitssteuermoduls 162c am Verschattungsgerät 155 instanziiert, so dass während des Online- oder Echtzeitbetriebs des Verschattungsgerätes 155 das am Verschattungsgerät 155 ausgeführte Schattensicherheitssteuermodul 170c in der Lage ist, Echtzeit- oder dynamische Daten zu verstehen, zu spiegeln und bereitzustellen, die von dem am (in 2 durch Referenz 172 bezeichneten) verschatteten Gerät 152 ausführenden instanziierten Sicherheitssteuermodul 162c empfangen, erzeugt und/oder anderweitig beobachtet werden. Beispielsweise kann das Schattensicherheitssteuermodul 170c am Verschattungsgerät 155 gespiegelte Daten, die vom Schattensicherheitssteuermodul 162c aus erster Hand beobachtet werden, an Bedienoberflächen, andere Geräte, andere Funktionsblöcke und/oder andere Verbraucher 175 solcher Daten innerhalb der Prozessanlage 5 liefern.
-
In der vorkonfigurierten Verschattungsarchitektur 150 ist daher ein hohes Maß an Kopplung zwischen dem verschatteten Gerät 152, dem Verschattungsgerät 155 und der Konfigurationsdatenbank 158 erforderlich. Insbesondere muss die Kenntnis der Konfigurationen und Definitionen von Steuerobjekten (einschließlich der verwendeten Datentypen) und die Kenntnis darüber, welches Gerät welche anderen Geräte verschatten soll, von vornherein definiert und konfiguriert werden. Das heißt, die Konfiguration des Verschattungsgerätes 155 ist so definiert und konfiguriert, dass sie die Konfigurationen der Steuerobjekte anzeigt, die es während des Online-Betriebs verschatten soll.
-
Andererseits werden mit den hier beschriebenen neuartigen Verschattungstechniken, - methoden, -systemen, -vorrichtungen und -geräten ein verschattetes Gerät und ein Verschattungsgerät bei der Konfiguration entkoppelt, so dass ein Verschattungsgerät nicht mit zu verschattenden Steuerobjekten und deren jeweiligen Konfigurationen konfiguriert werden bzw. über vorherige Kenntnisse derselben verfügen muss. Ferner erfordern die hier beschriebenen neuartigen Verschattungstechniken, -methoden, -systeme, -vorrichtungen und -geräte keine vorherigen Kenntnisse (z.B. Kenntnisse zur Konfigurationszeit) der Datentypen, die von verschatteten Geräten verwendet werden.
-
Zur Veranschaulichung enthält 3 ein Blockdiagramm, das eine Beispielarchitektur oder ein System 200 für die generische Verschattung in Prozessleitsystemen darstellt. Die generische Verschattungsarchitektur oder das -system 200 kann eine oder mehrere der hier beschriebenen neuartigen technischen Methoden der generischen Verschattung unterstützen. In einem Beispiel wird die Architektur 200 in der Prozessanlage 5 von 1 umgesetzt, um eine oder mehrere der hier beschriebenen neuartigen technischen Methoden der generischen Verschattung durchzuführen. Generell kann die Architektur 200 jedoch für die generische Verschattung in jedem Prozessleitsystem einer Prozessanlage verwendet werden, z.B. in einem oder mehreren verteilten Steuerungssystemen (DCS), sicherheitstechnischen Funktionssystemen (SIS) und/oder speicherprogrammierbaren Steuerungen (SPS) einer Prozessanlage.
-
Wie in 3 dargestellt, enthält das Beispiel der generischen Verschattungsarchitektur 200 für Prozessleitsysteme oder -anlagen ein verschattetes Gerät 202, ein Verschattungsgerät 205 und eine oder mehrere Konfigurationsdatenbanken 208. Das verschattete Gerät 202 und das Verschattungsgerät 205 können beliebige Prozessleitgeräte sein, wie z.B. eine Prozesssteuerung, ein Feldgerät, ein E/A-Gerät, eine Sicherheitssteuerung, ein Sicherheitslogiklöser, ein isoliertes Softwaremodul usw. Die eine oder mehreren Konfigurationsdatenbanken 208 können z.B. die in 1 gezeigte Konfigurationsdatenbank 82 oder eine oder mehrere andere Datenbanken sein, in der/denen Konfigurationen verschiedener Prozessleitsysteme und/oder Geräte gespeichert sind. In einigen Ausformungen kann mindestens ein Teil der einen oder mehreren Konfigurationsdatenbanken 208, die in der generischen Verschattungsarchitektur 200 enthalten sind, und mindestens ein Teil der Konfigurationsdatenbank 158 der vorkonfigurierten Verschattungsarchitektur 150 eine gemeinsame, integrale Datenbank sein, obwohl dies nicht erforderlich ist. Zur Vereinfachung der Erörterung, nicht jedoch zur Einschränkung, wird im Folgenden die generische Verschattungsarchitektur oder das -system 200 unter gleichzeitiger Bezugnahme auf die Prozessanlage 5 aus 1 beschrieben. Außerdem wird darauf hingewiesen, dass, ähnlich wie bei der Konfigurationsdatenbank 82 von 1, die eine oder mehreren Konfigurationsdatenbanken 208 von 3 hier zur besseren Lesbarkeit (nicht jedoch zur Einschränkung) in der Einzahl angeführt werden.
-
Ähnlich der vorkonfigurierten Verschattungsarchitektur 150 von 2 speichert in der generischen Verschattungsarchitektur 200 die Konfigurationsdatenbank 208 die Konfiguration 212a des verschatteten Gerätes 202, wobei die Konfiguration 212a definiert, wie das verschattete Gerät 202 online laufen soll. Typischerweise wird die Konfiguration 212a des verschatteten Gerätes 202 von einem Steuerungsingenieur mit Hilfe eines Konfigurationstools, beispielsweise der Konfigurationsanwendung 81, vordefiniert und in der Konfigurationsdatenbank 208 gespeichert; auch wird die Konfiguration 212a in der Konfigurationsdatenbank 208 gespeichert, bevor das verschattete Gerät 202 in der Prozessanlage 5 Online-Operationen durchführt. Wie in 3 dargestellt, beinhaltet die Beispielkonfiguration 212a des verschatteten Gerätes 202 die Definition oder Konfiguration eines Steuermoduls CM, das eine bestimmte Anordnung von bestimmten Funktionsblöcken FB1-FBn enthält. Die Steuermodulkonfiguration 212a wird in das verschattete Gerät 202 (dargestellt durch die Referenz 212b) geladen und am verschatteten Gerät 202 in ein ausführbares Steuermodul 212c instanziiert, so dass das verschattete Gerät 202 bei seinem Online- oder Echtzeitbetrieb in der Prozessanlage 5 dem ausführenden Steuermodul 212c entsprechend operiert. Das verschattete Gerät 202 kann z.B. eine Prozesssteuerung, eine Sicherheitssteuerung, ein Feldgerät oder ein anderes Prozessleitgerät sein.
-
Im Gegensatz zur vorkonfigurierten Verschattungsarchitektur 150 von 2 speichern in der generischen Verschattungsarchitektur 200 die Konfigurationsdatenbank 208 und insbesondere die Konfiguration 210a des Verschattungsgerätes 205 jedoch keine Anzeige darüber, welche Quell-Kontrollobjekte (z.B. welche Quell-Kontrollmodule und/oder Quell-Funktionsblöcke) vom Verschattungsgerät 205 verschattet werden sollen. Das heißt, die Beziehung zwischen Verschattungsgerät 205 und verschattetem Gerät 202 ist nicht vorkonfiguriert, und das Verschattungsgerät 205 ist nicht mit einer Anzeige der Konfiguration des verschatteten Gerätes 202 oder der darin enthaltenen Quell-Kontrollobjekte konfiguriert. Stattdessen werden solche Verschattungsaufgaben und entsprechende Konfigurationen von Quell-Kontrollobjekten, die vom Verschattungsgerät 205 verschattet werden sollen, automatisch vom Verschattungsgerät 205 erkannt, ohne dass eine vordefinierte Anzeige oder Definition dieser Beziehung konfiguriert und in der Konfigurationsdatenbank 208 gespeichert werden muss und ohne dass die Konfigurationsdatenbank 208 als Vermittler zwischen den verschatteten Geräten und den Verschattungsgeräten 202, 205 dienen muss. Konkret wird, wie in 3 dargestellt, eine Konfiguration 210a des Verschattungsgerätes 205, die die anderen, nicht verschattenden Attribute und das Online-Verhalten des Gerätes 205 definiert, in der Konfigurationsdatenbank 208 gespeichert, in das Verschattungsgerät 205 (Referenz 210b) geladen und instanziiert (Referenz 210c). Die Konfiguration 210a, die insbesondere das Nichtverschattungsverhalten des Verschattungsgerätes 205 definiert, muss jedoch keine Hinweise auf Verschattungsziele des Verschattungsgerätes 205 enthalten - und tut dies in den meisten Fällen auch nicht. Das heißt, eine Konfiguration 210a des Verschattungsgerätes 205 muss keine Hinweise auf und/oder Definitionen von Quell-Kontrollobjekten enthalten, die das Verschattungsgerät 205 im Online-Betrieb verschatten soll, und enthält in den meisten Fällen auch keine solchen. Vielmehr werden die Verschattungsaufgaben des Verschattungsgerätes 205 durch das Verschattungsgerät 205 unter Verwendung der generischen Verschattungskomponenten 215, wie nachfolgend beschrieben, erkannt.
-
Wie in 3 dargestellt, enthält das Verschattungsgerät 205 einen generischen Verschattungsteil 215 und einen Teil, der keine generische Verschattung 218 enthält. Der generische Verschattungsteil 215 enthält einen Verschattungsmanager 220 und eine Verschattungsbibliothek 222. In einer Ausführungsform werden die Definitionen oder Konfigurationen des Verschattungsmanagers 220 und/oder der Verschattungsbibliothek 222 durch die Konfiguration 210a des Verschattungsgerätes 205 festgelegt. In einer anderen Ausführungsform wird das Verschattungsgerät 205 mit dem Verschattungsmanager 220 und/oder der Verschattungsbibliothek 222 (z.B. vom Hersteller oder zu einem Zeitpunkt vor der Installation des Verschattungsgerätes 205 im Feld 92) vorkonfiguriert. Der Verschattungsmanager 220 kann z.B. einen Satz computerausführbarer Befehle enthalten, die in einem oder mehreren realen, nicht-transitorischen Speichern gespeichert sind, im Verschattungsgerät 205 enthalten sind und von einem oder mehreren im Verschattungsgerät 205 enthaltenen Prozessoren ausgeführt werden können. Beispielsweise kann der Verschattungsmanager 220 in einem Speicher gespeichert sein, in welchem die Konfiguration 210b des Verschattungsgerätes 205 gespeichert ist, und kann von einem oder mehreren Prozessoren ausgeführt werden, die die instanziierte Konfiguration 210c des Verschattungsgerätes 205 ausführen. Im Allgemeinen erkennt und verwaltet der Verschattungsmanager 220 Konfigurationen von Quell-Kontrollobjekten (oder Teilen davon), die am Verschattungsgerät 205 verschattet werden sollen. Beispielsweise findet der Verschattungsmanager 220 die Definitionen der vom Verschattungsgerät 205 zu verschattenden Quell-Kontrollmodule und/oder Quell-Funktionsblöcke sowie die darin verwendeten Datentypen.
-
Die gefundenen Informationen werden in der dem Verschattungsgerät 205 entsprechenden Verschattungsbibliothek 222 gespeichert. Die Verschattungsbibliothek 222 kann einen oder nicht-transitorische, reale Speicher oder Datenspeichervorrichtungen umfassen, die im Verschattungsgerät 205 enthalten oder für das Verschattungsgerät 205 (z.B. lokal und/oder entfernt) zugänglich sind. In einer Ausformung ist die Verschattungsbibliothek 222 in einem oder mehreren Speichern gespeichert, in denen auch die heruntergeladene Konfiguration 210b des Verschattungsgerätes 205 gespeichert ist Wie in 3 dargestellt, speichert die Verschattungsbibliothek 222 eine Reihe von Schattenmoduldefinitionen SM1-SMn und eine Reihe von Schatten-Funktionsblock-Definitionen SB1-SBm. Zumindest einige der Schattenmoduldefinitionen SM1-SMn können innerhalb der Verschattungsbibliothek 222 als eine bestimmte Anordnung einer bestimmten Anzahl von Schatten-Funktionsblöcken definiert sein.
-
Zur besseren Lesbarkeit werden die in der Verschattungsbibliothek 222 gespeicherten Schattenmoduldefinitionen SM1-SMn und Schatten-Funktionsblock-Definitionen SB1-SBm in dieser Schrift allgemein als „Signaturen“ bezeichnet, um so die Schattendefinitionen von ihren ursprünglichen oder primären, konfigurierten Definitionen zu unterscheiden. So wird z.B. eine Schatten-Kontrollmodul-Definition SMx an einem Verschattungsgerät 205 als „Signatur“ einer entsprechenden Quell-Kontrollmoduldefinition CMx bezeichnet, die in der Systemkonfigurationsdatenbank 208 erstellt und gespeichert und in das verschattete Gerät 202 instanziiert wurde. Die Definitionen der Schattenmodule SM1-SMn werden hier austauschbar als „Signaturen SM1-SMn von Schattenmodulen“ oder „Signaturen SM1-SMn von Schatten-Kontrollmodulen“ bezeichnet, während die Definitionen der Schatten-Funktionsblöcke SB1-SBm hier austauschbar als „Signaturen SB1-SBm von Schatten-Funktionsblöcken“ oder „Signaturen SB1-SBm von Schatten-Funktionsblöcken“ bezeichnet werden. Dementsprechend wird die Verschattungsbibliothek 222 hier austauschbar als „Signaturbibliothek 222“, „Bibliothek von Signaturen 222“ oder „Bibliothek von Schattensignaturen 222“ bezeichnet. Zusätzlich kann die Verschattungsbibliothek 222 neben Signaturen andere Komponenten, Definitionen und Konfigurationen speichern, wie in einem späteren Abschnitt dieser Offenbarung beschrieben.
-
Auf jeden Fall können bei einigen Quell-Kontrollobjekten, die verschattet werden sollen, die Signatur des Quell-Kontrollobjekts am Verschattungsgerät 205 und die native Konfiguration des Quell-Kontrollobjekts am verschatteten Gerät 202 gleichwertig sein. Bei anderen Steuerobjekten können die Signatur des Quell-Kontrollobjekts am Verschattungsgerät 205 und die native Konfiguration des Quell-Kontrollobjekts am verschatteten Gerät 202 nicht gleichwertig sein, z.B. stellt die Signatur des Quell-Kontrollobjekts möglicherweise die Definition oder Anzeige lediglich einer Teilmenge der nativen Konfiguration des Quell-Kontrollobjekts dar. Die Signatur des Quell-Kontrollobjekts ist jedoch mindestens deckungsgleich mit der nativen Konfiguration des Quell-Kontrollobjekts und definiert als solche eine ausreichende Struktur, Datentypen und andere Informationen, die für das Verschattungsgerät 205 benötigt werden, um zumindest einen Teil der Daten zu verschatten, die von dem am verschatteten Gerät 202 während Echtzeit- oder Online-Operationen ausgeführten Quell-Kontrollobjekt beobachtet werden.
-
Im Allgemeinen greift der Verschattungsmanager 220 auf die Verschattungsbibliothek 222 zu, um die Signatur eines Schattensteuerobjekts (z.B. eines Schatten-Kontrollmoduls oder eines Schatten-Funktionsblocks) zu erhalten, und instanziiert die Signatur in eine ausführbare Datei am Verschattungsgerät 205. Um beispielsweise das instanziierte Quell-Kontrollmodul 212c zu verschatten, greift der Verschattungsmanager 220 auf die Verschattungsbibliothek 222 zu, um eine Signatur 212d des instanziierten Quell-Kontrollmoduls 212c zu beziehen, und instanziiert die Signatur 212d in ein ausführbares Schatten-Kontrollmodul 212e am Verschattungsgerät 205, samt Auffüllen der Signatur 212d mit entsprechenden Datenstrukturen, Datentypen, Datenwerten usw. Bei einigen Quell-Kontrollobjekten fragt der Verschattungsmanager 220 das verschattete Gerät 202 ab, um zusätzliche Informationen zu erhalten, die benötigt werden, um die Signatur 212d für das Online-Verschatten zu füllen, z.B. bestimmte Objekte innerhalb eines Moduls, Datenwerte, Datentypen, Datenstrukturen usw. Bei diesen Quell-Kontrollobjekten gibt das verschattete Gerät 202 eine Abfrageantwort mit den angeforderten Informationen zurück, wobei die Antwort in Form eines Skripts erfolgen kann, das vom Verschattungsgerät 205 ausgeführt werden soll, einer XML-Datei, die vom Verschattungsgerät 205 geparst wird, und/oder eines anderen Mechanismus, der möglicherweise z.B. auf der Grundlage des Herstellers des Verschattungsgerätes 205 ausgewählt, bestimmt oder benötigt wird. Das Verschattungsgerät 205 verarbeitet die Abfrageantwort und füllt die Signatur 212d entsprechend, um dadurch das Schatten-Steuerobjekt 212e zu instanziieren. In 3 ist der Dialog oder die Interaktion zwischen dem Verschattungsmanager 220 und dem verschatteten Gerät 202 mit der Referenz 225 bezeichnet.
-
Ebenso kann der Verschattungsmanager 220 für Quell-Kontrollobjekte, deren Signaturen nicht in der Verschattungsbibliothek 222 vorhanden oder gespeichert sind, das verschattete Gerät 202 auf Informationen abfragen, die für die Verschattung dieser Quell-Kontrollobjekte erforderlich sind, z.B. vollständige oder partielle Konfigurationsdefinitionen, bestimmte Funktionsblöcke, Datenstrukturen, Datentypen, Datenwerte usw. Die Abfrageantwort des verschatteten Gerätes 202 kann die Form eines Skripts aufweisen, das vom Verschattungsgerät 205 ausgeführt werden soll, einer XML-Datei, die vom Verschattungsgerät 205 geparst wird, und/oder eines anderen Mechanismus, der beispielsweise auf der Grundlage des Herstellers des Verschattungsgerätes 205 bestimmt oder benötigt wird. Der Verschattungsmanager 220 verarbeitet die Abfrageantwort und erstellt auf der Grundlage der in der Antwort enthaltenen Informationen neue Signaturen für die Quell-Kontrollobjekte, speichert sie in der Verschattungsbibliothek 222 und füllt die erzeugten Signaturen für die Instanziierung, um so die instanziierten Quell-Kontrollobjekte während des Echtzeit- oder Online-Betriebs des Verschattungsgerätes 202 zu verschatten. In 3 ist der Dialog oder die Interaktion zwischen dem Verschattungsmanager 220 und dem verschatteten Gerät 202 durch die Referenz 225 dargestellt.
-
In Bezug auf das Steuermodul 212 führt das Verschattungsgerät 205 dementsprechend während des Echtzeit- oder Online-Betriebs das Schatten-Kontrollmodul 212e aus, wodurch dem Verschattungsgerät 205 ermöglicht wird, Echtzeit- oder dynamische Daten zu beziehen, zu verstehen und den Verbrauchern zur Verfügung zu stellen, die vom Quell-Kontrollmodul 212c während des Online-Betriebs am verschatteten Gerät 202 in der Prozessanlage 5 empfangen, erzeugt und/oder anderweitig beobachtet werden. Das heißt, dass das Verschattungsgerät 205 während des Echtzeit- oder Online-Betriebs über die Ausführung des Schatten-Kontrollmoduls 212e ausgewählte dynamische Daten spiegelt, die vom instanziierten Quell-Kontrollmodul 212c während des Online-Betriebs beobachtet werden, und die gespiegelten dynamischen Daten anderen Geräten und/oder Anwendungen zur Verfügung stellt, die Verbraucher der Daten sind. Die Online-Spiegelung oder -Verschattung des Online-Quell-Kontrollobjekts 212c durch das Schatten-Kontrollmodul 212e wird in 3 durch die Referenz 228 angezeigt.
-
Als solches, allgemein gesagt, erkennt (Referenz 225) und füllt der Verschattungsmanager 220 die Verschattungsbibliothek 222 mit Signaturen von Quell-Kontrollobjekten (z.B. mit Quell-Kontrollmodul-Signaturen und/oder mit Quell-Funktionsblocksignaturen), die vom Verschattungsgerät 205 verschattet werden sollen. Die vom Verschattungsgerät 202 verschatteten instanziierten Quell-Kontrollobjekte können z.B. auf den gleichen oder unterschiedlichen verschatteten Geräten ausgeführt werden. Das heißt, dass das Verschattungsgerät 202 Quell-Kontrollobjekte verschatten kann, die sich in verschiedenen Host-Geräten befinden. In einigen Ausformungen verschattet das Verschattungsgerät 205 Quell-Kontrollobjekte, die unabhängig voneinander sind; z.B. kann das Verschattungsgerät 205 ein erstes Quell-Kontrollmodul verschatten und auch ein separates und eindeutiges zweites Quell-Kontrollmodul verschatten, dessen Instanziierungen in den gleichen oder verschiedenen verschatteten Geräten ausgeführt werden können. Zusätzlich oder alternativ kann das Verschattungsgerät 205 Quell-Kontrollobjekte (z.B. Quell-Funktionsblöcke) verschatten, die in separaten Modulen innerhalb desselben verschatteten Gerätes 202 laufen. In einigen Szenarien verschattet das Verschattungsgerät 205 ein Quell-Kontrollmodul in seiner Gesamtheit, in anderen Szenarien verschattet das Verschattungsgerät 205 einige, jedoch nicht alle in einem Quell-Kontrollmodul enthaltenen Quell-Funktionsblöcke.
-
So baut der Verschattungsmanager 220 eine Verschattungsbibliothek 222 bekannter Komponenten auf, die Signaturen oder Definitionen von Quell-Funktionsblöcken und Signaturen oder Definitionen von Quell-Kontrollmodulen sowie bekannte Datentypen, Datenstrukturen, Datenwerte, Datensyntaxen und andere darin verwendete Datendefinitionen enthalten kann. In einigen Ausformungen ist die Verschattungsbibliothek 222 mit einer Reihe primitiver Komponenten 230 vorgefüllt, über die das Erkennen von Quell-Kontrollobjekten und Datentypen erfolgen kann und aus denen die gefundenen Informationen aufgebaut werden können. Beispielsweise kann der Satz primitiver Komponenten 230 einfache Datentypen wie z.B. Fließkommawerte und/oder Status, ganzzahlige Werte und/oder Status usw. und deren Eigenschaften definieren. Diese primitiven Komponenten 230 können als Grundlage für das Entwickeln oder Erkennen anderer, komplexerer Datentypen verwendet werden. Dementsprechend kann der Verschattungsmanager 220 Kombinationen von primitiven Komponenten 230 nutzen, um neue, komplexe Datentypen zu definieren, wie sie erkannt 225 werden und definiert werden müssen. Komplexe Komponenten 232, die die neuen komplexen Datentypen definieren, können in der Verschattungsbibliothek 222 gespeichert werden und stehen somit als Ressource zur Verwendung für das Erzeugen, Definieren und/oder Befüllen weiterer Signaturen und Datentypen zur Verfügung. So kann die Definition einer beliebigen, dem Verschattungsgerät 205 bisher unbekannten neuen Komponente während des Erkennungsvorganges 225 vollständig (z.B. ohne Eingriff oder Beteiligung der Konfigurationsdatenbank 208) erkannt und definiert 230, 232 sowie der Verschattungsbibliothek 222 hinzugefügt werden. Somit ist die Konfiguration (hinsichtlich der Verschattungsaufgaben) des Verschattungsgerätes 205 bei der generischen Verschattungsarchitektur bzw. dem -system 200 vorteilhafterweise unabhängig von der Konfiguration des verschatteten Gerätes 202. Folglich kann jedes beliebige verschattete Gerät 202, das generisches Verschatten unterstützt, von jedem Verschattungsgerät 205, das generisches Verschatten unterstützt, verschattet werden, und Verschattungspaare können von den Geräten 202, 205 automatisch erkannt und implementiert werden, z.B. nachdem das verschattete Gerät 202 und das Verschattungsgerät 205 jeweils mit ihren nicht die Verschattung betreffenden Verantwortlichkeiten konfiguriert wurden und, in einigen Szenarien, während die Geräte 202, 205 online laufen.
-
Auf jeden Fall kann die Erkennung 225 von Verschattungsaufgaben automatisch durch das Verschattungsgerät 205 eingeleitet werden, und/oder der Erkennungsvorgang kann automatisch durch das verschattete Gerät 202 eingeleitet werden, wie im Folgenden erläutert wird.
-
In einem Beispielszenario wird die Erkennung 225 automatisch vom verschatteten Gerät 202 initiiert. Konkret enthält in diesen Beispielszenarien die in der Konfigurationsdatenbank 208 gespeicherte Konfiguration 212a des verschatteten Gerätes 202 eine Anzeige dahingehend, welche der in der Konfiguration 212a enthaltenen Steuerobjekte verschattet werden sollen (z.B. eine Selbstbeschreibung eines oder mehrerer Steuerobjekte), und gegebenenfalls eine Anzeige, welches Gerät die Verschattung durchführen soll. In einer Ausführungsform enthält die Konfiguration 212a des in der Konfigurationsdatenbank 208 gespeicherten verschatteten Gerätes 202 ein (nicht dargestelltes) eingebettetes Skript, das beim Herunterladen und Instanziieren am verschatteten Gerät 202 (Referenzen 212b, 212c) automatisch ausgeführt wird, um die Selbstbeschreibung zu erzeugen und die Selbstbeschreibung an das Verschattungsgerät 205 zu übertragen. In einer anderen Ausführungsform enthält die Konfiguration 212a eine XML-Datei oder Datei eines anderen Typs, die am verschatteten Gerät 202 geparst wird, um dadurch die Selbstbeschreibung am verschatteten Gerät 202 zu erzeugen. Auf Wunsch können andere geeignete Mechanismen verwendet werden, die keine eingebetteten Skripte und/oder XML-Dateien sind. Generell kann der Mechanismus, mit dem die Selbstbeschreibungsgenerierung über das Herunterladen der Konfiguration 212a umgesetzt wird, auf dem Hersteller des Verschattungsgerätes 205 oder dem Hersteller entsprechend basiert werden. So ist das verschattete Gerät 202 zumindest durch die Aufnahme der Verschattungs-Selbstbeschreibung in seiner Konfiguration 212a speziell für die Unterstützung von generischem Verschatten konfiguriert.
-
Die Selbstbeschreibung der zu verschattenden Steuerobjekte 212c kann in jeder sachgerechten Form erfolgen. Beispielsweise kann die Selbstbeschreibung eine Anzeige der gesamten Konfiguration 212b des Steuerobjekts 212c oder lediglich eine Anzeige von lediglich einer Teilmenge der gesamten Konfiguration 212b enthalten. In einer Ausführungsform beschreibt die Selbstbeschreibung nicht die gesamte Konfiguration 212b, sondern zeigt lediglich Änderungen zwischen der neu heruntergeladenen Konfiguration 212b und der Konfiguration an, die zum Zeitpunkt des Herunterladens vom verschatteten Gerät 202 verwendet wurde. Zusätzlich oder alternativ enthält die Selbstbeschreibung Anzeigen zu einer Teilmenge der Daten, die vom Steuerobjekt 212c erzeugt und/oder empfangen werden, z.B. Anzeigen zu den speziellen Daten (z.B. bestimmte Echtzeit- oder dynamische Daten), die von den Benutzerschnittstellen und/oder anderen Verbrauchern benötigt werden, die solche Daten vom Verschattungsgerät 205 beziehen. Das Senden von Anzeigen über Teilmengen der Konfiguration 212b an das Verschattungsgerät 205 kann den Nachrichtenverkehr innerhalb des Prozessleitsystems vorteilhaft reduzieren.
-
In jedem Fall gibt in diesem Beispielszenario das verschattete Gerät 202 beim Herunterladen und Instanziierung der Konfiguration 212a am verschatteten Gerät 202 (z.B. wie durch die Referenzen 212b, 212c angezeigt) eine Selbstbeschreibung seiner speziellen Steuerobjekte 212c, die an das Verschattungsgerät 205 verschattet werden sollen. Beispielsweise kann das verschattete Gerät 202 eine direkte Kommunikation samt seiner Selbstbeschreibung an das Verschattungsgerät 205 senden, wenn das Verschattungsgerät 205 am verschatteten Gerät 202 identifiziert ist. In einem anderen Beispiel kann das verschattete Gerät 202 einen Hinweis auf seine Selbstbeschreibung an benachbarte Verschattungsgerät-Kandidaten senden, was in 3 das Verschattungsgerät 205 umfasst.
-
In manchen Situationen leitet das verschattete Gerät 202 automatisch die Erkennung 225 ein, indem es periodisch oder gelegentlich seinen Bedarf an Verschattungsdiensten und/oder seine selbstbeschriebenen verschatteten Steuerobjekte ausstrahlt oder direkt an andere Geräte kommuniziert. Die Selbstbeschreibungen können die gesamte Konfiguration 212b des verschatteten Steuerobjekts 212c oder eine Teilmenge der gesamten Konfiguration 212b des verschatteten Steuerobjekts 212c anzeigen, ähnlich dem oben Beschriebenen.
-
Das Verschattungsgerät 205 verarbeitet die vom verschatteten Gerät 202 eingegangenen Selbstbeschreibungen, z.B. unter Verwendung des Satzes primitiver Komponenten 230 und/oder anderer Komponenten 232, die in der Bibliothek 222 gespeichert sind. In einigen Fällen beinhaltet das Bearbeiten der Selbstbeschreibungen das Generieren oder Erzeugen neuer Datentypen und/oder neuer Signaturen. In einigen Fällen beinhaltet das Bearbeiten der Selbstbeschreibungen die Aktualisierung vorhandener Datentypen und/oder vorhandener Signaturen. In jedem Fall werden nach dem Verarbeiten der Selbstbeschreibungen am Verschattungsgerät 205 validierte oder verifizierte Datentypen und/oder Signaturen in der Verschattungsbibliothek 205 gespeichert (z.B. als neue Datentypen und/oder Signaturen und/oder als aktualisierte Datentypen und/oder Signaturen), während die validierten/verifizierten Datentypen und Signaturen verwendet werden, um am Verschattungsgerät 205 Schatten von Quell-Kontrollobjekten zu erzeugen, die während des Online-Betriebs des Verschattungsgerät 205 ausgeführt werden.
-
In einem anderen Beispielszenario wird die Erkennung 225 automatisch durch das Verschattungsgerät 205 eingeleitet. Beispielsweise fragt das Verschattungsgerät 205 periodisch und/oder gelegentlich Geräte, die Quell-Kontrollobjekte ausführen und die vom Verschattungsgerät 205 aktuell verschattet werden (was in 3 das verschattete Gerät 202 einschließt), auf Aktualisierungen an Konfigurationen der verschatteten Steuerobjekte ab und/oder für das Beziehen von Konfigurationen anderer Quell-Kontrollobjekte, die verschattet werden sollen. In einer Ausführungsform fordert das Verschattungsgerät 205 das verschattete Gerät 202 direkt zur Aktualisierung der am verschatteten Gerät 202 ausgeführten verschatteten Steuerobjekte auf, z.B. bei der Initialisierung des Verschattungsgerätes 205, bei Empfang einer aktualisierten Konfiguration des Verschattungsgerätes 205 usw. Zusätzlich oder alternativ kann das Verschattungsgerät 205 periodisch und/oder gelegentlich Werbung machen oder benachbarten Geräten bekanntmachen, dass das Verschattungsgerät 205 für Verschattungsdienste zur Verfügung steht. Das verschattete Gerät 202 antwortet auf die Umfragen, Anzeigen, Bekanntmachungen und/oder direkten Anfragen des Verschattungsgerätes 205 mit Selbstbeschreibungen der zu verschattenden Objekte und/oder deren Aktualisierung, z.B. wie oben beschrieben.
-
In einem weiteren Beispielszenario wird die Erkennung 225 manuell eingeleitet. Beispielsweise kann ein Benutzerbefehl das verschattete Gerät 202 anweisen, die Erkennung 202 einzuleiten, oder der Benutzerbefehl kann das Verschattungsgerät 205 anweisen, die Erkennung 205 einzuleiten. Eine vom Benutzer eingeleitete Erkennung 202 kann für ausgewählte Situationen reserviert sein, z.B. während der Inbetriebnahme und/oder beim Neustart des verschatteten Gerätes 202 oder des Verschattungsgerätes 205.
-
Im Gegensatz zur vorkonfigurierten Architektur 150 von 2 erkennt und definiert der Erkennungsmechanismus 225 der generischen Verschattungsarchitektur oder des Systems 200 automatisch die Strukturen und Typen von Daten (z.B. von dynamischen Daten, die vom Verschattungsgerät 205 gespiegelt oder verschattet werden sollen), die im Echtzeitbetrieb zwischen dem verschatteten Gerät 202 und dem Verschattungsgerät 205 übertragen werden, z.B. von dynamischen Daten, die vom Verschattungsgerät 205 im Online-Betrieb gespiegelt oder verschattet werden sollen.
-
Bedeutsamerweise schränkt jedoch die generische Verschattungsarchitektur 200 nicht die Art und Weise ein, in der das Schatten-Kontrollmodul oder -Objekt 212e am Verschattungsgerät 205 den Verbrauchern der vom Schatten-Kontrollmodul 212e bereitgestellten gespiegelten Daten erscheint. Beispielsweise stellt das Verschattungsgerät 205 bei einigen Steuerobjekten die gespiegelten Daten in ihrem nativen Format dar, z.B. in dem durch die Konfiguration 212b des instanziierten Steuerobjekts 212c definierten Datenformat. Bei anderen Steuerobjekten stellt das Verschattungsgerät 205 die gespiegelten Daten in einem anderen Format als dem durch die Konfiguration 212b des instanziierten Steuerobjekts 212c definierten Format dar bzw. zur Verfügung. Beispielsweise kann das Verschattungsgerät 205 gespiegelte Daten in einem Format anzeigen oder liefern, das im Host-Prozessleitsystem verwendet wird, in welchem sich das Verschattungsgerät 205 befindet, z.B. in einem von einem Verbraucher der gespiegelten Daten genutzten Format. Dementsprechend ermöglicht das generische Verschattungssystem 200 vorteilhafterweise die Formatunabhängigkeit von Quell-Kontrollobjekten und/oder Quellgeräten. Das heißt, dass ein und dasselbe Quellgerät mit einem bestimmten Datenformat leicht in verschiedene Prozessleitsysteme eingebunden sein kann, die unterschiedliche Datenformate verwenden, ohne dass entweder das Quellgerät oder die verbrauchenden Geräte vor- oder umkonfiguriert werden müssen, da der generische Verschattungsmechanismus 200 automatisch das native Datenformat des Quellgerätes erkennt (und mit dem Quellgerät in seinem nativen Format kommunizieren kann), während gespiegelte Daten, die von dem Quellgerät stammen, mit anderen Geräten und Verbrauchern innerhalb des Prozessleitsystems unter Verwendung des/der Datenformate(s) präsentiert werden, die von den anderen Geräten und Verbrauchern verstanden werden. Bei dem generischen Verschattungsmechanismus 200 muss ein Quellgerät nicht wissen, welche Datenformate und Strukturen von dem in dem von ihm benutzten Prozessleitsystem verwendet werden und umgekehrt, und muss diese auch nicht kennen.
-
Wendet man sich wiederum der Konfiguration von Steuerobjekt 212 in 3 zu, wird bei Echtzeit- oder Online-Betrieb der Prozessanlage 5, nachdem die Signatur des verschatteten Steuerobjektes am Verschattungsgerät 205 erkannt (Referenz 225), gespeichert (Referenz 212d) und instanziiert (Referenz 212e) wurde, das instanziierte Verschattungssteuermodul 212e vom Verschattungsgerät 205 ausgeführt, wodurch das Verschattungsgerät 205 einen Spiegel von Echtzeit- oder dynamischen Daten (Referenz 228), die von dem verschatteten Steuermodul 212c während seines Online-Betriebs in der Prozessanlage 5 empfangen und/oder erzeugt werden, beziehen, verstehen und anderen Geräten, Funktionsblöcken, Anwendungen und/oder Verbrauchern (Referenz 235) zur Verfügung stellen kann,. Das heißt, dass das Verschattungsgerät 205 während des Echtzeit- oder Online-Betriebs über die Ausführung des Verschattungssteuermoduls 212e anderen Geräten, Funktionsblöcken und/oder Anwendungen 235 eine Kopie ausgewählter dynamischer Daten 228 liefert, die das Verschattungssteuermodul 212e während seines Online-Betriebs direkt beobachtet.
-
4 zeigt ein Flussdiagramm einer Beispielmethode 300 für das generische Verschatten von Steuerobjekten. In einer Ausführungsform wird das Verfahren 300 durch das Verschattungsgerät 205 von 3 durchgeführt. In einem Beispiel wird mindestens ein Teil des Verfahrens 300 vom Verschattungsmanager 220 des Verschattungsgerätes 205 durchgeführt. Im Allgemeinen kann das Verfahren 300 jedoch in Verbindung mit der generischen Verschattungsarchitektur 200 von 3 und/oder in Verbindung mit jeder anderen beliebigen Ausführungsform der hier beschriebenen neuartigen Systeme, Verfahren, Vorrichtungen, Geräte und/oder technischen Methoden zur generischen Verschattung durchgeführt werden. Zur Vereinfachung der Erörterung, nicht jedoch zur Einschränkung, wird im Folgenden das Verfahren 300 unter gleichzeitiger Bezugnahme auf 1 und 3 beschrieben.
-
Wie in 4 dargestellt, umfasst das Verfahren 300 an einem Baustein 302 das Empfangen einer Anzeige, dass ein Steuerobjekt (entweder in seiner Gesamtheit oder in einer oder mehreren Änderungen und/oder Modifikationen daran) in ein verschattetes Gerät, beispielsweise in das verschattete Gerät 202, heruntergeladen wurde. Da das Steuerobjekt ein Objekt ist, das verschattet werden soll, wird das Steuerobjekt hier allgemein als „Quell-Kontrollobjekt“ bezeichnet. Das Quell-Kontrollobjekt kann z.B. ein Quell-Kontrollmodul sein, das aus einer Vielzahl von Funktionsblöcken besteht, die speziell angeordnet und miteinander verbunden sind (z.B. das Steuermodul 212b aus 3). In einigen Szenarien kann das Quell-Kontrollobjekt ein Quell-Funktionsblock sein, der Bestandteil eines oder mehrerer Steuermodule sein kann. Zur Vereinfachung der Erörterung, nicht jedoch zur Einschränkung, wird im Folgenden das Verfahren 300 in Bezug auf einen Quell-Funktionsblock beschrieben.
-
Die Anzeige, dass ein Quell-Funktionsblock heruntergeladen und/oder geändert wurde, kann von einem verschatteten Gerät, beispielsweise vom verschatteten Gerät 202, eingehen. Die Anzeige des Herunterladens/von Änderungen am Quell-Funktionsblock kann vom verschatteten Gerät 202 an das Verschattungsgerät 205 gesendet werden, z.B. bei Empfang und/oder Instanziierung des Herunterladens/der Änderungen am verschatteten Gerät 202, bei einer periodischen und/oder gelegentlichen Abfrage, Anforderung und/oder Übertragung durch das verschattete Gerät 202 oder das Verschattungsgerät 205, nach Eingang eines manuellen Befehls usw., wie zuvor beschrieben.
-
Bei einem Baustein 305 umfasst das Verfahren 300 das Bestimmen, ob eine Signatur des Quell-Funktionsblocks vorhanden, bekannt oder gespeichert ist. Beispielsweise bestimmt das Verschattungsgerät 205, ob eine Signatur des Quell-Funktionsblocks in der Verschattungsbibliothek 222 gespeichert ist oder nicht.
-
Stellt das Verfahren 300 am Baustein 305 fest, dass eine dem Quell-Funktionsblock entsprechende Signatur nicht in der Verschattungsbibliothek 222 gespeichert ist (z.B. der „NEIN“-Schenkel des Bausteins 305), kann das Verfahren 300 die Signatur des Funktionsblocks (Baustein 308) erzeugen und die erzeugte Funktionsblock-Signatur (Baustein 310) speichern, so dass die Funktionsblock-Signatur dem Verschattungsgerät 205 zugänglich ist. Beispielsweise wird die erzeugte Funktionsblock-Signatur in der Verschattungsbibliothek 222 gespeichert, die mit dem Verschattungsgerät 205 lokal verbunden oder in dieses integriert sein kann, oder aber möglicherweise in einem oder mehreren lokalen und/oder entfernten Datenspeichern (nicht abgebildet), die für das Verschattungsgerät 205 zugänglich sind, umgesetzt.
-
In einer Ausführungsform beinhaltet die Erstellung der Signatur des Quell-Funktionsblocks (Baustein 308) die Erstellung der Signatur des Quell-Funktionsblocks unter Verwendung einer oder mehrerer primitiver Komponenten 230, die von der Verschattungsbibliothek 222 bereitgestellt oder in ihr gespeichert werden. Die primitiven Komponenten 230 können einer oder mehreren Datenstrukturen, einem oder mehreren Datenformaten, einem oder mehreren Datenwerten, einer oder mehreren Datensyntaxen, einer oder mehreren Auszeichnungssprachen und/oder einer oder mehreren Definitionen von Datentypen entsprechen, die in der Regel (jedoch nicht zwingend) einfache Datentypen sein können. Beispielsweise sind verschiedene in der Bibliothek 222 gespeicherte primitive Komponenten so konfiguriert, dass sie Signaturen von Fließkommawerten und/oder Zuständen, ganzzahligen Werten und/oder Zuständen und/oder Werten und/oder Zuständen anderer einfacher Datentypen erzeugen. Zusätzlich oder alternativ können verschiedene in der Bibliothek 222 gespeicherte primitive Komponenten so konfiguriert sein, dass sie eine oder mehrere Auszeichnungssprachen lesen und/oder schreiben, um dadurch verwendete Datentypen zu bestimmen, die möglicherweise (jedoch nicht zwingend) einfache Datentypen sein können. In Szenarien, in denen die Quell-Funktionsblock-Signatur einen oder mehrere komplexe Datentypen verwendet, beinhaltet daher das Erzeugen der Signatur des Quell-Funktionsblocks das Auffinden oder Erzeugen eines oder mehrerer komplexer Datentypen basierend auf einem oder mehreren einfachen Datentypen durch Verwendung entsprechender primitiver Komponenten der Bibliothek 222. Der eine oder die mehreren erkannten und/oder erzeugten komplexen Datentypen 232 können in der Verschattungsbibliothek 222 gespeichert sein, so dass sie verfügbar oder zugänglich sind, und/oder zur Definition anderer Steuerobjekt-Signaturen verwendet werden können. In einigen Ausführungsformen kann auch eine zur Erzeugung eines neu erkannten/erstellten komplexen Datentyps 232 (z.B. einer „komplexen Komponente“) konfigurierte entsprechende Funktion, ein ebensolches Skript oder Äquivalent erstellt und in der Verschattungsbibliothek 222 gespeichert werden, um beispielsweise eine weitere Instanz des komplexen Datentyps für eine andere Signatur zu erzeugen.
-
Stellt das Verfahren 300 bei Baustein 305 fest, dass eine dem Quell-Funktionsblock entsprechende Signatur in der Verschattungsbibliothek 222 gespeichert ist (z.B. der „JA“-Schenkel des Bausteins 305), vergleicht das Verfahren 300 (Baustein 312) die gespeicherte Signatur mit der am Baustein 302 empfangenen und angezeigten Signatur. Stimmen die beiden Signaturen überein oder sind sie anderweitig deckungsgleich (z.B. der „JA“-Schenkel des Bausteins 312), wird die gespeicherte Signatur des Quell-Funktionsblocks gegen die aktuelle Signatur verifiziert, z.B. die durch die empfangene Anzeige am Baustein 302 angezeigte Signatur.
-
Stellt das Verfahren 300 bei Baustein 312 fest, dass die gespeicherte Signatur und die Anzeige des im Baustein 302 angezeigten heruntergeladenen/geänderten Quell-Funktionsblocks nicht übereinstimmen oder nicht deckungsgleich sind (z.B. der „NEIN“-Schenkel des Bausteins 312), wird die gespeicherte Signatur auf der Grundlage der empfangenen Anzeige (Baustein 315) aktualisiert oder geändert, und die aktualisierte Signatur wird z.B. in der Verschattungsbibliothek 222 gespeichert (Baustein 318).
-
In jedem Fall wird bei der Erstellung, Prüfung oder Änderung der Signatur des Quell-Funktionsblocks (z.B. über den Baustein 310, 312 und/oder 318) die Signatur des Quell-Funktionsblocks am Verschattungsgerät 205 instanziiert (Baustein 320) und damit zum Verschatten (Baustein 322), am Verschattungsgerät 205, des am verschatteten Gerät 202 ausgeführten instanziierten Quell-Funktionsblocks ausgeführt. Das Instanziieren der Signatur des Quell-Funktionsblocks (Referenz 320) kann das Füllen der Signatur auf der Grundlage der durch den Baustein 302 angezeigten Konfiguration oder Definition und/oder die Einleitung eines Dialogs mit dem verschatteten Gerät 202 umfassen, um beispielsweise Füllinformationen zu erhalten (Referenz 225). In jedem Fall liefert der Schatten 212e des Quell-Funktionsblocks während des Verschattens des instanziierten Source-Funktionsbausteins (Referenz 322) verschattete oder gespiegelte Echtzeit- oder dynamische Daten (Referenz 228) und andere Informationen, die von dem instanziierten Quell-Funktionsblock 212c empfangen, erzeugt und/oder anderweitig beobachtet werden, an Benutzerschnittstellen, Display-Ansichten und/oder andere Verbraucher 235 solcher Daten innerhalb des Prozessleitsystems.
-
Gegebenenfalls kann das Verfahren 300 auch das Überprüfen der hinlänglichen Genauigkeit (nicht abgebildet) der Kommunikation zwischen dem Verschattungsgerät 205 und dem verschatteten Gerät 202 beinhalten. Das heißt, das Verfahren 300 kann die Überprüfung beinhalten, dass das verschattete Gerät 202 für das Verschattungsgerät 205 kommunikativ zugänglich ist. Wird ein Kommunikationsausfall festgestellt oder verschlechtert sich die Qualität der Kommunikation unter einen Schwellenwert, kann das Verschattungsgerät 205 einen Alarm oder eine Warnung auslösen, die den Ausfall oder die Verschlechterung der Kommunikation zwischen den Geräten 202, 205 anzeigt, wobei der Alarm oder die Warnung an einer Benutzerschnittstelle angezeigt wird. Es wird darauf hingewiesen, dass andere Arten von Alarmen und/oder Warnungen, die von dem verschatteten Gerät 202 erzeugt werden, am Verschattungsgerät 205 gespiegelt werden können, um sie an Benutzerschnittstellen und/oder an andere Funktionsblöcke, Module, Anwendungen und/oder Geräte im Prozessleitsystem zu übergeben. Somit kann jeder Dialog mit Empfängern der gespiegelten Alarm- und/oder Wamdaten des Verschattungsgerätes 205 und/oder jede spezielle Handhabung von Alarmen (z.B. unterschiedliche Alarmprioritäten, Ansichten zu Alarm-/Warnquittierung usw.) durch das Verschattungsgerät 205, wie beispielsweise durch den Schatten 212e des Quell-Kontrollobjektes definiert, durchgeführt werden.
-
Gegebenenfalls kann das Verfahren 300 das Synchronisieren, Überprüfen und/oder Verifizieren der Richtigkeit der in der Verschattungsbibliothek 222 mit ihren Quell-Kontrollobjekten und -Geräten gespeicherten Signaturen und anderer Komponenten beinhalten. Beispielsweise leitet der Verschattungsmanager 220 periodisch, gelegentlich und/oder bei Bedarf einen Synchronisations-, Prüfungs- oder Verifizierungsprozess mit einem oder mehreren verschatteten Geräten und/oder Quell-Kontrollobjekten ein. Dieser Synchronisations-, Prüfungs- und/oder Verifizierungsprozess kann demjenigen ähnlich sein, der angewendet wird, wenn das Verschattungsgerät 205 die Erkennung 225 einleitet. Das heißt, das Verschattungsgerät 205 kann eine Verifikationsabfrage an das verschattete Gerät 202 senden, und das verschattete Gerät 202 kann mit einer Antwort reagieren, die entsprechende Konfigurationen der entsprechenden, instanziierten Quell-Kontrollobjekte (oder ausgewählter Teile davon) anzeigt, welche am Verschattungsgerät 205 verschattet werden sollen. Die Abfrageantwort kann die Form eines Skripts aufweisen, das vom Verschattungsgerät 205 ausgeführt werden soll, einer XML-Datei, die vom Verschattungsgerät 205 geparst wird, und/oder eines anderen Mechanismus, der beispielsweise vom Hersteller des Verschattungsgerätes 205 bestimmt oder verlangt wird. Das Verschattungsgerät 205 verarbeitet die Anfrageantwort und erstellt, löscht, aktualisiert und/oder modifiziert anschließend Signaturen und andere Komponenten, die in der Verschattungsbibliothek 222 gespeichert sind, basierend auf dem Inhalt der Antwort. In einer Ausführungsform können mindestens einige der Blöcke 302-318 des Verfahrens 300 ausgeführt werden, um die in der Verschattungsbibliothek 222 gespeicherten Signaturen und Komponenten zu synchronisieren, zu prüfen und/oder zu verifizieren.
-
Darüber hinaus kann das Verfahren 300 problemlos auf das Verschatten von Quell-Kontrollobjekten erweitert werden, die Steuermodule sind. Beispielsweise kann für jeden Funktionsblock, der in einem zu verschattenden Quell-Kontrollmodul enthalten ist, eine entsprechende Instanz des Verfahrens 300 (z.B. sequentiell und/oder parallel) ausgeführt werden und für das Quell-Kontrollmodul als Ganzes eine Instanz des Verfahrens 300, um dadurch einen Schatten 212e des instanziierten Quell-Kontrollmoduls 212c zu erzeugen, der gespiegelte Echtzeitdaten und andere Informationen 228 liefert, die von dem instanziierten Quell-Kontrollmodul 212c empfangen und/oder erzeugt werden, z.B. auf Benutzerschnittstellen, Display-Ansichten und/oder anderen Verbrauchern 235 solcher Daten innerhalb des Prozessleitsystems.
-
Dementsprechend erkennt das Verfahren 300 im Hinblick auf die obige Erörterung Steuerobjekte (z.B. Funktionsblöcke und/oder Steuermodule), die am verschatteten Gerät 202 instanziiert sind, samt Erkennung der darin verwendeten speziellen Datentypen, und erstellt bzw. aktualisiert entsprechende Signaturen der Steuerobjekte (z.B. der Quell-Kontrollobjekte) zur Instanziierung am Verschattungsgerät 205 und zur Verwendung beim Verschatten der erkannten Quell-Kontrollobjekte. Wichtig ist, dass bei dem Verfahren 300 bzw. beim System 200 dem Verschattungsgerät 205 die darin verwendeten Definitionen bzw. Konfigurationen und Datentypen von Quell-Kontrollobjekten nicht von vorneherein bekannt sein müssen, auch nicht Verschattungsgeräten, die kundenspezifisch sind oder von verschiedenen Herstellern angeboten werden. Das heißt, während das Verschattungsgerät 205 aus der Konfigurationsdatenbank 208 seine eigene Konfiguration 210a bezieht, die seine eigenen Online-Operationen spezifiziert, werden möglicherweise beliebige oder alle Konfigurationen von Verschattungsaufgaben des Verschattungsgerätes 205 (z.B. von Steuerobjekten, die das Verschattungsgerät 205 während seines Online-Betriebs verschatten soll) nicht in die Konfiguration 210a des Verschattungsgerätes 205 aufgenommen oder referenziert, sondern können von dem Verschattungsgerät 205 mit mindestens einem Teil des Verfahrens 300 und/oder des Systems 200 automatisch erkannt werden.
-
Ferner kann mit den Verfahren 300 und/oder dem System 200 die Erkennung und die daraus resultierende Umsetzung der Verschattungsaufgaben des Verschattungsgerätes ohne Verwendung eines externen Konfigurationstools (z.B. ohne das Konfigurationstool 81) und ohne Notwendigkeit der Einschaltung der Konfigurationsdatenbank 208 als Vermittler zwischen dem Verschattungsgerät 205 und dem verschatteten Gerät 202 durchgeführt werden. Daneben erlaubt das Verfahren 300 und/oder das System 200 vorteilhafterweise dem Verschattungsgerät 205, zu erkennen, wenn sich die Verschattungssignaturen von ihren jeweiligen Quell-Kontrollobjekten unterscheiden oder Abweichungen aufweisen, und erlaubt die automatische Korrektur und/oder Rekonstruktion der instanziierten Verschattungssignaturen, damit sie mit den Quell-Kontrollobjekten übereinstimmen oder anderweitig deckungsgleich sind, wiederum ohne die Verwendung eines externen Konfigurationstools und/oder die Verwendung der Konfigurationsdatenbank als Vermittler.
-
Darüber hinaus erlaubt das Verfahren 300 bzw. das System 200, dass die in Quell-Kontrollobjekten verwendeten Datentypen von beliebiger Art, Format, Struktur, Auszeichnungssprache usw. sein können. Das heißt, mit dem Erkennungsmechanismus des Verfahrens 300 und/oder des Systems 200 werden die in Quell-Kontrollobjekten verwendeten komplexen Datentypen automatisch erkannt und/oder automatisch erlernt, erzeugt oder generiert, z.B. basierend auf einer Kombination von primitiven Datentypen, die durch einen Satz primitiver Komponenten 230 angezeigt werden, welche auf Verschattungsgeräten 205 verfügbar sind. In einigen Ausführungsformen können Datentypen, die in Quell-Kontrollobjekten verwendet werden, durch direkte Kommunikation zwischen dem verschatteten Gerät 202 und dem Verschattungsgerät 205, z.B. über den oben beschriebenen Dialog 225, und/oder durch Verwendung des Satzes primitiver Komponenten 230 verhandelt, erkannt und/oder definiert werden. Vorteilhafterweise und wie auch oben beschrieben, können neu erlernte, erstellte und/oder generierte Datentypdefinitionen und/oder -signaturen in einer Verschattungsbibliothek 222 gespeichert werden, die für das Verschattungsgerät 205 zugänglich ist. Daher muss das Verschattungsgerät 205 keine erlernten, erstellten und/oder generierten Datentypdefinitionen und/oder Signaturen neu erlernen oder wiedererkennen, mit Ausnahme natürlich der Synchronisation, Überprüfung und/oder Verifizierung von gespeicherten Datentypdefinitionen und Signaturen mit dem verschatteten Gerät 202. Ferner ermöglicht das Verfahren 300 bzw. das System 200 die Erstellung und Generierung komplexer Komponenten 232, die in der Verschattungsbibliothek 222 gespeichert und als Ressource in Verbindung mit den primitiven Komponenten 230 verwendet werden können, um andere Signaturen und Datentypen zu erkennen und zu generieren. In einer Ausführungsform werden der Satz primitiver Komponenten 230 und etwaige komplexe Komponenten 232 in der Verschattungsbibliothek 222 gespeichert.
-
Es wird darauf hingewiesen, dass einige Prozessleitsysteme möglicherweise sowohl die vorkonfigurierte Verschattungsarchitektur 150 als auch die generische Verschattungsarchitektur 200 nutzen. Beispielsweise kann die vorkonfigurierte Verschattungsarchitektur 150 verwendet werden, um Verschatten von Quellgeräten umzusetzen, die kein generisches Verschatten unterstützen, z.B. ältere Quellgeräte, während die generische Verschattungsarchitektur 150 verwendet werden kann, um Verschatten von Quellgeräten umzusetzen, die generisches Verschatten unterstützen. So kann ein bestimmtes Verschattungsgerät 205 den vorkonfigurierten Verschattungsmechanismus 150 verwenden, um ältere Quellgeräte zu verschatten, während es gleichzeitig generische Verschattungsmechanismen 200 verwendet, um andere Quellgeräte zu verschatten, die generisches Verschatten unterstützen. So können für ein bestimmtes Verschattungsgerät 205, das so konfiguriert ist, dass es die beiden Verschattungsmechanismen 150, 200 unterstützt, Signaturen und/oder Komponenten, die dem vorkonfigurierten Verschatten 150 entsprechen, von dem jeweiligen Verschattungsgerät 205 aus der Konfigurationsdatenbank 208 heruntergeladen oder bezogen werden, während Signaturen und/oder Komponenten, die dem generischen Verschatten 200 entsprechen, von dem jeweiligen Verschattungsgerät 205 ohne Kommunikation mit der Konfigurationsdatenbank 208 erkannt werden können. In jedem Fall können sowohl die heruntergeladenen als auch die erkannten Signaturen und/oder Komponenten in der Verschattungsbibliothek 222 gespeichert und von dem jeweiligen Verschattungsgerät 205 verwendet werden, um andere Signaturen, Datentypen und Komponenten zu erzeugen, zu generieren und/oder zu erkennen.
-
Ferner ist die generische Verschattungsarchitektur bzw. das -system 200 erweiterbar, um über das verschattete Gerät 202 zusätzliche Daten, die sich nicht auf das Verschatten beziehen, an das Verschattungsgerät 205 und gegebenenfalls an andere Geräte, Anwendungen, Module, Funktionsblöcke und/oder Objekte 235 innerhalb des Prozessleitsystems zu übertragen. In gewisser Weise werden das verschattete Gerät 202 und gegebenenfalls das Verschattungsgerät 205 als Teilstreckenmechanismus eingesetzt. Beispielsweise werden, bezogen auf 2, zusätzliche (nicht dargestellte) Daten, die an das Verschattungsgerät 205 übergeben werden sollen, in oder mit der Konfiguration 212a des verschatteten Gerätes 202 konfiguriert und in Verbindung mit der Konfiguration des verschatteten Gerätes 202 (Referenz 212b) auf das verschattete Gerät 202 heruntergeladen. Anschließend werden die zusätzlichen Daten auf dem verschatteten Gerät 202 gespeichert oder gehalten, z.B. ohne vom verschatteten Gerät 202 manipuliert oder verarbeitet zu werden. Das Verschattungsgerät 205 verwendet den Erkennungsprozess 225, um die zusätzlichen Daten zu erkennen, die auf dem verschatteten Gerät 202 gespeichert wurden und für die Lieferung an das Verschattungsgerät 205 bestimmt sind. Ebenso leitet das verschattete Gerät 202 über den Erkennungsprozess 225 die gespeicherten Zusatzdaten an das Verschattungsgerät 205 weiter. Entweder das Verschattungsgerät 205 oder das verschattete Gerät 202 kann den Erkennungsprozess 225 für die Übertragung der zusätzlichen Nichtverschattungsdaten einleiten. So können durch die Verwendung des Erkennungsprozesses 225, des Verschattungsmanagers 220 und der Verschattungsbibliothek 222 der generischen Verschattungsarchitektur 200 zusätzliche Daten an das Verschattungsgerät 205 geliefert und von diesem verstanden werden, ohne dass das Verschattungsgerät 205 von vornherein konfiguriert werden muss, um die zusätzlichen Daten zu empfangen und zu verstehen. Darüber hinaus können in einigen Szenarien zumindest einige der zusätzlichen Daten, die das Verschattungsgerät 205 von dem verschatteten Gerät 202 erkennt und erhält, an ein Empfängergerät, ein Modul, einen Funktionsblock oder eine Anwendung 235 des Prozessleitsystems zur Verwendung durch den Empfänger weitergeleitet werden.
-
In einem Beispielszenario zur Erweiterung der generischen Verschattungsarchitektur 202 zur Unterstützung der Speicher- und Weiterleitung von Daten umfassen die zusätzlichen Daten eine Konfiguration einer grafischen Display-Ansicht, die in der Konfigurationsdatenbank 208 gespeichert ist und in Verbindung mit der Konfiguration 212a des verschatteten Gerätes 202 heruntergeladen wird. Beispielsweise kann die Konfiguration der grafischen Display-Ansicht in die Konfiguration 212a des verschatteten Gerätes 202 umgebrochen oder anderweitig darin referenziert werden. Die grafische Display-Ansicht wird in Verbindung mit der Konfiguration 212b am verschatteten Gerät 202 empfangen und vom verschatteten Gerät 202 gehalten oder gespeichert (z.B. zwischengespeichert). Über den Erkennungsprozess 225 und gegebenenfalls die in der Verschattungsbibliothek 222 gespeicherten Komponenten erhält der Verschattungsmanager 220 die Konfiguration der grafischen Display-Ansicht, die am verschatteten Gerät 202 gehalten wird, und verarbeitet die Konfiguration der grafischen Display-Ansicht, um die Konfiguration der grafischen Display-Ansicht und die darin verwendeten Datentypen zu erkennen, zu erlernen und/oder zu verstehen. Auf Wunsch kann die Konfiguration der grafischen Display-Ansicht am Verschattungsgerät 205 in der Verschattungsbibliothek 222 gespeichert werden. Zusätzlich kann die Konfiguration der grafischen Display-Ansicht durch das Verschattungsgerät 205 an ein oder mehrere andere Empfängergeräte, Anwendungen, Module, Funktionsblöcke usw. im Prozessleitsystem erfolgen, um die grafische Display-Ansicht zur Darstellung auf den jeweiligen Benutzerschnittstellen zu erzeugen.
-
Dementsprechend wird, wie oben beschrieben, die generische Verschattungsarchitektur 200 einschließlich des verschatteten Gerätes 202 und des Verschattungsgerätes 205 als Teilstreckenmechanismus genutzt, über welchen zusätzliche Daten (wie Konfigurationen von Fremdobjekten und/oder andere Arten von Zusatzdaten) aus der Konfigurationsdatenbank 208 an verschiedene Empfängergeräte, -anwendungen, -module und/oder-Objekte innerhalb des Prozessleitsystems geliefert werden können, auch wenn die Empfänger keinen direkten Zugriff oder kommunikative Verbindungen zur Konfigurationsdatenbank 208 haben.
-
Die Ausführungsformen der in der vorliegenden Offenbarung beschriebenen technischen Methoden können eine beliebige Anzahl der folgenden Aspekte allein oder in Kombination umfassen:
-
1. Ein Verschattungsgerät, das in einer Prozessanlage enthalten ist, wobei das Verschattungsgerät einen oder mehrere Prozessoren umfasst, eine oder mehrere Schnittstellen, die das Verschattungsgerät kommunikativ mit einem verschatteten Gerät verbinden, wobei das Verschattungsgerät und das verschattete Gerät in einem Prozessleitsystem enthalten sind, das einen industriellen Prozess in der Prozessanlage in Echtzeit steuert, einen oder mehrere reale Speicher, die eine Verschattungsbibliothek speichern, und einen Verschattungsmanager mit computerausführbaren Befehlen, die in dem einen oder den mehreren realen Speichern gespeichert sind und die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, das Verschattungsgerät veranlassen, von dem verschatteten Gerät eine Anzeige auf einen Quell-Funktionsblock zu empfangen, der konfiguriert und in das verschattete Gerät heruntergeladen wurde, wobei der Quell-Funktionsblock, der konfiguriert und in das verschattete Gerät heruntergeladen wurde, welches ein instanziierter Quell-Funktionsblock ist.
-
Wenn eine dem Quell-Funktionsblock entsprechende Signatur nicht in der Verschattungsbibliothek gespeichert ist, wird das Verschattungsgerät durch die von dem einen oder den Prozessoren ausgeführten computerausführbaren Befehle veranlasst, (i) basierend auf der empfangenen Anzeige des Quell-Funktionsblocks eine Signatur des Quell-Funktionsblocks zu erzeugen, (ii) die erzeugte Signatur des Quell-Funktionsblocks in der Verschattungsbibliothek zu speichern und (iii) die erzeugte Signatur des Quell-Funktionsblocks zu instanziieren, wodurch ein Schatten des Quell-Funktionsblocks am Verschattungsgerät erzeugt wird. Zusätzlich oder alternativ wird, wenn eine dem Quell-Funktionsblock entsprechende Signatur in der Verschattungsbibliothek gespeichert wird, der Verschattungsmanager durch die von dem einen oder den Prozessoren ausgeführten computerausführbaren Befehle veranlasst, (i) aufgrund der empfangenen Anzeige des Quell-Funktionsblocks eine Diskrepanz zwischen dem Quell-Funktionsblock und der dem Quell-Funktionsblock entsprechenden gespeicherten Signatur zu bestimmen, (ii) die gespeicherte Signatur, die dem Quell-Funktionsblock entspricht, basierend auf der Diskrepanz zu aktualisieren, (iii) die aktualisierte Signatur des Quell-Funktionsblocks in der Verschattungsbibliothek zu speichern und (iv) die aktualisierte Signatur des Quell-Funktionsblocks zu instanziieren, wodurch der Schatten des Quell-Funktionsblocks am Verschattungsgerät erzeugt wird.
-
Zusätzlich sind der eine oder die mehreren Prozessoren des Verschattungsgerätes so konfiguriert, dass sie den Schatten des Quell-Funktionsblocks verwenden, um dynamische Daten zu spiegeln, die von dem instanziierten Quell-Funktionsblock beobachtet werden, der am verschatteten Gerät während der Echtzeitsteuerung des industriellen Prozesses in der Prozessanlage ausgeführt wird, und dass sie die gespiegelten dynamischen Daten einem oder mehreren anderen im Prozessleitsystem enthaltenen Geräten und/oder Funktionsblöcken zur Verfügung stellen, wodurch der am verschatteten Gerät ausgeführte instanziierte Quell-Funktionsblock vom Verschattungsgerät verschattet wird.
-
2. Verschattungsgerät des vorhergehenden Aspekts, wobei der instanziierte Quell-Funktionsblock in einer Vielzahl von Funktionsblöcken enthalten ist, die am verschatteten Gerät instanziiert wurden, wobei der Verschattungsmanager ferner bewirkt, dass das Verschattungsgerät das verschattete Gerät auf entsprechende Anzeigen der Vielzahl von Funktionsblöcken abfragt, die am verschatteten Gerät instanziiert wurden, und wobei die Anzeige des instanziierten Quell-Funktionsblocks in einer Antwort auf die Abfrage enthalten ist.
-
3. Verschattungsgerät eines der vorhergehenden Aspekte, wobei die Abfrage des verschatteten Gerätes auf die jeweiligen Anzeigen der Vielzahl von Funktionsblöcken, die am verschatteten Gerät instanziiert wurden, eine Abfrage des verschatteten Gerätes auf die jeweiligen Anzeigen der Vielzahl von Funktionsblöcken umfasst, die am verschatteten Gerät instanziiert wurden.
-
4. Verschattungsgerät eines der vorhergehenden Aspekte, wobei die Abfrage des verschatteten Gerätes eine periodische Abfrage des verschatteten Gerätes umfasst.
-
5. Verschattungsgerät eines der vorhergehenden Aspekte, wobei die Anzeige des instanziierten Quell-Funktionsblocks von dem verschatteten Gerät empfangen wird, wenn mindestens einer der folgenden Schritte ausgeführt wird: ein Herunterladen einer Konfiguration des Quell-Funktionsblocks in das verschattete Gerät, eine Instanziierung der heruntergeladenen Konfiguration des Quell-Funktionsblocks am verschatteten Gerät oder eine Ausführung des instanziierten Quell-Funktionsblocks am verschatteten Gerät.
-
6. Verschattungsgerät eines der vorhergehenden Aspekte, wobei die Anzeige des von dem verschatteten Gerät empfangenen instanziierten Quell-Funktionsblocks eine Anzeige eines oder mehrerer Typen von dynamischen Daten umfasst, mit denen der instanziierte Quell-Funktionsblock konfiguriert wurde.
-
7. Verschattungsgerät eines der vorhergehenden Aspekte, wobei der Schatten des instanziierten Quell-Funktionsblocks in einer Vielzahl von Schatten einer Vielzahl von Funktionsblöcken enthalten ist, die am verschatteten Gerät und gegebenenfalls an anderen Geräten instanziiert wurden, wobei entsprechende Signaturen der Vielzahl von Funktionsblöcken in der Verschattungsbibliothek gespeichert sind, und der Verschattungsmanager ferner bewirkt, dass das Verschattungsgerät die jeweiligen Signaturen der Vielzahl von Funktionsblöcken, die in der Verschattungsbibliothek gespeichert sind, mit der Vielzahl von Funktionsblöcken synchronisiert, die am verschatteten Gerät und gegebenenfalls an den anderen Geräten instanziiert wurden.
-
8. Verschattungsgerät eines der vorhergehenden Aspekte, wobei der eine oder die mehreren Prozessoren ferner so konfiguriert sind, dass sie über die eine oder die mehreren Schnittstellen einen Kommunikationsausfall zwischen dem Verschattungsgerät und dem verschatteten Gerät erkennen und mindestens einen Alarm oder eine Warnung auf der Grundlage der Erkennung des Kommunikationsausfalls erzeugen.
-
9. Verschattungsgerät eines der vorhergehenden Aspekte, wobei der Quell-Funktionsblock in einer Vielzahl von Funktionsblöcken enthalten ist, die als Steuermodul konfiguriert und in das verschattete Gerät heruntergeladen wurden, und das heruntergeladene Steuermodul am verschatteten Gerät in ein instanziiertes Quell-Kontrollmodul instanziiert wurde, und wobei der Verschattungsmanager das Verschattungsgerät ferner veranlasst, (1) wenn eine dem Quell-Kontrollmodul entsprechende Signatur nicht in der Verschattungsbibliothek gespeichert ist, (i) basierend auf einer Anzeige des von dem verschatteten Gerät eingegangenen instanziierten Quell-Kontrollmoduls eine Signatur des Quell-Kontrollmoduls zu erzeugen, wobei die Signatur des Quell-Kontrollmoduls die Signatur des Quell-Funktionsblocks und entsprechende Signaturen anderer Funktionsblöcke des instanziierten Quell-Kontrollmoduls enthält, (ii) die Signatur des Quell-Kontrollmoduls in der Verschattungsbibliothek zu speichern, und (iii) die erzeugte, gespeicherte Signatur des Quell-Kontrollmoduls zu instanziieren, wodurch ein Schatten des Quell-Kontrollmoduls am Verschattungsgerät erzeugt wird, und/oder (2) wenn eine dem Quell-Kontrollmodul entsprechende Signatur in der Verschattungsbibliothek gespeichert ist, (i) basierend auf der Anzeige des von dem verschatteten Gerät eingegangenen instanziierten Quell-Kontrollmoduls eine Diskrepanz zwischen dem Quell-Kontrollmodul und der dem Quell-Kontrollmodul entsprechenden gespeicherten Signatur zu bestimmen, (ii) die dem Quell-Kontrollmodul entsprechende gespeicherte Signatur, basierend auf der Diskrepanz, zu aktualisieren, (iii) die aktualisierte Signatur des Quell-Kontrollmoduls in der Verschattungsbibliothek zu speichern, und (iv) die aktualisierte Signatur des Quell-Kontrollmoduls zu instanziieren, wodurch der Schatten des Quell-Kontrollmoduls am Verschattungsgerät erzeugt wird.
-
Zusätzlich sind der eine oder die mehreren Prozessoren des Verschattungsgerätes ferner so konfiguriert, dass sie den Schatten des Quell-Kontrollmoduls verwenden, um (i) dynamische Daten zu spiegeln, die von dem instanziierten Quell-Kontrollmodul beobachtet werden, das am verschatteten Gerät während der Echtzeitsteuerung des industriellen Prozesses ausgeführt wird, und (ii) die gespiegelten dynamischen Daten an das eine oder die mehreren anderen Geräte und/oder Funktionsblöcke zu liefern, die im Prozess-Control-System enthalten sind, wodurch das Verschattungsgerät das am verschatteten Gerät ausgeführte instanziierte Quell-Kontrollmodul verschattet.
-
10. Verschattungsgerät eines der vorhergehenden Aspekte, wobei der Verschattungsmanager ferner bewirkt, dass das Verschattungsgerät eine Vielzahl von Steuermodulschatten, die im Verschattungsgerät gespeichert sind, mit einer Vielzahl von Steuermodulen synchronisiert, die an anderen Vorrichtungen instanziiert wurden, wobei die Vielzahl von Steuermodulschatten den Schatten des Quell-Kontrollmoduls, die Vielzahl von instanziierten Steuermodulen das instanziierte Quell-Kontrollmodul sowie die anderen Vorrichtungen das verschattete Gerät umfassen.
-
11. Verschattungsgerät eines der vorhergehenden Aspekte, wobei das Verschattungsgerät eine Prozesssteuerung ist, die in Echtzeit läuft, um den industriellen Prozess in der Prozessanlage zu steuern, und wobei das verschattete Gerät ein von der Prozesssteuerung gesteuertes Feldgerät, eine der Prozesssteuerung entsprechende Sicherheitssteuerung oder ein Sicherheitslogiklöser oder ein anderes im Prozessleitsystem ausgeführtes Steuerobjekt ist.
-
12. Verschattungsgerät eines der vorhergehenden Aspekte, wobei das Verschattungsgerät ein Softwaremodul umfasst, das integraler Bestandteil des verschatteten Gerätes und in ihm isoliert ist.
-
13. Verschattungsgerät eines der vorhergehenden Aspekte, wobei der instanziierte Quell-Funktionsblock in einem Steuermodul enthalten ist, das im Prozessleitsystem der Prozessanlage ausgeführt wird.
-
14. Verschattungsgerät eines der vorhergehenden Aspekte, wobei die eine oder mehreren Schnittstellen das Verschattungsgerät ferner kommunikativ mit einer Konfigurationsdatenbank der Prozessanlage verbinden, die Verschattungsbibliothek einen Satz Signaturen von Steuerobjekten speichert, die aus der Konfigurationsdatenbank über die eine oder mehreren Schnittstellen heruntergeladen wurden, und der Satz von Signaturen der aus der Konfigurationsdatenbank heruntergeladenen Steuerobjekte die Signatur des Quell-Funktionsblocks ausschließt.
-
15. Verschattungsgerät eines der vorhergehenden Aspekte, wobei der Verschattungsmanager ferner das Verschattungsgerät veranlasst, das verschattete Gerät abzufragen, um eine Auflösung der Diskrepanz zwischen dem Quell-Funktionsblock und der gespeicherten Signatur des Quell-Funktionsblocks zu bestimmen, und wobei die Aktualisierung der gespeicherten Signatur des Schatten-Funktionsblocks auf einer Antwort auf die Abfrage basiert.
-
16. Verschattungsgerät eines der vorhergehenden Aspekte, wobei der Verschattungsmanager einen Erkennungsprozess umfasst, um Signaturen von Steuerobjekten zu erkennen, wobei die Steuerobjekte den Quell-Funktionsblock enthalten und die Signaturen der Steuerobjekte die Signatur des Quell-Funktionsblocks enthalten.
-
17. Verschattungsgerät eines der vorhergehenden Aspekte, wobei die Signatur des Quell-Funktionsblocks einen ersten Datentyp anzeigt, der von dem Quell-Funktionsblock verwendet wird, die Verschattungsbibliothek einen Satz primitiver Komponenten speichert, die eine Vielzahl von Datentypen definieren, der Erkennungsprozess konfiguriert ist, um den von dem Quell-Funktionsblock verwendeten ersten Datentyp unter Verwendung des Satzes primitiver Komponenten und auf der Grundlage der empfangenen Anzeige des Quell-Funktionsblocks zu identifizieren, und die Verschattungsbibliothek konfiguriert ist, um Signaturen von Schatten zu speichern, die einer der Vielzahl von Datentypen entsprechen.
-
18. Verschattungsgerät eines der vorhergehenden Aspekte, wobei die Vielzahl von Datentypen mindestens eine der folgenden umfasst: eine oder mehrere Datenstrukturen, ein oder mehrere Datenformate, einen oder mehrere Datenwerte, eine oder mehrere Datensyntaxen oder eine oder mehrere Auszeichnungssprachen.
-
19. Verschattungsgerät eines der vorhergehenden Aspekte, wobei der erste von dem Quell-Funktionsblock verwendete Datentyp ein komplexer Datentyp ist, die Vielzahl der von dem Satz primitiver Komponenten definierten Datentypen eine Vielzahl einfacher Datentypen umfasst, und der Erkennungsprozess ferner so konfiguriert ist, dass er den von dem Quell-Funktionsblock verwendeten komplexen Datentyp erlernt, indem er den Satz primitiver Komponenten verwendet, um mehrere einfache Datentypen zu kombinieren.
-
20. Verschattungsgerät eines der vorhergehenden Aspekte, wobei der Erkennungsprozess so konfiguriert ist, dass er eine komplexe Komponente erzeugt, die den erlernten komplexen Datentyp definiert und die komplexe Komponente in der Verschattungsbibliothek speichert.
-
21. Verschattungsgerät eines der vorhergehenden Aspekte, wobei der Erkennungsprozess so konfiguriert ist, dass er das verschattete Gerät abfragt, um einen von dem Quell-Funktionsblock verwendeten Datentyp zu bestimmen, und wobei die Signatur des Quell-Funktionsblocks den Datentyp anzeigt, der von dem Quell-Funktionsblock verwendet wird und der in einer Antwort auf die Abfrage angezeigt wurde.
-
22. Verschattungsgerät eines der vorhergehenden Aspekte, wobei eine Anzeige eines bestimmten vom Quell-Funktionsblock verwendeten Datentyps in der Anzeige des vom verschatteten Gerät eingegangenen instanziierten Quell-Funktionsblocks enthalten ist, und wobei der Erkennungsprozess ferner konfiguriert ist, den Schatten des Quell-Funktionsblocks basierend auf dem spezifischen Datentyp zu bestimmen.
-
23. Verschattungsgerät eines der vorhergehenden Aspekte, wobei das Verschattungsgerät mindestens einen Teil der gespiegelten dynamischen Daten liefert, die von dem am verschatteten Gerät ausgeführten instanziierten Quell-Funktionsblock zur Anzeige an einer Benutzerschnittstelle des Prozessleitsystems beobachtet werden.
-
24. Verfahren zum Verschatten eines Gerätes in einer Prozessanlage, wobei das Verfahren Folgendes umfasst: Empfangen, am Verschattungsgerät, einer Anzeige auf einen Quell-Funktionsblock, der konfiguriert und in das verschattete Gerät heruntergeladen wurde, wobei das Verschattungsgerät und das verschattete Gerät in einem Prozessleitsystem enthalten sind, das einen industriellen Prozess in der Prozessanlage in Echtzeit steuert, und wobei der Quell-Funktionsblock, der konfiguriert und in das verschattete Gerät heruntergeladen wurde, ein instanziierter Quell-Funktionsblock ist, Bestimmen, durch das Verschattungsgerät, dass eine dem Quell-Funktionsblock entsprechende Signatur nicht in dem Verschattungsgerät gespeichert ist, Erkennen der Signatur des Quell-Funktionsblocks und Speichern der Signatur des Quell-Funktionsblocks in einer Verschattungsbibliothek des Verschattungsgerätes, basierend auf der Feststellung, dass die Signatur, die dem instanziierten Quell-Funktionsblock entspricht, nicht am Verschattungsgerät gespeichert ist, Spiegeln, am Verschattungsgerät und unter Verwendung der Signatur des Quell-Funktionsblocks, von dynamischen Daten, die von dem instanziierten Quell-Funktionsblock am verschatteten Gerät während der Echtzeitsteuerung des industriellen Prozesses erzeugt und/oder empfangen werden, und Liefern, durch das Verschattungsgerät, der gespiegelten dynamischen Daten an andere in dem Prozessleitsystem enthaltene Funktionsblöcke und/oder Geräte, wodurch der am verschatteten Gerät ausgeführte instanziierte Quell-Funktionsblock verschattet wird.
-
25. Verfahren des vorhergehenden Aspekts, wobei das Erkennen der Signatur des Quell-Funktionsblocks das Abfragen der verschatteten Geräte durch das Verschattungsgerät umfasst, um einen Datentyp zu bestimmen, der von dem Quell-Funktionsblock verwendet wird, und das Erzeugen der Signatur des Quell-Funktionsblocks auf der Grundlage einer Antwort auf die Abfrage, wobei die Antwort den vom Quell-Funktionsblock verwendeten Datentyp anzeigt.
-
26. Verfahren eines der Aspekte 24-25, umfassend ferner das Empfangen einer Anzeige eines Datentyps, der von dem Quell-Funktionsblock in Verbindung mit dem Eingehen der Anzeige des instanziierten Quell-Funktionsblocks von dem verschatteten Gerät verwendet wird, und wobei das Erkennen der Signatur des Quell-Funktionsblocks das Erzeugen der Signatur des Quell-Funktionsblocks auf der Grundlage des von dem Quell-Funktionsblock verwendeten Datentyps umfasst.
-
27. Verfahren eines der Aspekte 24-26, wobei das Verschattungsgerät in einer Prozesssteuerung enthalten ist, die in Echtzeit operiert, um den industriellen Prozess in der Prozessanlage zu steuern, und das verschattete Gerät eines der Folgenden ist: ein Feldgerät, das von der Prozesssteuerung gesteuert wird, um den industriellen Prozess in der Prozessanlage in Echtzeit zu steuern, eine Sicherheitssteuerung oder ein Sicherheitslogiklöser, die/der der Prozesssteuerung entsprechen, oder ein anderes im Prozessleitsystem der Prozessanlage ausgeführtes Steuerobjekt.
-
28. Verfahren eines der Aspekte 24-27, wobei das Verschattungsgerät ein Softwaremodul umfasst, das einen integralen Bestandteil des verschatteten Gerätes bildet und in diesem isoliert ist.
-
29. Verfahren eines der Aspekte 24-28, umfassend ferner das Beziehen einer Konfiguration des Verschattungsgerätes und eines Satzes von Signaturen, die einem Satz von Funktionsblöcken entsprechen, die von dem Verschattungsgerät verschattet werden sollen, durch das Verschattungsgerät aus einer Konfigurationsdatenbank der Prozessanlage, und wobei die dem Quell-Funktionsblock entsprechende Signatur von dem Satz von Signaturen, die aus der Konfigurationsdatenbank bezogen werden, ausgeschlossen wird.
-
30. Verfahren eines der Aspekte 24-29, wobei das Erkennen der Signatur des Quell-Funktionsblocks die Verwendung eines Satzes primitiver Komponenten, basierend auf dem Empfang der Anzeige des Quell-Funktionsblocks, umfasst, um einen oder mehrere Datentypen zu erkennen, die von dem Quell-Funktionsblock verwendet werden, wobei der eine oder die mehreren Datentypen mindestens eine der folgenden umfassen: eine Vielzahl von Datenstrukturen, eine Vielzahl von Datenformaten, eine Vielzahl von Datenwerten, eine Vielzahl von Datensyntaxen oder eine Vielzahl von Auszeichnungssprachen.
-
31. Verfahren eines der Aspekte 24-30, wobei ein von dem Quell-Funktionsblock verwendeter Datentyp ein komplexer Datentyp ist, der Satz von primitiven Komponenten einer Vielzahl von einfachen Datentypen entspricht, und das Verfahren ferner das Erlernen des von dem Quell-Funktionsblock verwendeten komplexen Datentyps unter Verwendung des Satzes primitiver Komponenten entsprechend der Vielzahl einfacher Datentypen umfasst.
-
32. Verfahren eines der Aspekte 24-31, umfassend ferner das Erzeugen, basierend auf dem Satz von primitiven Komponenten, einer komplexen Komponente, die den erlernten komplexen Datentyp definiert, der von dem Quell-Funktionsblock verwendet wird, und das Speichern der komplexen Komponente in dem Verschattungsgerät.
-
33. Verfahren eines der Aspekte 24-32, wobei das Speichern der Signatur des Quell-Funktionsblocks in der Verschattungsbibliothek das Speichern mehrerer Signaturen von mehreren Funktionsblöcken in der Verschattungsbibliothek umfasst, die am verschatteten Gerät und gegebenenfalls an anderen im Prozessleitsystem enthaltenen Geräten instanziiert werden.
-
34. Verfahren eines der Aspekte 24-33, wobei die mehreren Funktionsblöcke in einem Steuermodul enthalten sind, das am verschatteten Gerät instanziiert wird, und wobei das Speichern der mehreren Signaturen der mehreren Funktionsblöcke des instanziierten Steuermoduls das Speichern einer Signatur des instanziierten Steuermoduls umfasst.
-
35. Verfahren eines der Aspekte 24-34, das ferner das Synchronisieren der Signatur des Quell-Funktionsblocks mit dem am verschatteten Gerät ausgeführten instanziierten Quell-Funktionsblock durch das Verschattungsgerät umfasst.
-
36. Verfahren eines der Aspekte 24-35, bei dem ferner durch das Verschattungsgerät ein Ausfall der Kommunikation mit dem verschatteten Gerät festgestellt wird und beim Erkennen des Kommunikationsausfalls mindestens ein Alarm oder eine Warnung erzeugt wird.
-
37. Verfahren eines der Aspekte 24-36, das ferner das Empfangen einer Display-Ansicht, die dem instanziierten Quell-Funktionsblock entspricht, am Verschattungsgerät, und die Bereitstellung mindestens eines Teils der gespiegelten dynamischen Daten zur Darstellung in der Display-Ansicht, die dem instanziierten Quell-Funktionsblock entspricht, durch das Verschattungsgerät und in Übereinstimmung mit einer Konfiguration der Display-Ansicht umfasst.
-
38. Verfahren eines der Aspekte 24-37, das ferner den Empfang zusätzlicher Daten von dem verschatteten Gerät und das Weiterleiten der zusätzlichen Daten an ein im Prozessleitsystem enthaltenes Empfangsgerät umfasst.
-
39. Verfahren eines der Aspekte 24-38, wobei das Verschattungsgerät das Verschattungsgerät eines der Aspekte 1-23 ist.
-
Wenn sie in Software implementiert sind, können beliebige der in dieser Schrift beschriebenen Anwendungen, Dienste und Antriebe in jedem materiellen, nicht-transitorischen computerlesbaren Speicher, beispielsweise auf einer Magnetplatte, einer Laserplatte, einer Festkörper-Speichervorrichtung, einer molekularen Speichervorrichtung oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers oder Prozessors usw. gespeichert werden. Obwohl offenbart ist, dass die hierin offenbarten Beispielsysteme unter anderem auch auf Hardware ausgeführte Software und/oder Firmware enthalten, ist zu beachten, dass solche Systeme lediglich der Veranschaulichung dienen und nicht als einschränkend betrachtet werden sollten. Beispielsweise wird in Betracht gezogen, dass beliebige oder alle dieser Hardware-, Software- und Firmware-Komponenten ausschließlich in Hardware, ausschließlich in Software oder in beliebiger Kombination von Hardware und Software ausgeführt sein könnten. Dementsprechend werden die hier beschriebenen Beispielsysteme als in Software umgesetzte beschrieben, die auf einem Prozessor eines oder mehrerer Rechenvorrichtungen ausgeführt werden, der gewöhnliche Fachmann wird jedoch problemlos erkennen, dass die angeführten Beispiele nicht die einzige Möglichkeit sind, solche Systeme umzusetzen.
-
Während die vorliegende Erfindung unter Bezugnahme auf spezifische Beispiele beschrieben ist, die lediglich der Veranschaulichung dienen und nicht einschränkend für die Erfindung sein sollen, ist es daher für den Durchschnittsfachmann offensichtlich, dass Änderungen, Ergänzungen oder Streichungen an den offenbarten Ausführungsformen vorgenommen werden können, ohne vom Geist und Schutzbereich der Erfindung abzuweichen. Auch wenn der vorangegangene Text eine detaillierte Beschreibung zahlreicher verschiedener Ausführungsformen enthält, versteht sich, dass der Anwendungsbereich des Patents durch den Wortlaut der am Ende dieses Patents ausgeführten Ansprüche und ihrer Entsprechungen definiert wird. Die detaillierte Beschreibung ist nur als beispielhaft auszulegen und beschreibt nicht jede mögliche Ausführungsform, da die Beschreibung jeder möglichen Ausführungsform unpraktisch, wenn nicht gar unmöglich wäre. Zahlreiche alternative Ausführungsformen könnten unter Verwendung entweder gegenwärtiger Technologie oder nach dem Anmeldetag dieses Patents entwickelter Technologie umgesetzt werden und würden immer noch in den Geltungsbereich der Ansprüche und aller Entsprechungen davon fallen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 6738388 [0012]
- US 7519083 [0012]