DE102011053951A1 - Verfahren und Vorrichtung zum Verwalten von Prozessdaten - Google Patents

Verfahren und Vorrichtung zum Verwalten von Prozessdaten Download PDF

Info

Publication number
DE102011053951A1
DE102011053951A1 DE102011053951A DE102011053951A DE102011053951A1 DE 102011053951 A1 DE102011053951 A1 DE 102011053951A1 DE 102011053951 A DE102011053951 A DE 102011053951A DE 102011053951 A DE102011053951 A DE 102011053951A DE 102011053951 A1 DE102011053951 A1 DE 102011053951A1
Authority
DE
Germany
Prior art keywords
file
process data
descriptor
field device
descriptor file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102011053951A
Other languages
English (en)
Inventor
Mark J. Nixon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE102011053951A1 publication Critical patent/DE102011053951A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring

Abstract

Es werden beispielhafte Verfahren und eine Vorrichtung zum Verwalten von Prozessdaten offenbart. Ein offenbartes beispielhaftes Verfahren umfasst das Empfangen einer Anforderung von einem Feldgerät zugeordneten Prozessdaten, Durchsuchen einer Datenbank nach einer Deskriptordatei, die die angeforderten Prozessdaten enthält, und Zugreifen auf die Deskriptordatei, um die Prozessdaten zur Anzeige in einer Anwendung abzurufen, wobei die Prozessdaten unter Verwendung eines Schemas abgerufen werden, das angibt, dass die Prozessdaten in einem Objekt lokalisiert sind, das durch einen Dateieintrag referenziert wird, der Teil eines Abschnitts eines in der Datei enthaltenen Dateirumpfes ist. In einem beispielhaften Verfahren kann das Objekt mindestens einen von einem Ausdruck, um einen Wert zu berechnen, wobei die Prozessdaten in einer mathematischen Formel verwendet werden, oder einer Anzeigetransformation zur Anweisung, wie die Prozessdaten angezeigt werden sollen, enthalten.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Offenbarung betrifft allgemein Prozesssteuerungssysteme und insbesondere Verfahren und eine Vorrichtung zum Verwalten von Prozessdaten.
  • ALLGEMEINER STAND DER TECHNIK
  • Prozesssteuerungssysteme wie jene, die in chemischen, Erdöl und anderen Prozessen verwendet werden, schließen in der Regel eine oder mehrere Steuerungen und Eingabe/Ausgabe(E/A)-Geräte ein, die kommunikativ an mindestens einen Host oder einen Arbeitsplatzrechner (eine Workstation) einer Bedienungsperson und über analoge, digitale oder kombiniert analog/digitale Busse an ein oder mehrere Feldgeräte gekoppelt sind. Die Feldgeräte können beispielsweise Ventile, Ventilstellungsregler, Schalter und Sender (z. B. Temperatur-, Druck- und Durchflussratensensoren) sein, und sie können innerhalb des Prozesses Prozesssteuerungsfunktionen durchführen, wie Öffnen oder Schließen von Ventilen und Messen von Prozesssteuerungsparametern. Die Steuerungen erhalten Signale, die Prozessmessungen anzeigen, welche von den Feldgeräten vorgenommen wurden, verarbeiten diese Informationen, um eine Steuerroutine zu implementieren, und generieren Steuersignale, die über die Busse oder anderen Kommunikationsleitungen an die Feldgeräte gesendet werden, um den Betrieb des Prozesses zu steuern. Auf diese Weise führen die Steuerungen Steuerungsstrategien oder -routinen unter Verwendung der Feldgeräte über die Busse und/oder andere Kommunikationsverbindungen aus, die die Feldgeräte kommunikativ koppeln.
  • Prozessdaten von den Feldgeräten und den Steuerungen können einer oder mehreren Anwendungen (d. h. Softwareroutinen, Programmen usw.) zur Verfügung gestellt werden, die durch den Arbeitsplatzrechner einer Bedienungsperson (z. B. ein System auf Prozessorbasis) ausgeführt werden, damit es einer Bedienungsperson möglich ist, gewünschte Funktionen in Bezug auf den Prozess durchzuführen, wie Anzeigen des aktuellen Status des Prozesses (z. B. über eine grafische Benutzeroberfläche), Auswertung des Prozesses, Ändern des Betriebs des Prozesses (z. B. über ein Visual Object-Diagramm, usw. Viele Prozesssteuerungssysteme schließen auch eine oder mehrere Anwendungsstationen ein. Diese Anwendungsstationen werden typischerweise mit einem PC, Arbeitsplatzrechner oder dergleichen implementiert, die über ein lokales Netzwerk (LAN) kommunikativ an die Steuerungen, Arbeitsplatzrechner der Bedienungspersonen und anderen Systeme innerhalb des Prozesssteuerungssystems gekoppelt sind. Jede Anwendungsstation kann eine oder mehrere Strategien, Routinen oder Anwendungen ausführen, die Einsatzverwaltungsfunktionen, Wartungsverwaltungsfunktionen, virtuelle Steuerungsfunktionen, Diagnosefunktionen, Echtzeit-Überwachungsfunktionen, sicherheitsrelevante Funktionen, Konfigurationsfunktionen usw. innerhalb des Prozesssteuerungssystems durchführen.
  • Ein Feldgeräteintegrations-(FDI)-Standard unterstützt zurzeit mehrere Prozesssteuerungskommunikationsprotokolle (z. B. Hart®, Foundation FieldbusTM und Profibus®), wodurch es Prozesssteuerungssystemen möglich wird, Feldgeräte unter Verwendung eines universellen Werkzeugsatzes zu verwalten. Der universelle Werkzeugsatz kann in einigen Beispielen durch elektronische Gerätebeschreibungssprachen-(EDDL)-Dateien implementiert werden. Die EDDL-Dateien stellen ein strukturiertes und/oder standardisiertes Format zur Beschreibung und Spezifizierung der Funktionen von Feldgeräten zur Verfügung. Prozesssteuerungen und/oder Arbeitsplatzrechner können EDDL-Dateien zur Erleichterung der Interpretation, Steuerung und/oder des Verwalten von Feldgeräten verwenden. In einigen Beispielen kann der universelle Werkzeugsatz durch definierte Client/Server-Schnittstellen implementiert werden, die Prozessdaten in einem universellen Format austauschen.
  • KURZFASSUNG
  • Es werden beispielhafte Verfahren und Vorrichtungen zum Verwalten von Prozessdaten beschrieben. Ein Verfahren beinhaltet in einem Beispiel eine Anforderung von Prozessdaten, die einem Feldgerät zugeordnet sind, und Durchsuchen einer Datenbank nach einer Deskriptordatei, die die angeforderten Prozessdaten enthält. Das beispielhafte Verfahren umfasst auch den Zugriff auf die Deskriptordatei, um die Prozessdaten zur Anzeige in einer Anwendung abzurufen, wobei die Prozessdaten unter Verwendung eines Schemas abgerufen werden, das angibt, dass sich die Prozessdaten in einem Objekt befinden, das von einem Dateieintrag referenziert wird, der Teil eines Abschnitts eines Dateirumpfes ist, der in der Deskriptordatei enthalten ist.
  • Ein Verfahren umfasst in einem anderen Beispiel das Abrufen von Prozessdaten, die von einem Feldgerät übertragen werden und in der Deskriptordatei gespeichert werden sollen und das Bestimmen einer Beziehung zwischen den Prozessdaten. Das beispielhafte Verfahren umfasst auch das Erstellen eines Dateirumpfes für die Deskriptordatei, Erstellen einer offenen Dateibeschreibung für jede physische Datei, die der Deskriptordatei zugeordnet werden soll, bezogen auf eine Anzahl von dem Feldgerät zugeordneten Komponenten, Erstellen eines Abschnitts der offenen Dateibeschreibung, der verwandte Teile der Prozessdaten enthält, und Erstellen eines Dateieintrags in dem Abschnitt. Das beispielhafte Verfahren umfasst ferner das Auswählen eines Objekttyps bezogen auf einen Typ der Prozessdaten, die in dem Dateieintrag gespeichert werden sollen, Zuweisen eines dem gewählten Objekttyp zugeordneten Objekts zu dem Dateieintrag und Speichern der Prozessdaten in dem Objekt.
  • Ein maschinenlesbares Medium umfasst in einem weiteren Beispiel darauf gespeicherte Anweisungen, die bei Ausführung bewirken, dass eine Maschine mindestens folgendes ausführt: Empfangen einer Anforderung von Prozessdaten, die einem Feldgerät zugeordnet sind; Durchsuchen einer Datenbank nach einer Deskriptordatei, die einem universellen Prozesssteuerungsdateiformat entspricht, das die angeforderten Prozessdaten einschließt; und Zugreifen auf die Deskriptordatei, um die Prozessdaten zur Darstellung in einer Anwendung abzurufen, wobei die Prozessdaten unter Verwendung des universellen Prozesssteuerungsdateiformats abgerufen werden, welches angibt, dass sich die Prozessdaten in einem Objekt befinden, das von einem Dateieintrag referenziert wird, der Teil eines in der Deskriptordatei enthaltenen Abschnitts eines Dateirumpfs ist.
  • Die Anweisungen können bei Ausführung die Maschine veranlassen, die Deskriptordatei zu lokalisieren, indem eine Kopfzeile der Gerätedeskriptordatei mit einem Identifikator abgeglichen wird, der dem in der Anforderung enthaltenen Feldgerät zugeordnet ist.
  • Die Anweisungen können bei Ausführung bewirken, dass die Maschine die Prozessdaten unter Verwendung einer Beziehung zwischen einer Datenstruktur, wo die Prozessdaten in dem Feldgerät generiert werden, um durch die Deskriptordatei zu navigieren, zu dem Ort der Prozessdaten abruft.
  • Die Anweisungen können bei Ausführung bewirken, dass die Maschine folgendes ausführt: Abrufen der Prozessdaten von einer Steuerung, die kommunikativ an das Feldgerät gekoppelt ist; Lokalisieren der Deskriptordatei unter Verwendung eines Identifikators innerhalb der Prozessdaten; Lokalisieren des Dateirumpfes innerhalb der Deskriptordatei, die den Prozessdaten entspricht; Lokalisieren des Abschnitts, der den Prozessdaten entspricht; Lokalisieren des Dateieintrags innerhalb des Abschnitts, der den Prozessdaten entspricht; Lokalisieren des Objekts innerhalb des Dateieintrags, der den Prozessdaten entspricht; und Speichern der Prozessdaten an einem Ort des Objekts in einem Format, das durch einen dem Objekt zugeordneten Variablentyp angegeben wird.
  • Eine beispielhafte Vorrichtung umfasst einen Dateiprozessor zum Durchsuchen einer Datenbank nach einer Deskriptordatei, die angeforderte Prozessdaten enthält, die aus einem Feldgerät in einem Prozesssteuerungssystem stammen. Die beispielhafte Vorrichtung enthält auch einen Prozessdatenleser zum Zugreifen auf die Deskriptordatei zum Abrufen der Prozessdaten zur Anzeige in einer Anwendung, wobei die Prozessdaten sich in einem Objekt befinden, das durch einen Dateieintrag referenziert wird, der Teil eines Abschnitts eines Dateirumpfes ist, der in der Deskriptordatei enthalten ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockdiagramm, das ein beispielhaftes Prozesssteuerungssystem veranschaulicht, das eine beispielhafte Anzeigeschnittstelle und einen beispielhaften Dateigenerator enthält.
  • 2 zeigt Funktionsblockdiagramme der beispielhaften Anzeigeschnittstelle und des Dateigenerators von 1.
  • 3 und 4 zeigen ein beispielhaftes Schema, das durch den beispielhaften Dateigenerator der 1 und 2 verwendet werden kann, um Deskriptordateien zu erstellen.
  • 5 zeigt eine beispielhafte Deskriptordatei, die dem beispielhaften Schema der 3 und 4 entspricht.
  • 6 zeigt eine beispielhafte Anwendung, die von einer Deskriptordatei abgerufene Prozessdaten zeigt.
  • 7, 8A, 8B und 9 sind Flussdiagramme von beispielhaften Prozessen, die verwendet werden können, um die beispielhafte Anzeigeschnittstelle und/oder den Dateigenerator aus den 1 und/oder 2 zu implementieren.
  • 10 ist ein Blockdiagramm eines beispielhaften Prozessorsystems, das zum Implementieren der beispielhaften Verfahren und Vorrichtung verwendet werden kann, die hier beschrieben sind.
  • DETAILLIERTE BESCHREIBUNG
  • Obwohl anschließend beispielhafte Verfahren und Vorrichtungen beschrieben werden, die unter anderen Komponenten Software und/oder Firmware einschließen, die auf Hardware ausgeführt werden, sei darauf hingewiesen, dass diese Beispiele lediglich illustrierend sind und nicht als einschränkend angesehen werden sollen. Es ist beispielsweise vorgesehen, dass beliebige oder alle der Hardware-, Software- und Firmware-Komponenten ausschließlich in Hardware, ausschließlich in Software oder in jeglicher Kombination aus Hardware und Software verkörpert sein können. Obwohl anschließend beispielhafte Verfahren und Vorrichtungen beschrieben werden, werden Fachleute mit durchschnittlichem Wissen daher leicht erkennen, dass die gegebenen Beispiele nicht der einzige Weg zur Implementierung derartiger Verfahren und Vorrichtungen sind. Obwohl die beispielhaften Verfahren und Vorrichtungen zum Beispiel im Zusammenhang mit dem Verwalten von Prozessdaten beschrieben worden sind, sind die beispielhaften Verfahren und Vorrichtungen allgemeiner anwendbar und können zum Verwalten von Daten implementiert werden, die jedem Automatisierungssystem, Chargenverarbeitungssystem, Fertigungssystem, industriellen Steuerungssystem, sicherheitsinstrumentierten System usw. zugeordnet sind.
  • Prozesssteuerungssysteme schließen allgemein Steuerungen ein, um Routinen, Steuerungsstrategien und/oder Algorithmen durchzuführen, die Feldvorrichtungen verwalten, die sich in dem Steuerungssystem befinden. Die Feldgeräte können beispielsweise Ventile, Ventilstellungsregler, Schalter und Sender sein, und sie können Prozesssteuerungsfunktionen durchführen, wie das Öffnen oder Schließen von Ventilen und Messen von Prozesssteuerungsparametern. Zusätzlich zum Verwalten von Feldgeräten können Steuerungen auch basierend auf von den Feldgeräten empfangenen Informationen Prozessdaten generieren. Zu den Prozessdaten können Prozessstatistiken, Alarme, Überwachungsinformationen, Trendinformationen des Prozesses, diagnostische Informationen, Statusinformationen der Feldgeräte und/oder Meldungen von den Feldgeräten gehören.
  • Steuerungen übertragen Prozesssteuerungsdaten an Anwendungen, die auf Arbeitsplatzrechnern laufen, so dass die Bedienungspersonen das Prozesssteuerungssystem verwalten können. Anwendungen zeigen Prozesssteuerungsdaten in der Regel als mindestens eine grafische Datendarstellung in einer Benutzeroberfläche an. Datendarstellungen sind für Bedienungspersonen hilfreich, da diese Datendarstellungen typischerweise Prozessdaten grafisch in Form von Diagrammen, Grafiken, Datentabellen, Auswahllisten, grafischen Symbolen, Text, usw. anzeigen. Die Datendarstellungen und entsprechender Text in der Benutzerschnittstelle werden im Allgemeinen in einem Format und/oder einer Sprache angezeigt, das bzw. die dem Gebietsschema einer Bedienungsperson zugeordnet ist, die die Informationen anzeigt.
  • In vielen bekannten Systemen zeigen Arbeitsplatzrechner Prozessdaten von Feldgeräten unter Verwendung einer entsprechenden elektronischen Gerätebeschreibungssprachen-(EDDL)-Datei an. Die EDDL-Dateien werden in vielen Fällen zusammen mit einem entsprechenden Feldgerät in eine Prozesssteuerungsumgebung transportiert. Die EDDL-Dateien können in vielen Fällen in ein Feldgerät eingeschlossen sein und bei Installation des Feldgeräts in dem Prozesssteuerungssystem auf ein Prozesssteuerungssystem hochgeladen werden. In diesen Fällen kann eine Steuerung die EDDL-Dateien speichern. Alternativ kann jeder Arbeitsplatzrechner, der an das Prozesssteuerungssystem gekoppelt ist, eine lokale Kopie der EDDL-Dateien speichern. In anderen Beispielen kann Prozesssteuerungspersonal EDDL-Dateien in einer zentralen Datenbank speichern und auf die EDDL-Dateien zugreifen, um Prozessdaten aus einem entsprechenden Feldgerät anzuzeigen.
  • Zurzeit unterstützen viele gut bekannte Prozesssteuerungskommunikationsprotokolle die Verwendung von EDDL-Dateien. Diese Prozesssteuerungsprotokolle umfassen beispielsweise Foundation FieldbusTM, Hart® Communication Foundation und Profibus®. Der Feldgeräteintegrations-(FDI)-Standard unterstützt ferner die Verwendung von EDDL-Dateien zur Erstellung eines universellen Werkzeugsatzes, der von Prozesssteuerungspersonal zum Verwalten von Feldgeräten verwendet wird, die in Steuerungssystemen kommunikativ gekoppelt sind.
  • Die EDDL ist eine textbasierte Sprache, die dazu benutzt werden kann, die Charakteristika, Parameter und/oder Funktionen von Feldgeräten zu beschreiben. Diese Funktionalität kann beispielsweise Menüsystembeschreibungen, allgemeine Geräteinformationen, Diagnostik, Leistungsanalyseinformationen, Betriebsstatistiken, Parametrisierungsinformationen, Bereichseinrichtungsinformationen, Simulationsparameter, Überschreibungsinformationen, Kalibrierungs-/Eichinformationen, Überwachungsinformationen, Gerätesicherheitsprotokolle und/oder Rücksetzinformationen einschließen. Hersteller von Feldgeräten verwenden EDDL-Dateien zur Bereitstellung einer standardisierten Form und/oder Struktur für Host-Arbeitsplatzrechner und/oder Handgeräte, um unabhängig von einem Kommunikationsprotokoll und/oder einem Betriebssystem eines Geräts (z. B. Windows, Android, Blackberry OS, iOS usw.) auf Prozessdaten zuzugreifen und diese anzuzeigen.
  • Obwohl EDDL-Dateien angeben, wie Prozessdaten angezeigt werden sollen, speichern sie keine Prozessdaten. Prozessdaten können zurzeit von einer Steuerung in einem dauerhaften Speichersystem (z. B. einer Datenbank) gespeichert werden. Gespeicherte Prozessdaten können in vielen Fällen von einem Feldgerät, das die Prozessdaten generiert hat, einem Bereich eines Prozesssteuerungssystems, einem den Prozessdaten zugeordneten Identifikator, einen Zeitpunkt, an dem die Prozessdaten generiert wurden, und/oder jeder anderen Anordnung, die von Prozesssteuerungspersonal angegeben wurde, organisiert werden. Prozessdaten können zudem in einem Format, das einem Feldgerätetyp zugeordnet ist, von dem die Prozessdaten generiert wurden, einem Kommunikationsprotokoll, das zum Transport der Prozessdaten verwendet wird, und/oder einem Prozessdatentyp gespeichert werden.
  • EDDL-Dateien können Datenbankorte von gespeicherten Prozessdaten referenzieren, um die Prozessdaten in einer grafischen Darstellung anzuzeigen. Um Prozessdaten zu referenzieren, müssen einige EDDL-Dateien möglicherweise einen Verzeichnisort der Prozessdaten in einer Datenbank angeben. Die EDDL-Dateien müssen ferner möglicherweise einen Parameter und/oder eine Variable angeben, die zu einem Format der Prozessdaten passen. EDDL-Dateien müssen auf diese Weise möglicherweise manuell konfiguriert werden, um den geeigneten Ort/die geeigneten Orte der gewünschten Prozessdaten zu referenzieren. Falls die Prozessdaten an einen anderen Ort migriert werden, müssen die EDDL-Dateien möglicherweise mit dem neuen Ort aktualisiert werden. Eine Anwendung, die Prozessdaten abruft, muss darüber hinaus möglicherweise die gesamte Datenbank durchsuchen. Das Durchsuchen der gesamten Datenbank kann ineffizient und zeitraubend sein. Einige Anwendungen sind zudem möglicherweise nicht kommunikativ an die Datenbank gekoppelt, um einem Anwender das Suchen nach Prozessdaten zu ermöglichen.
  • Zurzeit können viele Arbeitsplatzrechner, Server, Prozessoren usw. in einem Prozesssteuerungssystem Schnittstellen nutzen, die Prozessdaten in ein universelles Format umwandeln, damit Anwendungen Prozessdaten in einem standardisierten (z. B. üblichen) Format austauschen können. Einige Anwendungen können beispielsweise zur Anzeige von Prozessdaten konfiguriert werden, die durch Feldgeräte generiert werden, die nach dem Hart® Kommunikationsprotokoll arbeiten. Um diese Prozessdaten an eine Anwendung zu übertragen, die für die Anzeige von Prozessdaten konfiguriert ist, die dem Foundation FieldbusTM Kommunikationsprotokoll zugeordnet sind, wandeln Schnittstellen zwischen den Anwendungen die Prozessdaten in ein Format um, das mit beiden Kommunikationsprotokollen konform ist. Obwohl diese Schnittstellen den Austausch von Prozessdaten ermöglichen können, sind die Schnittstellen relativ komplex und müssen bei Änderungen von jeglichem konformen Kommunikationsprotokoll aktualisiert werden. Zudem wandeln möglicherweise einige Schnittstellen nicht alle Prozessdaten richtig in ein universelles Format um.
  • Die hier beschriebene(n) beispielhafte(n) Verfahren und Vorrichtung verwenden ein übliches (z. B. universelles und/oder standardisiertes) Dateiformat zur Speicherung von Prozesssteuerungsdaten. Das übliche Dateiformat umfasst eine Sammlung von Prozessdaten, die ein oder mehrere Feldgeräte innerhalb eines Prozesssteuerungssystems parametrisieren. Das beispielhafte übliche Dateiformat wird von den beispielhaften Verfahren und der beispielhaften Vorrichtung zum Erstellen von Deskriptordateien verwendet, die einer Anordnung (z. B. einer Organisation, Architektur und/oder Dateistruktur) zum Speichern von Prozessdaten entsprechen. Für jedes Feldgerät innerhalb eines Prozesssteuerungssystems kann eine Deskriptordatei erstellt werden. Alternativ kann eine Deskriptordatei für eine Gruppe von Feldgeräten innerhalb eines Prozesssteuerungsbereichs erstellt werden. Die Deskriptordateien benötigen möglicherweise eine geringe Menge an Speicher zur Speicherung von Prozessdaten, wodurch die Deskriptordateien portabel sind und lokal auf Geräten gespeichert werden können.
  • Das beispielhafte übliche Dateiformat, welches durch die hier beschriebene(n) beispielhafte(n) Verfahren und Vorrichtung verwendet wird, umfasst einen Kopfzeilenanteil und einen Datenanteil. In anderen Beispielen kann das übliche Dateiformat weitere Anteile einschließen. Die beispielhafte Kopfzeile enthält Informationen, die eine Deskriptordatei beschreiben. Diese Informationen können beispielsweise eine Schemaebene des üblichen Dateiformats, Versionsinformationen und/oder Fähigkeiten der Deskriptordatei einschließen. Die Identifizierungsinformationen in der Kopfzeile sorgen für eine Validierung, dass eine Anwendung eine geeignete Version einer Deskriptordatei liest. Mit anderen Worten kann eine Anwendung anhand der Versionsinformationen bestimmen, ob Inhalte (z. B. Prozessdaten) einer Deskriptordatei mit der Anwendung kompatibel sind. In einigen Beispielen können bzw. kann die hier beschriebene(n) Verfahren und Vorrichtung die Versionsinformationen verwenden, um eine Deskriptordatei in eine Version umzuwandeln, die von einem Client angefordert wird (z. B. von einem Benutzer einer Arbeitsstation, die einem Prozesssteuerungssystem zugeordnet ist).
  • Eine Anwendung kann auch Identifizierungsinformationen in der Kopfzeile zur Suche nach einer Deskriptordatei verwenden, die zu einer Anforderung von Prozessdaten seitens eines Clients passt. Ein Benutzer kann beispielsweise die Anzeige von Prozessdaten, die einem Pumpenfeldgerät zugeordnet sind, in einer Anwendung anfordern. Die Anwendung verwendet einen Identifikator des Feldgeräts, der in der Anforderung enthalten ist, um ihn mit den entsprechenden Identifizierungsinformationen in einer Kopfzeile einer Deskriptordatei abzugleichen. Eine EDDL-Datei kann zudem eine Deskriptordatei durch Identifizierungsinformationen, die in der Kopfzeile enthalten sind, referenzieren.
  • Das übliche Dateiformat gibt zusätzlich zu einer Kopfzeile einen Datenanteil an. Der beispielhafte Datenanteil enthält Einträge (z. B. Blöcke) von Prozessdaten, die Eigenschaften eines Feldgeräts beschreiben. Die Prozessdaten können auch Ausgaben von einem Feldgerät enthalten. Die hier beschriebene(n) beispielhafte(n) Verfahren und Vorrichtung ordnen Prozessdaten in einer Deskriptordatei an, so dass globale Objekte zuerst definiert werden. Das übliche Dateiformat strukturiert Prozessdaten beispielsweise in einer Hierarchie, in der globale Objekte relativ höher in der Hierarchie definiert werden, während individuelle Variablen relativ niedriger in der Hierarchie definiert werden. Auf diese Weise können relativ niedrigere Objekte in einer Deskriptordatei relativ höhere Objekte referenzieren, die eine globale Definition der niedrigeren Objekte liefern.
  • In einigen Beispielen können Einträge in einer Deskriptordatei relativ komplex sein, indem beispielsweise Bitmaps und/oder mehrere Datenfelder mit Links zu anderen Objekten enthalten sind. Eine Deskriptordatei enthält in einem Beispiel einen Dateirumpf, der mindestens eine physische Datei einschließt. Der Dateirumpf enthält eine oder mehrere offene Dateibeschreibungen, die eine jeweilige physische Datei beschreiben. Eine offene Dateibeschreibung wird durch einen oder mehrere Abschnitte referenziert, der bzw. die einen oder mehrere Dateieinträge enthalten. Auf diese Weise kann ein Abschnitt eine Liste von Dateieinträgen einschließen.
  • Jeder Dateieintrag kann zudem eine Variable enthalten, die einer Eigenschaft, einer Funktion, einem Parameter und/oder einer Komponente eines Feldgeräts zugeordnet ist. Eine Variable kann beispielsweise durch ein Variablentypfeld, ein Wertefeld und/oder ein Qualitätsfeld definiert werden. Das Variablentypfeld gibt den Typ einer Variablen an (z. B. Boolean (Boolescher Wert), Integer (Ganzzahl), Unsigned (vorzeichenlos), Float (Gleitkomma), Double (64 bit-Gleitkomma), Enum (Aufzählung), ASCII, BitString (Binärdaten), Time (Zeit), Datetime (Datum und Uhrzeit), usw.). Ein Wertefeld speichert Prozessdaten, die durch die Variable beschrieben werden. Das Wertefeld kann Prozessdaten enthalten, die durch ein Feldgerät generiert worden sind, oder alternativ Prozessdaten, die eine Eigenschaft, Funktion und/oder einen Parameter eines Feldgeräts beschreiben. Das Variablenqualitätsfeld kann eine Wahrscheinlichkeit angeben, mit der in einem entsprechenden Wertefeld gespeicherte Prozessdaten innerhalb eines angegebenen Schwellenwerts liegen.
  • Ein Dateieintrag kann ferner einen Ausdruck und/oder eine Anzeigetransformation enthalten, der bzw. die eine Aktion mit Prozessdaten durchführt, die sich in einer oder mehreren Variablen befinden. Auf diese Weise können Prozessdaten in einer Deskriptordatei als relativ komplexe Formel und/oder relativ komplexes Verfahren gespeichert werden, wodurch Anwendungen Flexibilität in der Anzeige von Prozessdaten erhalten, die in Deskriptordateien gespeichert sind. Ein Ausdruck kann beispielsweise eine mathematische Berechnung unter Verwendung von in einer Variablen gespeicherten Prozessdaten einschließen. Ein Ausdruck kann in einigen Beispielen beispielsweise mit JScript implementiert werden. Eine Anzeigetransformation kann beispielsweise Anweisungen enthalten, die angeben, wie einer Variablen zugeordnete Prozessdaten angezeigt werden sollen. In einigen Beispielen kann eine Anzeigetransformation unter Verwendung von Extensible Stylesheet Language Transformation (XSLT) implementiert werden.
  • Ein Dateieintrag kann auch eine Referenz auf einen anderen Abschnitt enthalten. Auf diese Art und Weise kann eine Deskriptordatei eine verschachtelte Hierarchie von Dateieinträgen enthalten. Ein Dateieintrag kann beispielsweise als Objekt implementiert werden, das beispielsweise eine Sammlung und/oder eine Liste verschachtelter Prozessdaten enthält. In einem anderen Beispiel kann ein Dateieintrag als Objekt implementiert werden, das beispielsweise eine Wertematrix, eine Referenzmatrix und/oder eine Eintragsmatrix einschließt. In diesen anderen Beispielen kann der Dateieintrag ein Zählerfeld enthalten, das eine Nummer von verschachtelten Dateieinträgen angibt, wobei jeder verschachtelte Dateieintrag eine Referenz auf eine Variable einschließt. Mit anderen Worten können die Wertematrix, Referenzmatrix und/oder eine Eintragsmatrix zum Indexieren einer Gruppe von Variablen verwendet werden.
  • Die nach den/der hier beschriebenen beispielhaften Verfahren und Vorrichtung implementierten beispielhaften Deskriptordateien werden durch ein Schema validiert, das einen Entwurf bereitstellt, wie Prozessdaten gespeichert und abgerufen werden sollen. Ein Schema ist ein Dokumententyp, der übliche Dateiformatanforderungen in Form von Nebenbedingungen an eine Struktur und Inhalte der Deskriptordateien angibt. Ein Schema kann beispielsweise die Beziehung zwischen einer Kopfzeile, einem Datenanteil, einer offenen Dateibeschreibung, Abschnitten, Dateieinträgen und/oder Variablen, wie sie oben beschrieben sind, angeben. In einigen Beispielen kann dem üblichen Dateiformat ein Extensible Markup Language (XML)- und/oder ein XSLT-Format zugeordnet sein. In diesem Beispielen kann ein XML-Schema mit jedem Typ von XML-Schemasprache implementiert werden, einschließlich beispielsweise Document Definition Markup Language (DDML), Document Schema Definition Languages (DSDL), Document Structure Description (DSD), usw.
  • Das beispielhafte Schema kann Objekte und/oder Variablen bezogen auf eine Organisation eines entsprechenden Feldgeräts in einer Deskriptordatei anordnen. Ein Feldgerät kann beispielsweise einen Temperatursensor, einen Drucksensor und einen Stellantrieb einschließen. Eine entsprechende Deskriptordatei kann eine einzelne offene Dateibeschreibung für das Feldgerät mit einem Abschnitt für die beiden Sensoren und einem separaten Abschnitt für den Stellentrieb einschließen. Ein Dateieintrag für den Sensorabschnitt enthält ein Eintragsmatrixobjekt, das einen verschachtelten Abschnitt für den Temperatursensor und einen separaten verschachtelten Abschnitt für den Drucksensor einschließt. Jeder dieser verschachtelten Abschnitte kann verschachtelte Dateieinträge enthalten, die Variablen referenzieren, die Prozessdaten speichern, die von dem jeweiligen Sensor generiert worden und/oder Parameter für diesen sind. Der Stellantriebabschnitt kann einen oder mehrere Dateieinträge enthalten, die dem Stellentrieb zugeordnete Variablen referenzieren. Auf diese Weise spiegelt eine Anordnung der Deskriptordatei die Hardware-Anordnung des Feldgeräts wider und entspricht gleichzeitig dem beispielhaften üblichen Dateiformat, das durch das Beispielschema gezeigt wird.
  • Das Beispielverfahren und die Beispielvorrichtung, das bzw. die hier beschrieben sind, verwenden das Schema als Richtlinie zum Generieren und/oder Abrufen von Prozessdaten aus Deskriptordateien. Die Beispielverfahren und Beispielvorrichtung ermöglichen durch das Einhalten eines Schemas, dass Deskriptordateien relativ portierbarer und/oder durch Prozesssteuerungsanwendungen nutzbar sind, weil die Anwendungen nicht durch Schnittstellen und/oder spezielle Kommunikationsprotokolle unterstützt werden müssen, um eine Deskriptordatei zu nutzen. Ein übliches Dateiformat, das durch ein Schema angegeben wird, ist zudem relativ resistent gegenüber Veränderungen in der Prozesssteuerungstechnologie, weil die Prozessdatenhierarchie von einem speziellen Kommunikationsprotokoll, Feldgerät, Anwendungstyp und/oder Prozesssteuerungssystem unabhängig ist.
  • In einigen Beispielen können die hier beschriebene(n) Verfahren und Vorrichtung Deskriptordateien, die dem üblichen Dateiformat entsprechen, zusammen mit EDDL-Dateien verwenden, um Prozessdaten anzuzeigen. Die EDDL-Dateien können beispielsweise angeben, wie in einer Deskriptordatei gespeicherte Prozessdaten in einer Anwendung angezeigt werden sollen. In diesen Beispielen kann die EDDL-Datei Variablen in der Deskriptordatei referenzieren. Weil die Deskriptordatei dem beispielhaften Schema entspricht, muss die EDDL-Datei vielleicht nicht geändert werden, wenn ein Datenort der Prozessdaten geändert wird. Die Deskriptordatei kann in anderen Beispielen Gerätefunktionalität, -merkmale und/oder Anzeigefunktionen enthalten, wodurch eine entsprechende EDDL redundant wird.
  • 1 zeigt ein Blockdiagramm einer beispielhaften Prozesssteuerungsumgebung 100, die eine beispielhafte Anzeigeschnittstelle 102 enthält. Die beispielhafte Anzeigeschnittstelle 102 zeigt Prozessdaten, die in einer oder mehreren Deskriptordateien gespeichert sind. Die Anzeigeschnittstelle 102 ist einem Prozesssteuerungssystem 104 zugeordnet. Die Anzeigeschnittstelle 102 kann darüber hinaus durch einen Arbeitsplatzrechner 106 implementiert werden und/oder in diesem eingeschlossen sein. In anderen Beispielen kann die Anzeigeschnittstelle 102 in einem Server, einem Prozessor, einem verteilten Rechennetzwerk und/oder jeglichem/jeglichen anderen Rechengerät(en) enthalten sein, die jeweils kommunikativ an den Arbeitsplatzrechner 106 gekoppelt sind.
  • Das illustrierte Beispiel schließt auch einen Server 107 ein, der einen Dateigenerator 108 hostet. Der Dateigenerator 108 erstellt Deskriptordateien in einem universellen (z. B. üblichen) Dateiformat, das einem Schema entspricht. Obwohl der Dateigenerator 108 in dem Server 107 gezeigt ist, kann der Dateigenerator 108 in anderen Beispielen in den Arbeitsplatzrechner 106 eingeschlossen sein und parallel zu der Anzeigeschnittstelle 102 arbeiten.
  • Der beispielhafte Arbeitsplatzrechner 106 und/oder der beispielhafte Server 107 von 1 kann bzw. können jegliches Rechengerät einschließen, wie einen PC, ein Laptop, einen Server, eine Steuerung, einen PDA, einen Mikrocomputer, usw. Der beispielhafte Arbeitsplatzrechner 106 kann auch jegliches mobile Rechengerät einschließen, wie beispielsweise ein Handy, ein Smartphone, ein PDA, ein Netpad, eine Feldkommunikation usw. Der Arbeitsplatzrechner 106 und/oder der Server 107 kann bzw. können mit jedem geeigneten Computersystem oder Verarbeitungssystem implementiert werden (z. B. dem Prozessorsystem P10 aus 10). Der Arbeitsplatzrechner 106 kann beispielsweise unter Verwendung eines PCs mit einem Einzelprozessor, Arbeitsplatzrechnern mit Einzel- oder mehreren Prozessoren usw. implementiert werden.
  • Das beispielhafte Prozesssteuerungssystem 104 kann jede Art von Fertigungsanlage, Prozessanlage, Automationsanlage, sicherheitsinstrumentierte Anlage und/oder jeden anderen Typ von Prozesssteuerungsstruktur oder -system einschließen. In einigen Beispielen kann das Prozesssteuerungssystem 104 mehrere Anlagen einschließen, die sich an unterschiedlichen Standorten befinden. Die beispielhafte Prozesssteuerungsumgebung 100 kann zudem andere Prozesssteuerungssysteme (nicht gezeigt) einschließen, die sich in der gleichen Anlage und/oder in einer anderen Anlage befinden können.
  • Das beispielhafte Prozesssteuerungssystem 104 enthält eine Steuerung 109, die kommunikativ über ein lokales Netzwerk (LAN) 110 mit dem Arbeitsplatzrechner 106 und/oder dem Server 107 verbunden sein kann. Das LAN 110 kann mit jeglichem Kommunikationsmedium und/oder -protokoll implementiert werden. Das LAN 110 kann beispielsweise auf einem verdrahteten oder drahtlosen Ethernet-Kommunikationsschema basieren. Es kann jedoch jedes andere geeignete Kommunikationsmedium und Protokoll verwendet werden. Obwohl das LAN 110 gezeigt ist, können zudem mehr als ein LAN und/oder drahtloses Netzwerk und geeignete Kommunikation-Hardware verwendet werden, um für redundante Kommunikationswege zu sorgen.
  • Die Prozesssteuerungsumgebung 100 kann eine (nicht dargestellte) Firewall einschließen, über die entfernte Arbeitsplatzrechner (z. B. Arbeitsplatzrechner außerhalb der Prozesssteuerungsumgebung 100) auf die Prozessdaten zugreifen können, die durch die Prozesssteuerungsumgebung 100 generiert werden. Die Prozesssteuerungsumgebung 100 kann auch einen oder mehrere (nicht dargestellte) Router einschließen, um (nicht gezeigte) Arbeitsplatzrechner kommunikativ mit dem LAN 110 zu verbinden. Die Router können mehrere Prozesssteuerungssysteme auch kommunikativ verbinden.
  • Das Prozesssteuerungssystem 104 schließt auch Feldgeräte 112 (z. B. Eingabe- und/oder Ausgabegeräte) ein. Die Feldgeräte 112 können jeden Typ/jegliche Typen von Prozesssteuerungskomponente(n) einschließen, der bzw. die Eingaben empfangen, Ausgaben generieren und/oder einen Prozess steuern kann bzw. können. Die Feldgeräte 112 können Steuerungsgeräte einschließen, beispielsweise Ventile, Pumpen, Ventilatoren, Heizer, Kühler und/oder Mischer, um einen Prozess zu steuern. Die Feldgeräte 112 können zudem Mess- oder Überwachungsgeräte einschließen, wie beispielsweise Temperatursensoren, Druckmessgeräte, Konzentrationsmessgeräte, Flüssigkeitspegelmessgeräte, Durchflussmessgeräte und/oder Dampfsensoren, um Teile eines Prozesses zu messen. Die Feldgeräte 112 erhalten Anweisungen von der Steuerung 109 über Eingaben 114, um einen angegebenen Befehl auszuführen und eine Änderung an dem Prozess zu bewirken, der durch die Feldgeräte 112 implementiert und/oder gesteuert wird. Die Feldgeräte 112 messen ferner Prozessdaten, Umweltdaten und/oder Eingabegerätedaten und übertragen die gemessenen Daten über Ausgaben 116 als Prozessdaten an die Steuerung 109. Diese Prozessdaten können die Werte von Variablen einschließen, die gemessenen Ausgaben von den Feldgeräten 112 entsprechen.
  • Die Feldgeräte 112 können EDDL-Dateien zugeordnet sein, auf die die Steuerung 109, der Server 107 und/oder die Arbeitsplatzrechner 106 zugreifen können. Die EDDL-Dateien beschreiben Charakteristika, Funktionen, Parameter und/oder Merkmale der Feldgeräte 112. Der Arbeitsplatzrechner 106 kann auf die EDDL-Dateien zugreifen, um zu bestimmen, wie in Deskriptordateien gespeicherte Prozessdaten angezeigt werden sollen.
  • Das Prozesssteuerungssystem 104 schließt auch ein E/A-Gerät (z. B. eine oder mehrere E/A-Karten) ein, um Daten von den Feldgeräten 112 zu empfangen und die Daten in Kommunikationen umzuwandeln, die von der beispielhaften Steuerung 109 verarbeitet werden. In ähnlicher Weise kann das E/A-Gerät 122 Daten oder Kommunikationen von der Steuerung 109 in ein Datenformat umwandeln, das von den entsprechenden Feldgeräten 112 verarbeitet werden kann.
  • Die beispielhafte Steuerung 109 von 1 betreibt eine oder mehrere Steuerungsroutinen (z. B. Prozesssteuerungsalgorithmen, -funktionen und/oder -anweisungen), um die Feldgeräte 112 innerhalb des Prozesssteuerungssystems 104 zu verwalten. Die Steuerungsroutinen können Prozessüberwachungsanwendungen, Alarmverwaltungsanwendungen, Trend- und/oder Historienanwendungen für Prozesse, diagnostische Anwendungen, Chargenverarbeitung und/oder Einsatzverwaltungsanwendungen, statistische Anwendungen, Streaming-Video-Anwendungen, weiterentwickelte Steuerungsanwendungen, sicherheitsinstrumentierte Anwendungen usw. einschließen. Die beispielhafte Steuerung 109 überträgt Prozessdaten (z. B. Prozesssteuerungsinformationen) an den Arbeitsplatzrechner 106. Die durch die Steuerung 109 übertragenen Prozessdaten können beispielsweise Prozesssteuerungswerte, Datenwerte, Alarminformationen, Text, Statusinformationen, diagnostische Informationen, Fehlermeldungen, Parameter, Ereignisse und/oder Geräteidentifikatoren einschließen.
  • In einigen Beispielen kann die Steuerung 109 auch Prozessdaten von den Feldgeräten 112 an eine Datenbank 124 übertragen. Die Datenbank 124 kann durch elektronisch löschbaren programmierbaren Festwertspeicher (EEPROM), Direktzugriffspeicher (RAM), Festwertspeicher (ROM) und/oder jeglichen anderen Speichertyp implementiert werden. Die beispielhafte Datenbank 124 kann im Wesentlichen alle Prozessdaten speichern, die durch die Steuerung 109 generiert wurden. Die Prozessdaten können bezogen auf ein zugeordnetes Feldgerät gespeichert und/oder organisiert werden. Ausgabewerte (z. B. Prozesssteuerungsinformationen), die einem Pumpendrehzahlparameter PS101 einer Pumpe mit einem Identifikator von PUMP01 zugeordnet sind, können beispielsweise in der Datenbank 124 gespeichert und durch den Identifikator PUMP01 und die Parameter PS101 indexiert werden.
  • Mindestens ein Teil der in der Datenbank 124 gespeicherten Prozessdaten kann auch in Deskriptordateien gespeichert werden. Die Deskriptordateien werden in einer Deskriptordatei-Datenbank 126 gespeichert, die kommunikativ mit dem LAN 110 verbunden ist. Die Deskriptordatei-Datenbank 126 kann durch elektronisch löschbaren programmierbaren Festwertspeicher (EEPROM), Direktzugriffspeicher (RAM), Festwertspeicher (ROM) und/oder jeglichen anderen Speichertyp implementiert werden. Die Deskriptordatei-Datenbank 126 kann ferner durch ein dauerhaftes Speichersystem implementiert werden. Während die beispielhafte Deskriptordatei-Datenbank 126 als separate Datenbank innerhalb des Prozesssteuerungssystems 104 gezeigt ist, kann die Deskriptordatei-Datenbank 126 in anderen Beispielen lokal in jedem Arbeitsplatzrechner (z. B. dem Arbeitsplatzrechner 106) implementiert werden, der der Prozesssteuerungsumgebung 100 zugeordnet ist. Zusätzlich oder alternativ kann die Deskriptordatei-Datenbank 126 in den Server 107 und/oder die Steuerung 109 eingeschlossen sein.
  • Die beispielhafte Deskriptordatei-Datenbank 126 speichert Deskriptordateien, die zum Speichern von Prozessdaten in einem üblichen Dateiformat konfiguriert sind. Die Deskriptordatei-Datenbank 126 kann eine Deskriptordatei für jedes der Feldgeräte 112 oder alternativ für eine Gruppe der Feldgeräte 112 enthalten. Die beispielhaften Deskriptordateien werden durch den beispielhaften Dateigenerator 108 generiert. Prozessdaten können über die Steuerung 109 in den Deskriptordateien gespeichert werden. Von einem der Feldgeräte 112 generierte Prozessdaten können beispielsweise durch die Steuerung 109 in einer entsprechenden Deskriptordatei gespeichert werden. Prozessdaten können auch über den Server 107 in den Deskriptordateien gespeichert werden. Parametrisierungsinformationen, die einem der Feldgeräte zugeordnet sind, können beispielsweise durch den Server 107 und/oder den Arbeitsplatzrechner 106 in der jeweiligen Deskriptordatei gespeichert werden, wenn ein entsprechendes Feldgerät in dem Prozesssteuerungssystem 104 installiert und/oder aktiviert wird. Auf diese Weise kann eine Deskriptordatei Echtzeit-Prozessdaten speichern, die ein Ereignis, einen Status und/oder Messwert speichern, und kann dem Feldgerät zugeordnete Konfigurationsinformationen speichern. Eine Deskriptordatei kann zudem Informationen speichern, die Merkmale, Funktionen, Komponenten und/oder Anzeigeinformationen definieren, die einem entsprechenden Feldgerät zugeordnet sind.
  • Der beispielhafte Arbeitsplatzrechner 106 kann auf die beispielhafte Deskriptordatei-Datenbank 126 zugreifen, um gespeicherte Prozessdaten abzurufen, zu verwalten und/oder anzuzeigen. Andere Arbeitsplatzrechner und/oder Handgeräte (nicht gezeigt) können auch auf die Datenbank 126 der Prozessdaten zugreifen. Auf diese Weise kann jedes Rechengerät mit Zugriff auf die Prozesssteuerungsumgebung 100 auf die Datenbank 126 zugreifen, um Prozessdaten zu verwalten, abzurufen und/oder anzuzeigen. In Fällen, in denen die Deskriptordatei-Datenbank 126 keine Deskriptordatei mit den angeforderten Prozessdaten enthält, kann der Arbeitsplatzrechner 106 auf die Datenbank 124 zugreifen, um die Prozessdaten zu erhalten.
  • Der beispielhafte Arbeitsplatzrechner 106 und/oder andere Arbeitsplatzrechner mit Zugriff auf das Prozesssteuerungssystem 104 kann bzw. können konfiguriert sein, um einen oder mehrere Prozesse innerhalb des Prozesssteuerungssystems 104 über eine oder mehrere Anwendungen anzuzeigen, zu ändern und/oder zu korrigieren. In dem dargestellten Beispiel wird eine Anwendung 130 über eine Benutzerschnittstelle 132 angezeigt. Anwendungen können eine Unternehmensansicht-Anwendung, eine Grafikstudio-Anwendung, eine Explorer-Anwendung und/oder jeden anderen Typ von Anwendung auf Prozesssteuerungsbasis einschließen. Diese Anwendungen 130 zeigen Prozessdaten in dem Arbeitsplatzrechner 106 über die Benutzerschnittstelle 132 an. Die Benutzerschnittstelle 132 kann ein Grafikfenster enthalten (z. B. eine Anwendungsprogrammierschnittstelle (API)), die in dem Arbeitsplatzrechner 106 angezeigt werden kann, um Prozesssteuerungsinformationen zu zeigen, die als grafische Darstellung(en) angezeigt werden (z. B. Funktionsblockdiagramme und/oder Schemata). Der Arbeitsplatzrechner 106 kann möglicherweise mehr als eine Benutzerschnittstelle 132 anzeigen, die kommunikativ mit der Anzeigeschnittstelle 102 verbunden sein kann.
  • In dem dargestellten Beispiel kann die Anwendung 130 das übliche Dateiformat der Deskriptordateien in der Deskriptordatei-Datenbank 126 verwenden, um Prozessdaten abzurufen, zu verwalten und/oder anzuzeigen. Weil die Prozessdaten in einem Dateiformat gespeichert werden, das auf Grundlage eines Schemas standardisiert ist, kann die Anwendung 130 ohne eine dateiformatspezifische Schnittstelle auf die Deskriptordatei zugreifen. Auf diese Weise kann jede Anwendung, die auf dem Arbeitsplatzrechner 106 läuft, auf Prozessdaten zugreifen, die in Deskriptordateien gespeichert sind, ohne die Prozessdaten in einen mit der Anwendung konformen Standard umwandeln, übersetzen und/oder anderweitig formatieren zu müssen. Die Anwendung 130 kann ferner unabhängig von einem Kommunikationsprotokoll, das zum Kommunizieren zwischen dem E/A-Gerät 122 und den Feldgeräten 112 verwendet wird, einem Typ der Feldgeräte 112, einem Protokoll der Feldgeräte 112 und/oder jeglichem den Prozessdaten zugeordneten proprietären Format auf Prozessdaten zugreifen, die in Deskriptordateien gespeichert sind, wenn die Prozessdaten durch die Feldgeräte 112 generiert werden.
  • In dem Beispiel von 1 erstellt der Dateigenerator 108 Deskriptordateien auf Grundlage eines Typs von zu speichernden Prozessdaten, einer Beziehung zwischen zu speichernden Prozessdaten und/oder einer Anordnung von Prozessdaten, die von einem der entsprechenden Feldgeräte 112 generiert wird. Der Dateigenerator 108 verwendet auch das beispielhafte Schema zum Organisieren und/oder Anordnen von Prozessdaten in einer Deskriptordatei. In einigen Beispielen kann der Dateigenerator 108 Eingaben von Prozesssteuerungspersonal erhalten, die angeben, wie Prozessdaten zu organisieren sind. Der Dateigenerator 108 kann zudem eine neu erstellte Deskriptordatei mit dem beispielhaften Schema validieren. Der Dateigenerator 108 speichert die Deskriptordateien bei deren Erstellung in der Deskriptordatei-Datenbank 126. Der Dateigenerator 108 wird detaillierter im Zusammenhang mit 2 beschrieben.
  • Die beispielhafte Anzeigeschnittstelle 102 von 1 ermöglicht einem Benutzer des Arbeitsplatzrechners 106 das Verwalten von Prozessdaten, die in Deskriptordateien gespeichert sind. Die beispielhafte Anzeigeschnittstelle 102 kann eine Anforderung von einem Benutzer erhalten, um Prozessdaten anzuzeigen, auf diese zuzugreifen und/oder diese zu aktualisieren. Ein Benutzer kann eines der Feldgeräte 112 angeben, um die Anzeigeschnittstelle 102 dazu zu bringen, eine dem Feldgerät 112 zugeordnete Deskriptordatei zu lokalisieren. Alternativ kann ein Benutzer einen Parameter und/oder eine Variable angeben, die die Anzeigeschnittstelle 102 dazu bringt, Deskriptordateien mit passenden Parametern und/oder Variablen zu lokalisieren. Ein Benutzer kann in anderen Beispielen die Anzeigeschnittstelle 102 verwenden, um das Verzeichnis von Deskriptordateien in der Deskriptordatei-Datenbank 126 zu durchsuchen. Ein Benutzer kann dann Prozessdaten anzeigen, indem eine gewünschte Deskriptordatei ausgewählt wird.
  • Die beispielhafte Anzeigeschnittstelle 102 verwendet das beispielhafte Schema zum Lokalisieren von angeforderten Prozessdaten in einer Deskriptordatei. Weil das Schema angibt, wie Prozessdaten gespeichert werden sollen, kann die beispielhafte Anzeigeschnittstelle 102 das Schema anwenden, um eine Deskriptordatei zu suchen. Zusätzlich zu dem Abrufen von Prozessdaten kann die beispielhafte Anzeigeschnittstelle 102 es einem Benutzer des Arbeitsplatzrechners 106 ermöglichen, in eine Deskriptordatei zu schreiben und/oder Prozessdaten zu ändern, die in einer Deskriptordatei gespeichert sind.
  • Die beispielhafte Anzeigeschnittstelle 102 kann auch Anzeigetransformationen innerhalb einer Deskriptordatei und/oder einer entsprechenden EDDL-Datei verwenden, um zu bestimmen, welche der abgerufenen Prozessdaten in der Anwendung 130 angezeigt werden sollen. Die beispielhafte Anzeigeschnittstelle 102 kann die Prozessdaten in den Datenfeldern einer durch eine EDDL-Datei angegebenen Vorlage und/oder einer Anzeigetransformation rendern, um sie anzuzeigen. Die Anzeigeschnittstelle 102 kann auch eine Anzeigedatei generieren, die Anweisungen enthält, die die Anwendung 130 zur Generierung von grafischen Darstellungen der Prozessdaten in einer Vorlage verwendet. Auf diese Weise ermöglicht die Anzeigeschnittstelle 102 einem Benutzer das relativ schnelle Abrufen und Anzeigen von Prozessdaten, die in einer oder mehreren Deskriptordateien gespeichert sind.
  • 2 zeigt funktionale Blockdiagramme der beispielhaften Anzeigeschnittstelle 102 und des Dateigenerators 108 von 1. Obwohl die Deskriptordatei-Datenbank 126 extern zu der Anzeigeschnittstelle 102 und dem Dateigenerator 108 gezeigt ist, kann die Deskriptordatei-Datenbank 126 in einigen Fällen in die Anzeigeschnittstelle 102 und/oder den Dateigenerator 108 eingeschlossen sein. In anderen Beispielen können die Anzeigeschnittstelle 102 und/oder der Dateigenerator 108 lokale Kopien der Deskriptordatei-Datenbank 126 enthalten.
  • Der beispielhafte Dateigenerator 108 erstellt Deskriptordateien und speichert Prozessdaten in den Deskriptordateien. Der beispielhafte Dateigenerator 108 kann mehrere Deskriptordateien gleichzeitig oder alternativ Prozessdeskriptordateien in Reihe generieren. Der beispielhafte Dateigenerator 108 enthält einen Editor 202, um Deskriptordateien zu erstellen, zu ändern, anzuzeigen und/oder zu bearbeiten. Der beispielhafte Editor 202 kann als Schnittstelle wirken, um einem Feldgeräteentwickler und/oder Prozesssteuerungspersonal das Erstellen und/oder Ändern von Deskriptordateien zu ermöglichen. In Beispielen, in denen die Deskriptordateien im an Extensible Stylesheet Language Transformation(XSLT)-Format und/oder einem Extensible Markup Language(XML)-Format vorliegen, kann der Editor 202 unter Verwendung von XMLSpy® von Altova® implementiert werden. In diesen anderen Beispielen kann der Editor 202 die Deskriptordateien aus einem XML- und/oder XSLT-Format in eine Hyper Text Markup Language(HTML)-Datei umwandeln. Die Anzeigeschnittstelle 102 kann dann in Beispielen, in denen der Arbeitsplatzrechner 106 über das Internet kommunikativ mit der Deskriptordatei-Datenbank 126 verbunden ist, auf HTML-formatierte Deskriptordateien zugreifen.
  • Der beispielhafte Editor 202 kann zur Erstellung von Deskriptordateien Informationen erhalten, die die Funktionalität der Feldgeräte 112 beschreiben. In anderen Beispielen kann ein Benutzer den Editor 202 verwenden, um auf Grundlage von den Feldgeräten 112 zugeordneten Spezifikationen eine Deskriptordatei zu erstellen. Der Editor 202 kann beispielsweise eine Textbearbeitungsanwendung aufrufen, die ein Gerätedesigner verwenden kann, um eine Deskriptordatei zu erstellen. Der Editor 202 kann in anderen Beispielen eine Routine und/oder ein Algorithmus sein, der auf Grundlage der Eingaben 114, der Ausgaben 116, in der Datenbank 124 gespeicherter Prozessdaten und/oder jeglichen anderen den Feldgeräten 112 zugeordneten Informationen Deskriptordateien erstellt. Der Editor 202 kann beispielsweise Ausgabetypen von einem Feldgerät identifizieren und eine Deskriptordatei erstellen, um auf Grundlage des Ausgabetyps ausgegebene Prozessdaten zu speichern. Der Editor 202 kann in einigen Beispielen verwendet werden, um eine Deskriptordatei zu erstellen, die auf Grundlage von Merkmalen und/oder Funktionalität von einem der Feldgeräte 112 Prozessdaten speichert. Der Editor 202 kann in anderen Beispielen eine Deskriptordatei erstellen, die Prozessdaten in hierarchischer Weise auf Grundlage von Merkmalen und/oder Funktionalität der Feldgeräte 112 kollektiv speichert.
  • Der beispielhafte Editor 202 des illustrierten Beispiels erstellt mithilfe eines Schemas 204 Deskriptordateien. Das beispielhafte Schema 204 kann beispielsweise eine XML-Datei sein, die eine Struktur liefert, welche beschreibt, wie Prozessdaten in Deskriptordateien zu organisieren sind. Das beispielhafte Schema 204 kann in einem Cache (z. B. Speicher) des Dateigenerators 108 oder alternativ in einem Speicher des Servers 107 aus 1 gespeichert sein, wobei der Editor 202 über Fernzugriff darauf zugreift. Das Schema 204 wird im Zusammenhang mit den 3 und 4 näher erläutert.
  • Um eine Deskriptordatei für ein Feldgerät zu erstellen, verwendet der beispielhafte Editor 202 Informationen und/oder Prozessdaten, die dem Feldgerät zugeordnet sind, um eine Dateistruktur zu bestimmen, die dem Schema 204 entspricht. Der beispielhafte Editor 202 bestimmt die Dateistruktur, indem er eine Beziehung zwischen den Prozessdaten bestimmt, die in der Deskriptordatei zu speichern sind. Um die Beziehung der Prozessdaten zu bestimmen, kann der beispielhafte Editor 202 eine Hierarchie der Prozessdaten bestimmen, indem auf eine dem Feldgerät zugeordnete EDDL-Datei zugegriffen wird. Die EDDL-Datei kann in dem Feldgerät, dem Server 107 und/oder in einer Datenbank in dem Prozesssteuerungssystem 104 gespeichert werden. Die EDDL-Datei kann angeben, welche Merkmale, Funktionen und/oder Typen von Prozessdaten verwandt sind und/oder miteinander gruppiert werden sollen. Der beispielhafte Editor 202 verwendet die Beziehungsinformationen in der EDDL-Datei zur Erstellung einer Dateihierarchie unter Verwendung von offenen Dateibeschreibungen, Abschnitten, Dateieinträgen und/oder Objekten.
  • Der beispielhafte Editor 202 kann auch eine Beziehung der Prozessdaten auf der Grundlage erstellen, welche Anteile der Prozessdaten einer Komponente eines Feldgeräts zugeordnet sind. Auf diese Weise gruppiert der beispielhafte Editor 202 Anteile von Prozessdaten innerhalb eines gleichen Abschnitts miteinander, die derselben Komponente zugeordnet sind. Der beispielhafte Editor 202 kann auch eine Hierarchie des Feldgeräts verwenden, um zu bestimmen, wie die Prozessdaten strukturiert werden. Der Editor 202 kann beispielsweise Objekte und/oder Abschnitte einer Deskriptordatei verschachteln, um verschachtelte Komponenten in einem Feldgerät widerzuspiegeln.
  • Der beispielhafte Editor 202 kann ferner eine Beziehung der Prozessdaten bestimmen, indem ein Typ der Prozessdaten identifiziert wird. Der beispielhafte Editor 202 kann einen Typ identifizieren, indem bestimmt wird, ob die Prozessdaten einem numerischen Wert, einer Matrix von Werten, einer Zeichenkette von Text, einem Booleschen Wert, einem Logikwert und/oder jeglichem anderen Datentyp entsprechen. Der beispielhafte Editor 202 kann auch einen Objekttyp für eine Deskriptordatei auf Grundlage eines Prozessdatentyps auswählen. Der Editor 202 kann beispielsweise eine Wertematrix für Prozessdaten auswählen, die einer Matrix von Zahlenwerten zugeordnet sind. Der beispielhafte Editor 202 kann auf Grundlage eines Prozessdatentyps ein geeignetes Objekt aus jeglicher Zahl von Objekten auswählen, einschließlich beispielsweise einer Wertematrix, einer Liste, einer Sammlung, einer Referenzmatrix, einer Eintragsmatrix, einer Variablen, einem Ausdruck und/oder einer Anzeigetransformation. Der beispielhafte Editor 202 kann ferner aus jeglicher Zahl von Variablentypen auf Grundlage eines Prozessdatentyps auswählen. Die Variablenwerttypen schließen beispielsweise Boolean (Boolescher Wert), Integer (Ganzzahl), Unsigned (vorzeichenlos), Float (Gleitkomma), Double (64 bit-Gleitkomma), Enum (Aufzählung), ASCII, BitString (Binärdaten), Time (Zeit) und/oder Datetime (Datum und Uhrzeit) ein.
  • Nachdem eine Beziehung unter den in einer Deskriptordatei zu speichernden Prozessdaten bestimmt worden ist, erstellt der beispielhafte Editor 202 einen Dateirumpf (z. B. einen Datenabschnitt) und eine Kopfzeile für die Deskriptordatei. Der Editor 202 erstellt die Kopfzeile auf Grundlage von Identifizierungsinformationen, die in den Prozessdaten enthalten sind. Der Editor 202 kann auch Felder in der Kopfzeile erstellen, um eine Version der Deskriptordatei anzugeben. Die Kopfzeile kann beispielsweise einen Herstellernamen eines Feldgeräts, einen Feldgerätetyp, eine Major-Version der Deskriptordatei, eine Minor-Version der Deskriptordatei, eine Maintenance-Version eines Feldgeräts, eine Build-Version eines Feldgeräts und/oder eine Modellnummer eines Feldgeräts einschließen. Eine Major-Version der Deskriptordatei kann von der Anzeigeschnittstelle 102 und/oder der Anwendung 130 verwendet werden, um kompatible Dateieinträge in der Deskriptordatei zu bestimmen. Eine Minor-Version einer Deskriptordatei liefert kleine inkrementelle Versionen für jede Major-Version. Auf diese Weise können relativ ältere Anwendungen Deskriptordateien lesen und die Major/Minor-Versionsinformationen aus der Kopfzeile nutzen, um kompatible Feldeinträge zu bestimmen. Die Kopfzeile ermöglicht mit anderen Worten Deskriptordateien die Abwärtskompatibilität, damit relativ ältere Anwendungen nur auf Prozessdaten zugreifen können, die mit den älteren Anwendungen kompatibel sind. Wenn eine Major-Version einer Deskriptordatei mit einer Anwendung inkompatibel ist, ist es der Anwendung in einigen Beispielen nicht möglich, auf die Prozessdaten zuzugreifen, wodurch die Anwendung daran gehindert wird, die Deskriptordatei zu beschädigen und/oder Prozessdaten inkorrekt anzuzeigen.
  • Der beispielhafte Editor 202 erstellt einen Dateikörper, indem auf Grundlage der Beziehungsinformationen eine Anzahl von physischen Dateien bestimmt wird, die der Deskriptordatei zuzuordnen sind. Die Anzahl der physischen Dateien kann einer Anzahl der Komponenten eines Feldgeräts entsprechen. Die Anzahl der physischen Dateien kann in anderen Beispielen unterschiedlichen Merkmalen und/oder Funktionen entsprechen, die einem Feldgerät zugeordnet sind. Eine erste physische Datei kann beispielsweise für einen Drucksensor erstellt werden, und eine zweite physische Datei kann für einen Temperatursensor erstellt werden, die in einem Ventilsteuerungsfeldgerät enthalten sind. Jede der physischen Dateien ist in dem Dateirumpf der Deskriptordatei referenziert und/oder enthalten.
  • Der beispielhafte Editor 202 referenziert die physische Datei für jede physische Datei mit einer offenen Dateibeschreibung im Dateirumpf der Deskriptordatei. Die offene Dateibeschreibung schließt Identifizierungsinformationen ein, die die physische Datei identifizieren. Die offene Dateibeschreibung enthält auch Referenzen auf Abschnitte. Der beispielhafte Editor 202 erstellt Abschnitte in offenen Dateibeschreibungen auf Grundlage der Beziehung zwischen den Prozessdaten. Der Editor 202 kann beispielsweise einen Abschnitt für Alarm- und Ereignisprozessdaten für eine Sensorkomponente und einen Abschnitt für Ausgabewerte von Prozessdaten für die Sensorkomponente erstellen. Der beispielhafte Editor 202 kann Referenzen auf die erstellten Abschnitte in den entsprechenden offenen Dateibeschreibungen enthalten.
  • Der Editor 202 bestimmt für jeden Abschnitt einen Objekttyp für einen Dateieintrag. Die Dateieinträge sind Referenzen auf Objekte innerhalb eines Abschnitts. Der Editor 202 kann ein Objekt auf Grundlage eines Typs und/oder einer Beziehung der Prozessdaten auswählen. Eine Sammlung oder Liste der Prozessdaten kann somit in der Deskriptordatei als Listen- oder Sammlungsobjekt gespeichert werden, das in einem Dateieintrag referenziert wird. In Beispielen, in denen die Prozessdaten eine Gruppe und/oder einen Satz von Variablen, Parametern und/oder Werten einschließen können, kann der Editor 202 bestimmen, dass ein Dateieintrag einem Matrixobjekt zuzuordnen ist. Die Matrix kann basierend auf einem Typ der Gruppe und/oder des Satzes eine Wertematrix, eine Referenzmatrix und/oder eine Eintragsmatrix sein. Jede diese Matrizes kann einen verschachtelten Abschnitt mit Dateieinträgen aus Werten, Parametern und/oder Variablen einschließen. Der Editor 202 kann auf diese Weise verschachtelte Abschnitte und/oder Objekte in einer Deskriptordatei erstellen.
  • Der Editor 202 kann zudem einen Ausdrucksobjekt-Dateieintrag in einem Abschnitt für Prozessdaten erstellen, der vor der Anzeige und/oder dem Zugriff in einen mathematischen Ausdruck eingeschlossen werden soll. Der Editor 202 kann beispielsweise angeben, dass ein Objekt ein Ausdruck sein soll, der einen Wert einer Variablen von einem numerischen Pegel eines Tanks in einen Prozentsatz der Tankkapazität umwandelt. Der Editor 202 kann auch ein Anzeigetransformationsobjekt in Beispielen erstellen, in denen die Deskriptordatei Anweisungen enthalten soll, die beschreiben, wie gespeicherte Prozessdaten anzuzeigen sind. Um ein Anzeigetransformationsobjekt zu erstellen, kann der beispielhafte Editor 202 in einem Dateieintrag eine Referenz auf einen Satz von Anweisungen erstellen.
  • Um einen Abschnitt zu identifizieren, kann der beispielhafte Editor 202 dem Abschnitt einen Abschnittsnamen und/oder einen Abschnittsindex zuweisen. Der Abschnittsname kann den Abschnitt beschreiben. In einer offenen Dateibeschreibung und/oder durch Dateieinträge kann der Abschnittsindex referenziert werden. Der beispielhafte Editor 202 kann zur Identifizierung eines Dateieintrags einen Eintragsnamen, einen Eintragstyp und/oder einen Zähler für den Dateieintrag zuweisen. Der Eintragsname kann von einem Abschnitt referenziert werden und den Dateieintrag beschreiben. Der Eintragstyp entspricht einem Objekttyp, der dem Eintrag zugeordnet ist. Der Zähler kann die Zahl der Elemente in einem Matrixobjekt angeben. Wenn der Dateieintrag einem Variablenobjekt entspricht, kann der Editor 202 der Variablen einen Variablentyp, einen Wert und/oder eine Qualität zuweisen. Der Variablentyp gibt einen Prozessdatentyp an. Der Wertetyp in einem Variablenobjekt speichert Prozessdaten.
  • Der beispielhafte Editor 202 ordnet Abschnitte, Dateieinträge und/oder entsprechende Objekte auf Grundlage der Beziehung der Prozessdaten und/oder organisiert diese. Der beispielhafte Editor 202 verwendet das beispielhafte Schema 204, um sicherzustellen, dass die Organisation und/oder Anordnung der Deskriptordatei den Regeln und/oder Richtlinien des Schemas 204 entspricht. Der Editor 202 kann in einigen Beispielen die Abschnitte, Dateieinträge, offenen Dateibeschreibungen anders anordnen, wenn die Beziehung der Prozessdaten im Konflikt zu dem beispielhaften Schema 204 steht.
  • Bei Erstellung einer Deskriptordatei überträgt der beispielhafte Editor 202 die Deskriptordatei an einen Compiler 206. Der beispielhafte Compiler 206 aus 2 verarbeitet, kompiliert, prüft und/oder übersetzt die Deskriptordatei zur Speicherung in der Deskriptordatei-Datenbank 126 und/oder zur Verwendung durch die beispielhafte Anzeigeschnittstelle 102. Der beispielhafte Compiler 206 enthält einen Scanner 208, der eine beliebige Zahl und/oder beliebige Typ(en) von Algorithmen, Logik und/oder Verfahren verwendet, um Deskriptordateien zu scannen und/oder zu parsen, um Syntaxfehler, Protokollfehler und/oder Lexeme zu identifizieren. Der Scanner 208 übergibt die Lexeme einem Tokenisierer 210, um die Deskriptordatei in ein komprimiertes Binärformat umzuwandeln. Jegliche von dem Scanner 208 gefundenen Fehler können einem Feldgerätedesigner über den Editor 202 mitgeteilt werden. Der beispielhafte Scanner 208 kann die Deskriptordatei mithilfe des beispielhaften Schemas 204 auch validieren. Der beispielhafte Editor 202 stellt auf Grundlage des von dem Scanner 208 erkannten Fehlers einem Feldgerätedesigner auch Werkzeuge zum Testen und/oder Debuggen der erkannten Fehler zur Verfügung. Der Editor 202 ermöglicht dem Feldgerätedesigner und/oder anderem Prozesssteuerungspersonal das Bearbeiten von Deskriptordateien, um jegliche erkannten Fehler zu korrigieren. Auf diese Weise ermöglicht der beispielhafte Scanner 208 einem Feldgerätedesigner das Testen und/oder Simulieren einer Benutzerinteraktion mit Deskriptordateien, was die Qualität der Deskriptordateien verbessern kann.
  • Der beispielhafte Tokenisierer 210 aus 2 verarbeitet mit beliebig vielen und beliebigen Typen von Algorithmen, Logik und/oder Verfahren die durch den Scanner 208 identifizierten Lexeme, um spezielle Tokens zu identifizieren (z. B. klassifizierbare Zeichenketten von Eingabezeichen). Der Scanner 208 kann beispielsweise ein Lexem, das beispielsweise für einen Satz steht, aus einer Zeichenkette von Buchstaben identifizieren, wobei der beispielhafte Tokenisierer 210 diesen parst und/oder in ein oder mehrere komprimierte Binärworte trennt. Jedes von dem Tokenisierer 210 identifizierte Token hat einen Wert (z. B. den tatsächlichen Namen einer Variablen) und einen Typ (z. B. eine Variable, eine Bedienungsperson, eine Zahl usw.), wodurch der Tokenisierer 210 eine Deskriptordatei in ein Binärformat komprimieren kann. Das komprimierte Format kann Verfälschung und/oder anschließende Verarbeitungsprobleme durch Prozesssteuerungspersonal verhindern. Weil die tokenisierte Deskriptordatei relativ klein ist, können tokenisierte Dateien für viele Feldgeräte in einem begrenzten Flash-Speicher eines Handgeräts und/oder dem Arbeitsplatzrechner 106 gespeichert werden.
  • Der beispielhafte Dateigenerator 108 aus 2 enthält auch einen Interpreter 212, um eine Deskriptordatei in eine anbieter- und/oder systemspezifische Form zu übersetzen. Der Interpreter 212 kann beispielsweise verwendet werden, um eine Deskriptordatei in einen proprietären Prozesssteuerungsstandard und/oder jeglichen Standard zu übersetzen, den ein Prozesssteuerungsmanager benötigt. Der Dateigenerator 108 kann den Interpreter 212 verwenden, um eine Deskriptordatei in ein Format umzuwandeln, das mit dem Prozesssteuerungssystem 104 und/oder Anwendungen in dem Arbeitsplatzrechner 106 kompatibel ist. Der Interpreter 212 kann beispielsweise eine Deskriptordatei in ein HTML-Format umwandeln, auf das ein Webbrowser zugreifen kann. Der Interpreter 212 kann in einigen Beispielen eine Deskriptordatei übersetzen, bevor der Tokenisierer 210 die Deskriptordatei komprimiert. Der Interpreter 212 kann in anderen Beispielen eine komprimierte binäre Deskriptordatei übersetzen. Der beispielhafte Interpreter 212 kann beliebig viele und/oder beliebige Typen von Algorithmen, Logik und/oder Verfahren verwenden, um Deskriptordateien in ein entsprechendes angegebenes Format zu übersetzen. Obwohl der beispielhafte Interpreter 212 eine Deskriptordatei übersetzen kann, entsprechen die zu Grunde liegenden Prozessdaten, die in der Deskriptordatei gespeichert sind, dem beispielhaften üblichen Dateiformat, das durch das Schema 204 angegeben wird.
  • Nach dem Scannen, Tokenisieren und/oder Übersetzen von Deskriptordateien speichert der beispielhafte Compiler 206 des illustrierten Beispiels eine Deskriptordatei in der Deskriptordatei-Datenbank 126. Der Compiler 206 kann in einigen Beispielen mehrere übersetzte Versionen derselben Deskriptordatei speichern, wodurch verschiedenen Anwendungen, die verschiedenen Formaten und/oder Betriebssystemen zugeordnet sind, auf eine kompatible Deskriptordatei zugreifen können. Der Compiler 206 kann in anderen Beispielen eine komprimierte Binärversion und eine unkomprimierte Version einer Deskriptordatei speichern, wodurch ein Benutzer eine Deskriptordatei auf Grundlage von Speicherbeschränkungen eines Geräts auswählen kann.
  • Um Prozessdaten in einer Deskriptordatei zu speichern, enthält der beispielhafte Dateigenerator 108 eine Datenbankschnittstelle 214. Die Datenbankschnittstelle 214 ist über das LAN 110 kommunikativ mit der Steuerung 109 und der Deskriptordatei-Datenbank 126 verbunden. Die beispielhafte Datenbankschnittstelle 214 ist in dem Dateigenerator 108 implementiert dargestellt. Die Datenbankschnittstelle 214 kann in anderen Beispielen in der Deskriptordatei-Datenbank 126, einem der Deskriptordatei-Datenbank 126 zugeordneten Prozessor, der Anzeigeschnittstelle 102 und/oder als separater Prozessor und/oder Server in dem Prozesssteuerungssystem 104 enthalten sein.
  • Die beispielhafte Datenbankschnittstelle 214 erhält Prozessdaten von der Steuerung 109. Die beispielhafte Datenbankschnittstelle 214 kann auch Prozessdaten aus anderen Quellen erhalten (z. B. Prozesssteuerungspersonal, Feldgerätspezifikation, usw.). Die beispielhafte Datenbankschnittstelle 214 verwendet Identifizierungsinformationen in den Prozessdaten, um eine Deskriptordatei zu identifizieren. Prozessdaten aus einem Pumpenfeldgerät mit dem Identifikator PUMP023 können beispielsweise von der Datenbankschnittstelle 214 verwendet werden, um nach einer Deskriptordatei mit einer Kopfzeile zu suchen, die den Identifikator PUMP023 enthält.
  • Die beispielhafte Datenbankschnittstelle 214 kann nach Lokalisieren einer Deskriptordatei auf das Schema 204 zugreifen, um eine Struktur der Deskriptordatei zu bestimmen. Die Datenbankschnittstelle 214 kann diese definierte Struktur verwenden, um Objekte in der Deskriptordatei zu lokalisieren, um die Prozessdaten zu speichern. Die Datenbankschnittstelle 214 kann alternativ die Deskriptordatei nach Abschnitten, offenen Dateibeschreibungen, Dateieinträgen, Objekten und/oder anderen Variablentypen scannen, die den Prozessdaten entsprechen. Die Datenbankschnittstelle 214 kann die Prozessdaten beispielsweise zum Lokalisieren einer entsprechenden offenen Dateibeschreibung in einem Dateirumpf einer Deskriptordatei zu verwenden. Die Datenbankschnittstelle 214 kann dann Abschnitte in der offenen Dateibeschreibung nach Dateieinträgen scannen, die Objekte enthalten, die zu den Prozessdaten passen. Die Datenbankschnittstelle 214 kann Prozessdaten mit einem Objekt abgleichen, indem ein Identifikator der Prozessdaten mit einem Variablentyp und/oder Variablennamen abgeglichen wird. Beispielsweise kann eine Pumpenausgabe als Prozessdaten generiert werden, indem der Wert der Ausgabe (z. B. 3,2 Gallon/Sekunde) an einen Parameter (z. B. PUMPOUT02) gebunden wird. Die beispielhafte Datenbankschnittstelle 214 durchsucht Dateieinträge nach einem Objekt mit einem entsprechenden Identifikator und/oder Namen PUMPOUT02.
  • Die beispielhafte Datenbankschnittstelle 214 speichert Prozessdaten in dem identifizierten passenden Objekt in einem Dateirumpf einer Deskriptordatei. Die beispielhafte Datenbankschnittstelle 214 speichert einen Wert der Prozessdaten in einem Wertefeld eines Variablenobjekts, das in einem Matrix-, Sammlungs- und/oder Listenobjekt verschachtelt sein kann, um die Prozessdaten zu speichern. In Beispielen, in denen das Wertefeld einen zuvor gespeicherten Wert der Prozessdaten enthält, überschreibt die Datenbankschnittstelle 214 den vorherigen Wert. Die Datenbankschnittstelle 214 kann in anderen Beispielen den neuen Prozessdatenwert in einem Matrixobjekt speichern, das den vorherigen Prozessdatenwert einschließt. Die beispielhafte Datenbankschnittstelle 214 kann danach den Zugriff auf die Deskriptordatei mit den neu gespeicherten Prozessdaten schließen und/oder beenden.
  • Das Beispiel aus 2 zeigt auch die beispielhafte Anzeigeschnittstelle 102, die auf die Deskriptordatei-Datenbank 126 zugreift, um zum Zugriff auf Prozessdaten auf Deskriptordateien zuzugreifen. Die Anzeigeschnittstelle 102 kann in einigen Beispielen periodisch auf die Deskriptordatei-Datenbank 126 zugreifen, um Deskriptordateien lokal auf einem Handgerät und/oder auf dem Arbeitsplatzrechner 106 zu speichern. Auf diese Weise kann ein Benutzer Prozessdaten anzeigen und/oder auf diese zugreifen, ohne dass ein Gerät kommunikativ mit dem LAN 110 verbunden sein muss. In anderen Beispielen greift die Anzeigeschnittstelle 102 auf die Deskriptordateien in der Deskriptordatei-Datenbank 126 immer dann zu, wenn eine Anforderung zur Anzeige von Prozessdaten erhalten wird.
  • Die beispielhafte Anzeigeschnittstelle 102 kann mehrere Anforderungen gleichzeitig verarbeiten, um auf Prozessdaten von einem Arbeitsplatzrechner (z. B. dem Arbeitsplatzrechner 106) zuzugreifen. Die beispielhafte Anzeigeschnittstelle 102 kann alternativ eine einzelne Anforderung verarbeiten, um auf Prozessdaten zuzugreifen. In diesen alternativen Beispielen können mehrere Anzeigeschnittstellen 102 verwendet werden, um mehrere Anforderungen zu verarbeiten. Obwohl die beispielhafte Anzeigeschnittstelle 102 im Zusammenhang mit dem Arbeitsplatzrechner 106 beschrieben wird, kann die Anzeigeschnittstelle 102 mit anderen Arbeitsplatzrechnern und/oder Geräten arbeiten, die der Prozesssteuerungsumgebung 100 von 1 zugeordnet sind.
  • Um eine Anforderung zur Anzeige von Prozessdaten zu erhalten, enthält die beispielhafte Anzeigeschnittstelle 102 einen Empfänger 220. Der beispielhafte Empfänger 220 ist mit der Benutzerschnittstelle 132 in dem Arbeitsplatzrechner 106 kommunikativ verbunden. Der Empfänger 220 empfängt Anforderungen von einem Benutzer, um über den Arbeitsplatzrechner 106 und/oder die Benutzerschnittstelle 132 auf Prozessdaten zuzugreifen und/oder diese abzurufen. Ein Benutzer wählt den Zugang auf Prozessdaten, indem er einen Identifikator, der den gewünschten Daten zugeordnet ist, in ein Anforderungs- und/oder Suchfeld eingibt. Ein Benutzer kann beispielsweise einen Identifikator eines Feldgeräts eingeben. Ein Benutzer kann in einem anderen Beispiel einen Bereich und/oder eine Sammlung von Feldgeräten innerhalb des Prozesssteuerungssystems 104 eingeben. In einem anderen Beispiel kann ein Benutzer einen Identifikator (z. B. einen Variablennamen) eines Parameters eingeben, um dem Parameter zugeordnete Prozessdaten anzuzeigen.
  • Ein Benutzer kann auch Prozessdaten angeben, indem er durch Browsen in einem Datenverzeichnis zu einem gewünschten Prozesssteuerungsobjekt (z. B. einer Auflistung eines Feldgeräts, einer Komponente, eines Bereichs) geht. Ein Benutzer kann beispielsweise eine Öffnungsfunktion verwenden und in einem Verzeichnis bis zu einem gewünschten Feldgerät navigieren. In anderen Beispielen kann ein Benutzer auf Prozessdaten zugreifen, indem er über eine Benutzerschnittstelle 132 eine grafische Darstellung und/oder einen Identifikator auswählt, die der Information zugeordnet sind. Alternativ kann ein Benutzer eine Webseitenadresse eingeben, die Prozessdaten enthält und/oder auflistet. Ein Benutzer kann dann ein gewünschtes Prozesssteuerungsobjekt auswählen, das auf der angezeigten Webseite aufgelistet wird.
  • Nach Erhalt einer Anforderung zur Anzeige von Prozessdaten überträgt der beispielhafte Empfänger 220 die Anforderung an einen Dateiprozessor 222. Der beispielhafte Dateiprozessor 222 parst die Anforderung in Informationen zur Identifizierung von Deskriptordateien. Der Dateiprozessor 222 verwendet die Informationen zum Zugriff auf die Deskriptordatei-Datenbank 126, um nach Deskriptordateien zu suchen, die zu den angeforderten Prozessdaten passen. Eine Anforderung von Prozessdaten kann beispielsweise einen Typ 'Rosemount® Feldgeräte-Drucksensor' und einen Identifikator 'PRS02' des Drucksensors einschließen. Der Dateiprozessor 222 sucht nach Deskriptordateien, die Funktionalität für einen Rosemount® Feldgeräte-Drucksensor definieren. Der Dateiprozessor 222 sucht auch nach Deskriptordateien, die eine Kopfzeile mit dem Identifikator PRS02 enthalten. In einigen Fällen können ein Titel und/oder ein Dateiname der Deskriptordatei den Typ und/oder den Identifikator enthalten. In einigen Fällen können in der Kopfzeile der Deskriptordatei gespeicherte Metadaten den Typ und/oder den Identifikator einschließen. In anderen Fällen muss der Dateiprozessor 222 möglicherweise Dateieinträge und/oder Namen von Objekten in den Deskriptordateien nach einem passenden Typ und/oder Identifikator durchsuchen.
  • Um die angeforderten Prozessdaten abzurufen, enthält die beispielhafte Anzeigeschnittstelle 102 aus 2 einen Prozessdatenleser 224. Der beispielhafte Prozessdatenleser 224 verwendet Identifikatoren, die der Anforderung zugeordnet sind, um eine Deskriptordatei nach Prozessdaten zu durchsuchen. Der Prozessdatenleser 224 empfängt die Deskriptordatei von dem Dateiprozessor 222. Der beispielhafte Prozessdatenleser 224 kann auch auf das Schema 204 zugreifen, um zu bestimmen, wie die Deskriptordatei strukturiert und/oder angeordnet ist. Der Prozessdatenleser 224 kann dann die Anordnungsinformationen verwenden, um relativ rasch auf die Prozessdaten aus der Beschreibungsdatei zuzugreifen, ohne irrelevante Abschnitte und/oder physische Dateien durchsuchen zu müssen.
  • Der beispielhafte Prozessdatenleser 224 ruft Prozessdaten ab, indem er eine Deskriptordatei öffnet und die Deskriptordatei nach einem Dateieintrag mit einem Objekt scannt, das zu einer Anforderung passt. Der Prozessdatenleser 224 kann Informationen in einer offenen Dateibeschreibung verwenden, um eine physische Datei auszuwählen, die den angeforderten Prozessdaten entsprechen. Der Prozessdatenleser 224 kann dann die Abschnitte in der offenen Dateibeschreibung untersuchen, um zu identifizieren, welche Abschnitte der Anforderung entsprechen. Der Prozessdatenleser 224 kann für jeden Abschnitt bestimmen, welche Dateieinträge Objekte mit einem Namen, einem Typ und/oder einem Identifikator einschließen, die zu der Anforderung passen. Der beispielhafte Prozessdatenleser 224 ruft dann die Prozessdaten von dem Objekt ab. Um die Prozessdaten abzurufen, kopiert der Prozessdatenleser 224 die gespeicherten Prozessdaten. Der Prozessdatenleser 224 ruft weiter Prozessdaten aus der Deskriptordatei ab, bis alle der angeforderten Prozessdaten abgerufen sind. In Beispielen, in denen ein Dateieintragsobjekt einen Ausdruck einschließt, führt der beispielhafte Prozessdatenleser 224 die durch den Ausdruck angegebenen Operationen aus und/oder führt diese durch. Der Prozessdatenleser 224 kann beispielsweise mathematische Operationen mit einem Wert einer Variablen durchführen, die durch ein Ausdruckobjekt angegeben wird.
  • In Beispielen, in denen eine Anforderung nach Prozessdaten den Dateiprozessor 222 dazu bringt, zwei oder mehr Deskriptordateien zu lokalisieren, ruft der beispielhafte Prozessdatenleser 224 Prozessdaten aus den jeweiligen Deskriptordateien ab und konsolidiert und/oder kompiliert die abgerufenen Prozessdaten. Der Prozessdatenleser 224 kann bezeichnen und/oder markieren, welche Prozessdaten von welcher Deskriptordatei abgerufen wurden. Der Prozessdatenleser 224 kann dann die kompilierten Prozessdaten zur Anzeige an einen Renderer 228 übermitteln.
  • Der beispielhafte Renderer 228 generiert eine Anzeige für die angeforderten Prozessdaten. Der beispielhafte Renderer 228 greift auch auf die Datenbank 124 zu, um die angeforderten Prozessdaten zu erhalten, die nicht in einer Deskriptordatei enthalten sind. Um zu bestimmen, wie die Prozessdaten angezeigt werden sollen, kann der beispielhafte Renderer 228 eine entsprechende EDDL-Datei lokalisieren. Der Renderer 228 kann die Prozessdaten mit Parametern und/oder Referenzen in der EDDL-Datei abgleichen. Der beispielhafte Renderer 228 generierte Grafiken zur Anzeige über die Benutzerschnittstelle 132, indem Anweisungen in der EDDL-Datei ausgeführt werden. Der Renderer 228 kann Anweisungen ausführen, um jegliche Menü-, Anzeige- und/oder Formatinformationen zu bestimmen.
  • Der beispielhafte Renderer 228 liest auch EDDL-Dateien, um Referenzen auf Prozessdaten zu erhalten. In einigen Beispielen können Abschnitte einer EDDL-Datei einen Link und/oder einen Dateiverzeichnisort einschließen, die Prozessdaten entsprechen, die in einer Deskriptordatei gespeichert sind. Eine EDDL-Datei kann beispielsweise ein Datenfeld für die Pumpendrehzahl einschließen. Die EDDL-Datei kann auch einen Link auf ein Variablenobjekt für die Pumpendrehzahl in einer Deskriptordatei einschließen. Der beispielhafte Renderer 228 verwendet den Link, um den Pumpendrehzahlwert (z. B. Prozessdaten) aus der Deskriptordatei in eine entsprechende EDDL-Datei einzufügen, um eine grafische Darstellung des Pumpendrehzahlwerts zu erhalten.
  • Der Renderer 228 kann auch Typen von Prozessdaten mit Vorlagen abgleichen. In diesen Beispielen kann der Renderer 228 Prozessdaten in entsprechende Datenfelder einbetten und/oder einfügen. Jedes der Datenfelder kann eine Spezifikationsliste einschließen, die die Typen der kompatiblen Prozessdaten beschreibt. Der Renderer 228 kann dann eine Anzeigedatei generieren, indem die Prozessdaten in den Datenfeldern der Vorlage kompiliert werden. Die Anzeigedatei spezifiziert beispielsweise Orte von Prozessdaten, grafischen Darstellungen von angeforderten Prozessdaten und/oder Datenfeldern.
  • Der beispielhafte Renderer 228 führt ferner Anzeigetransformations-Dateieintragsobjekte aus, die angeben, wie Prozessdaten angezeigt werden sollen. Der Renderer 228 kann die Anzeigedatei auf Grundlage der Anzeigetransformations-Dateieintragsobjekte konstruieren. Der beispielhafte Renderer 228 führt die Anzeigedatei aus, um die beschriebene Grafik mit den entsprechenden Prozessdaten zu generieren. Obwohl der beispielhafte Renderer 228 in der Anzeigeschnittstelle 102 von 2 gezeigt ist, kann sich der Renderer 228 in anderen Beispielen, in denen die Anzeigeschnittstelle 102 separat von einem Gerät zur Anzeige von Prozesssteuerungsinformationen vorliegen kann, in dem Gerät befinden. In diesen Beispielen überträgt der Renderer 228 die Anzeigedatei (z. B. über das Internet und/oder das LAN 110) an das Gerät.
  • Der beispielhafte Renderer 228 verarbeitet (z. B. rendert) die Anzeigedatei zu einem Format, das von einem Benutzer über beispielsweise die Benutzerschnittstelle 132 angezeigt werden kann. Der beispielhafte Renderer 228 kann auf Grundlage einer Anzeigegröße eines Geräts (z. B. des Arbeitsplatzrechners 106) eine Anzeige generieren, die Grafik(en) der Prozesssteuerungsinformationen anzeigt. Nach dem Rendern der Anzeigedatei überträgt der beispielhafte Renderer 228 die gerenderte Anzeige an die Anwendung 130 im Arbeitsplatzrechner 106, um die angeforderten Prozesssteuerungsinformationen grafisch anzuzeigen.
  • Obwohl die beispielhafte Anzeigeschnittstelle 102 und der Dateigenerator 108 in 2 dargestellt sind, können einer oder mehrere der Server, Plattformen, Schnittstellen, Datenstrukturen, Elemente, Prozesse und/oder Geräte, die in 2 illustriert sind, in beliebiger Weise kombiniert, unterteilt, anders angeordnet, weggelassen, eliminiert und/oder implementiert werden. Der beispielhafte Editor 202, das beispielhafte Schema 204, der beispielhafte Compiler 206, der beispielhafte Scanner 208, der beispielhafte Tokenisierer 210, der beispielhafte Interpreter 212, die beispielhafte Datenbankschnittstelle 214, der beispielhafte Empfänger 220, der beispielhafte Dateiprozessor 222, der beispielhafte Prozessdatenleser 224, der beispielhafte Renderer 228 und/oder allgemeiner die beispielhafte Anzeigeschnittstelle 102 und/oder der Dateigenerator 108 können durch Hardware, Software, Firmware und/oder jegliche Kombination von Hardware, Software und/oder Firmware implementiert werden. Somit können beispielsweise beliebige von dem beispielhaften Editor 202, dem beispielhaften Schema 204, dem beispielhaften Compiler 206, dem beispielhaften Scanner 208, dem beispielhaften Tokenizer 210, dem beispielhaften Interpreter 212, der beispielhaften Datenbankschnittstelle 214, dem beispielhaften Empfänger 220, dem beispielhaften Dateiprozessor 222, dem beispielhaften Prozessdatenleser 224, dem beispielhaften Renderer 228 und/oder allgemeiner der beispielhaften Anzeigeschnittstelle 102 und/oder dem Dateigenerator 108 durch einen oder mehrere Schaltkreise, programmierbare Prozessoren, anwendungsspezifische integrierte Schaltkreise (ASIC(s)), programmierbare Logikvorrichtungen (PLD(s)) und/oder feldprogrammierbare Logikvorrichtungen (FPLD(s)), usw. implementiert werden.
  • Wenn ein Vorrichtungsanspruch dieses Patentes so gelesen wird, dass eine reine Software- und/oder Firmwareimplementierung abgedeckt ist bzw. sind, ist mindestens einer von dem beispielhaften Editor 202, dem beispielhaften Schema 204, dem beispielhaften Compiler 206, dem beispielhaften Scanner 208, dem beispielhaften Tokenisierer 210, dem beispielhaften Interpreter 212, der beispielhaften Datenbankschnittstelle 214, dem beispielhaften Empfänger 220, dem beispielhaften Dateiprozessor 222, dem beispielhaften Prozessdatenleser 224 und/oder dem beispielhaften Renderer 228 hier ausdrücklich so definiert, dass ein computerlesbares Medium wie ein Speicher, DVD, CD, usw. eingeschlossen ist, worauf die Software und/oder Firmware gespeichert ist. Die beispielhafte Anzeigeschnittstelle 102 und/oder der beispielhafte Dateigenerator 108 kann bzw. können ferner ein oder mehrere Elemente, Prozesse und/oder Geräte zusätzlich zu oder anstelle der in 2 dargestellten umfassen und/oder kann mehr als eines von beliebigen oder allen der dargestellten Elemente, Prozesse und Geräte umfassen.
  • 3 zeigt das Beispielschema 204 von 2 als Blockmodelldiagramm. Das beispielhafte Schema 204 zeigt eine Hierarchie für Deskriptordateien. Das Schema 204 kann in anderen Beispielen andere Anordnungen und/oder Hierarchien von Blöcken einschließen. Die beispielhafte Anzeigeschnittstelle 102 kann das Schema 204 verwenden, um zu ermitteln, welche Prozessdaten sich in einer Deskriptordatei befinden. Obwohl Deskriptordateien verschiedene Anzahlen von Blöcken enthalten können, sind die Beziehungen zwischen den verschiedenen Blocktypen in den Deskriptordateien in Übereinstimmung mit dem beispielhaften Schema 204.
  • Das beispielhafte Schema 204 enthält eine Deskriptordateiinstanz 302, die als übliches Dateiformat bezeichnet wird. Das übliche Dateiformat bezieht sich auf eine Universalität der Prozessdaten in einer Deskriptordatei, auf die jeder Typ von Prozesssteuerungsanwendung zugreifen kann. Die Deskriptordateiinstanz 302 enthält eine Kopfzeile 304. Die beispielhafte Kopfzeile 304 befindet sich relativ weit oben in der Deskriptordateiinstanz 302, so dass die Anzeigeschnittstelle 102 nur auf die Deskriptordateiinstanz 302 zuzugreifen braucht, um eine Anforderung nach Prozessdaten mit Informationen in der Kopfzeile 304 abzugleichen. In diesem Beispiel enthält die Kopfzeile 304 Felder für einen Herstellertyp eines Feldgeräts, das der Deskriptordateiinstanz 302 zugeordnet ist, und einen Typ des Feldgeräts. Die beispielhafte Kopfzeile 304 enthält auch eine Major-Version, eine Minor-Version, eine Maintenance-Version und eine Build-Version der Deskriptordateiinstanz 302. In anderen Beispielen kann die Kopfzeile 304 einen Identifikator (z. B. eine Seriennummer) des Feldgeräts enthalten.
  • Die Deskriptordateiinstanz 302 enthält auch einen Dateirumpf 306. Der Dateirumpf 306 speichert Prozessdaten, die in einem hierarchischen Format angeordnet sind. In vielen Beispielen werden eine oder mehrere physische Dateien mit Prozessdaten in dem Dateirumpf 306 gespeichert. Der beispielhafte Dateirumpf 306 enthält eine offene Dateibeschreibung 308 für jede physische Datei. Die offene Dateibeschreibung 308 enthält in dem dargestellten Beispiel einen Symbolnamen und eine Symbolnummer, die zum Referenzieren der offenen Dateibeschreibung 308 auf den Dateirumpf 306 verwendet werden können. Die offene Dateibeschreibung 308 kann auch Felder zum Beschreiben und/oder Generalisieren gespeicherter entsprechender Prozessdaten enthalten.
  • Die offene Dateibeschreibung 308 enthält einen Abschnitt 309. Obwohl das beispielhafte Schema 204 den Abschnitt 309 zeigt, kann die offene Dateibeschreibung 308 zusätzliche Abschnitte enthalten. Der Abschnitt 309 kann Prozessdaten, die im Wesentlichen ähnlich sind, von einer gemeinsamen Komponente eines Feldgeräts und/oder relativ verwandten Komponenten enthalten. Der beispielhafte Abschnitt 309 enthält ein Abschnittnamensfeld und ein Abschnittsindexfeld, die durch die offene Dateibeschreibung 308 referenziert und/oder indexiert werden können. Der Abschnittindex kann alternativ eine Nummer der Dateieinträge referenzieren, die in dem Abschnitt 309 enthalten ist.
  • Der beispielhafte Abschnitt 309 enthält einen Dateieintrag 310. Obwohl 3 den Dateieintrag 310 zeigt, können andere Beispiele mehrere Dateieinträge im Abschnitt 309 enthalten. Der beispielhafte Dateieintrag 310 schließt ein Eintragsnamensfeld, ein Eintragstypenfeld und ein Zählerfeld ein. Das Eintragsnamensfeld kann den Dateieintrag 310 identifizieren und durch den Abschnittsindex referenziert werden. Der Eintragstyp gibt einen Objekttyp an, der dem Dateieintrag 310 zugeordnet ist. Der Dateieintrag 310 kann beispielsweise einem Variablenobjekt 312 zugeordnet sein, das ein Variablentypfeld, ein Wertefeld und ein Qualitätsfeld enthält. Das Variablenobjekt 312 speichert Prozessdaten (z. B. Status, Werte, Ereignisse, Parameterinformationen, usw.) in dem Wertefeld. Das Variablentypenfeld gibt einen Typ des Variablenobjekts 312 an. Ein Beispiel für Variablentypen 314 ist gezeigt, das dem Variablenobjekt 312 zugeordnet sein kann.
  • Der Dateieintrag 310 kann ferner ein Ausdrucksobjekt und/oder ein Anzeigetransformationsobjekt (nicht gezeigt) einschließen. Ein Ausdruckobjekt kann beispielsweise ein Formelfeld und ein Wertefeld einschließen. Das Formelfeld gibt eine mathematische Berechnung an, die mit in einem Wertefeld gespeicherten Prozessdaten durchgeführt werden soll. In einem anderen Beispiel kann das Anzeigetransformationsobjekt ein Anweisungsfeld und ein Wertefeld einschließen. Das Anweisungsfeld kann beispielsweise XSLT-Anweisungen zum Anzeigen von in dem Wertefeld gespeicherten Prozessdaten einschließen.
  • Der beispielhafte Dateieintrag 310 kann auch ein Wertematrixobjekt 316, ein Listenobjekt 318, ein Sammlungsobjekt 320, ein Referenzmatrixobjekt 322 und ein Eintragsmatrixobjekt 324 einschließen. Die beispielhaften Objekte 316324 sind so konfiguriert, dass sie einen Satz und/oder eine Gruppe von Prozessdatenwerten speichern. Um den Satz und/oder die Gruppe zu speichern, enthalten die Objekte 316324 verschachtelte Abschnitte, die Dateieinträge einschließen, die die Prozessdaten als verschachtelte Variablenobjekte speichern. Auf diese Weise verwenden die Objekte 316314 verschachtelte Abschnitte, um eine Gruppe und/oder Matrix von Prozessdaten zu speichern. Die verschachtelten Abschnitte schließen ein Format und eine Hierarchie ähnlich dem Abschnitt 309 des Schemas 204 ein. Die verschachtelten Abschnitte können somit verschachtelte Dateieinträge enthalten, die verschachtelten Variablenobjekten und/oder verschachtelten Matrizes, Sammlungen und/oder Listen zugeordnet sind. Das Listenobjekt 318 kann beispielsweise einen verschachtelten Abschnitt von Dateieinträgen enthalten, der Variablenobjekten zugeordnet ist. In einem anderen Beispiel kann das Wertematrixobjekt 316 einen verschachtelten Abschnitt von Dateieinträgen enthalten, die in eine Matrix von Variablenobjekten indexiert sind.
  • Durch Verwendung des beispielhaften Schemas 204 aus 3 kann die Anzeigeschnittstelle 102 Prozessdaten relativ schnell lokalisieren, indem die Kopfzeile 304 zum Abgleich der Deskriptordateiinstanz 302 mit einer Anforderung nach Prozessdaten verwendet wird. Die Anzeigeschnittstelle 102 kann dann die offene Dateibeschreibung 308 nach dem entsprechenden Abschnitt 309 scannen und den Abschnitt 309 nach dem zugeordneten Dateieintrag 310 scannen, der eines der Objekte 312 und 316324 enthält, welches die angeforderten Prozessdaten speichert. Weil Prozessdaten in Deskriptordateien gespeichert sind, die dem beispielhaften Schema 204 entsprechen, können unterschiedliche Anwendungen (z. B. die Anwendung 130) über die Anzeigeschnittstelle 102 unabhängig vom Anwendungstyp auf Prozessdaten zugreifen. Das beispielhafte Schema 204 ermöglicht mit anderen Worten den universellen Zugriff auf Prozessdaten ohne eine Schnittstelle und/oder einen Adapter, um die Prozessdaten in ein Format umzuwandeln, das von einer Anwendung lesbar ist.
  • 4 zeigt das Beispielschema 204 von 3 in einem XML-Objektmodelldiagramm. Die Struktur des Schemas 204 ist dem in 3 beschriebenen Blockmodelldiagramm ähnlich. Anschließend werden die Anweisungen zur Implementierung des Schemas 204 in 4 gezeigt:
    Figure 00330001
    Figure 00340001
    Figure 00350001
    Figure 00360001
    Figure 00370001
  • Die für das Schema 204 repräsentativen beispielhaften Anweisungen können von dem Scanner 208 von 2 ausgeführt werden, um eine Deskriptordatei zu validieren. Die Anweisungen können beispielsweise verwendet werden, um sicherzustellen, dass in einer Deskriptordatei angegebene Objekttypen in dem Schema 204 angegeben und/oder definiert sind (z. B. <xs:simpleType name=”T_EntryTypes”>). Die Anweisungen können beispielsweise außerdem verwendet werden, um sicherzustellen, dass Wertetypen in einem Variablenobjekt in dem Schema 204 angegeben und/oder definiert sind (z. B. <xs:simpleType name=”T_AllVariableTypes”>). Diese Validierung stellt sicher, dass Prozessdaten in einem Format gespeichert werden, das für die meisten Anwendungen zugänglich ist. Die Anweisungen können ferner verwendet werden, um zu gewährleisten, dass eine Struktur der Deskriptordatei einer Struktur und/oder Beziehung zwischen offenen Dateibeschreibungen, Abschnitten, Dateieinträgen und/oder Objekten entspricht, die im Schema 204 angegeben sind (z. B. </xs:sequence>).
  • 5 zeigt ein Blockmodelldiagramm einer beispielhaften Deskriptordatei 500, die dem beispielhaften Schema 204 der 3 und 4 entspricht. Obwohl 5 die beispielhafte Deskriptordatei 500 zeigt, können andere Beispiele zusätzliche oder weniger offene Dateibeschreibungen, Abschnitte, Dateieinträge und/oder Objekte einschließen. Die beispielhafte Deskriptordatei 500 speichert Prozessdaten in einem universellen und/oder üblichen Format, auf das viele Prozesssteuerungsanwendungen zugreifen können. In einigen Beispielen können die Deskriptordatei 500 und eine entsprechende EDDL-Datei auf einem Mobilgerät gespeichert werden. Das Mobilgerät kann die EDDL-Datei verwenden, um zu definieren, wie in einer Deskriptordatei gespeicherte Prozessdaten angezeigt werden sollen. Auf diese Weise kann Prozesssteuerungspersonal auf Prozessdaten zugreifen und/oder diese anzeigen, ohne Zugriff auf das Prozesssteuerungssystem 104 zu haben. Anschließend werden Anweisungen zum Implementieren und/oder Definieren der beispielhaften Deskriptordatei 500 gezeigt:
    Figure 00380001
    Figure 00390001
    Figure 00400001
    Figure 00410001
  • In dem dargestellten Beispiel schließt die Deskriptordatei 500 eine Deskriptordateiinstanz 502 ein. Die Deskriptordateiinstanz 502 enthält eine Kopfzeile (Header) 504 und einen Dateirumpf (file body) 506. Der Dateirumpf 506 enthält eine erste offene Dateibeschreibung (open file description) 508, die einer ersten physischen Datei entspricht, die Prozessdaten speichert, die durch eine Komponente 1 eines Feldgeräts (z. B. <SymbolName>Komponente 1</SymbolNam>) generiert wurden, und eine zweite offene Dateibeschreibung 510, die einer zweiten physischen Datei entspricht, die Prozessdaten speichert, die durch Komponente 2 eines Feldgeräts generiert wurden (z. B. <SymbolName>Komponente 2</SymbolName>). Die erste offene Dateibeschreibung 508 wird in Abschnitte 514 und 515 partitioniert, und die zweite offene Dateibeschreibung 510 wird in Abschnitte 516 und 517 partitioniert. Die Abschnitte 514517 können jeweiligen Gruppen verwandter Prozessdaten entsprechen, die den Komponenten zugeordnet sind.
  • Der Abschnitt 514 ist einem Abschnittsnamen Abschnitt 1 zugeordnet und enthält einen Dateieintrag 518 (z. B. <EntryName>Eintrag A</EntryName>), der einem Sammlungsobjekt 520 zugeordnet ist. Der Abschnitt 514 schließt auch einen Dateieintrag 522 (z. B. <Entry-Name>Eintrag B</EntryName>) ein, der einem Eintragsmatrixobjekt 524 zugeordnet ist. Die oben aufgeführten beispielhaften Anweisungen enthalten keine Anweisungen für einen Abschnitt mit Dateieinträgen für die Objekte 520 und 524. In anderen Beispielen können das beispielhafte Sammlungsobjekt 520 und/oder das Eintragsmatrixobjekt 524 einen oder mehrere verschachtelte Abschnitte mit verschachtelten Dateieinträgen enthalten, die Variablenobjekte einschließen, die Prozessdaten speichern. Jeder der verschachtelten Abschnitte und/oder Dateieinträge kann durch das Matrixfeld in den jeweiligen Dateieinträgen 518 und 522 indexiert werden.
  • Der Abschnitt 515 ist einem Abschnittnamen Abschnitt 2 zugeordnet und enthält einen Dateieintrag 526 (z. B. <EntryName>Eintrag C</EntryName>), der einem Listenobjekt 528 zugeordnet ist. Der Abschnitt 515 schließt auch einen Dateieintrag 530 (z. B. <EntryName>Eintrag D</EntryName>) ein, der einem Referenzmatrixobjekt 532 zugeordnet ist. Abschnitt 516 ist in ähnlicher Weise einem Abschnittnamen Abschnitt 3 zugeordnet und enthält einen Dateieintrag 534 (z. B. <EntryName>Eintrag E</EntryName>), der einem Wertematrixobjekt 536 zugeordnet ist. Der Abschnitt 516 enthält auch einen Dateieintrag 538 (z. B. <EntryName>Eintrag F</EntryName>), der einem Variablenobjekt 540 zugeordnet ist. Das Variablenobjekt 540 ist einem Variablentyp 'Float' (Gleitkommazahl) zugeordnet und beinhaltet einen gespeicherten numerischen Wert '32.5' (z. B. Prozessdaten).
  • Dem Abschnitt 517 ist ferner ein Abschnittsnamen Abschnitt 4 zugeordnet und er enthält einen Dateieintrag 542 (z. B. <EntryName>Eintrag G</EntryName>), der einem Sammlungsobjekt 544 zugeordnet ist. Der Abschnitt 517 schließt auch einen Dateieintrag 546 (z. B. <EntryName>Eintrag H</EntryName>) ein, der einem Eintragsmatrixobjekt 548 zugeordnet ist. In diesem Beispiel speichert das Sammlungsobjekt 520 eine andere Gruppe und/oder einen anderen Satz von Prozessdaten als das Sammlungsobjekt 544. Das Eintragsmatrixobjekt 524 speichert in ähnlicher Weise eine andere Matrix von Prozessdaten als das Eingangsmatrixobjekt 548.
  • 6 zeigt die Anwendung 130 von 1, die in einer Deskriptordatei gespeicherte Prozessdaten anzeigt. In diesem Beispiel kann ein Benutzer eine Anforderung zum Anzeigen von Prozessdaten abschicken, die einem Feldgerät mit dem Identifikator TANK 101 zugeordnet sind. Die beispielhafte Anzeigeschnittstelle 102 empfängt die Anforderung und lokalisiert eine Deskriptordatei, die in einer Kopfzeile den Identifikator TANK 101 enthält. Die Anzeigeschnittstelle 102 kann dann das beispielhafte Schema 204 von 3 und 4 verwenden, um die Deskriptordatei nach den angeforderten Prozessdaten zu durchsuchen (z. B. Pegel, Temperatur, unterer Bereich und oberer Bereich).
  • Der Pegelparameter kann angeben, wie viel Flüssigkeit prozentual in dem Feldgerät Tank 101 enthalten ist. Der Temperaturparameter kann eine Temperatur der Flüssigkeit angeben. Der untere Bereichsparameter kann einen Mindestschwellenwert der Flüssigkeit im Feldgerät Tank 101 angeben, bevor ein Alarm ausgelöst wird. Der obere Bereichsparameter kann in ähnlicher Weise einen Maximalschwellenwert der Flüssigkeit im Feldgerät Tank 101 angeben, bevor ein Alarm ausgelöst wird. Das Beispiel in 6 zeigt, dass eine Deskriptordatei Prozessdaten speichern kann, die von Sensoren im Feldgerät Tank 101 gemessen wurden (z. B. Pegel und Temperatur). Die Deskriptordatei speichert auch Parametrisierungsprozessdaten, die Charakteristika des Feldgeräts Tank 101 definieren (z. B. unterer Bereich und oberer Bereich). Die Prozessdaten können in einem Feldwert von jeweiligen Variablenobjekten gespeichert werden, die in Dateieinträgen der Deskriptordatei enthalten sind.
  • Die beispielhafte Anzeigeschnittstelle 102 kann auch auf eine EDDL-Datei zugreifen, die dem Feldgerät Tank 101 zugeordnet ist, um zu bestimmen, wie die Prozessdaten angezeigt werden sollen. Die EDDL-Datei kann beispielsweise angeben, dass die Prozessdaten in einem ersten Bereich 602 numerisch und in einem zweiten Bereich 604 grafisch angezeigt werden sollen. Die EDDL-Datei kann auch einen Ort der Datenfelder in den Bereichen 602 und 604 angeben. Der zweite Bereich 604 enthält eine Tankgrafik 606, die einen Flüssigkeitspegel 608 des Feldgeräts Tank 101 zeigt. Weil die Prozessdaten in der Deskriptordatei als übliches und/oder universelles Dateiformat gespeichert sind, kann die Anwendung 130 die Prozessdaten in den Bereichen 602 und 604 anzeigen, ohne die Prozessdaten in ein für die Anwendung 130 spezifisches Format umwandeln zu müssen.
  • In den 7, 8A, 8B und 9 sind Flussdiagramme gezeigt, die die beispielhaften Prozesse 700, 800 und 900 zur Implementierung der Anzeigeschnittstelle 102 und/oder des Dateigenerator 108 der 1 und 2 repräsentativ sind. In diesem Beispiel können die Prozesse 700, 800 und 900 unter Verwendung maschinenlesbarer Anweisungen in Form eines Programms zur Ausführung durch einen Prozessor implementiert werden, wie durch den Prozessor P12, der in dem beispielhaften Prozessorsystem P10 gezeigt ist, das anschließend im Zusammenhang mit 10 diskutiert wird. Das Programm kann in Software verkörpert sein, die auf einem computerlesbaren Medium wie einer CD-ROM, einer Diskette, einer Festplatte, einer Digital Versatile Disk (DVD) oder einem dem Prozessor P12 zugeordneten Speicher gespeichert ist, das gesamte Programm und/oder Teile davon können alternativ jedoch durch ein anderes Gerät als Prozessor P12 ausgeführt werden und/oder in Firmware oder dedizierter Hardware verkörpert werden. Obwohl das beispielhafte Programm in Bezug auf die in den 7, 8A, 8B und 9 illustrierten Flussdiagramme beschrieben wird, können alternativ viele andere Verfahren zur Implementierung der beispielhaften Anzeigeschnittstelle 102 und/oder des Dateigenerator 108 verwendet werden. Die Reihenfolge der Ausführung der Blöcke kann beispielsweise geändert werden, und/oder es können einige der beschriebenen Blöcke geändert, eliminiert oder kombiniert werden.
  • Wie bereits erwähnt können die beispielhaften Prozesse der 7, 8A, 8B und 9 unter Verwendung kodierter Anweisungen (z. B. computerlesbarer Anweisungen) implementiert werden, die auf einem physischen computerlesbaren Medium gespeichert sind, wie einem Festplattenlaufwerk, einem Flash-Speicher, einem Festwertspeicher (ROM), einer Compact Disk (CD), einer Digital Versatile Disk (DVD), einem Cache, einem Direktzugriffspeicher (RAM) und/oder anderen Speichermedien, in denen Informationen über eine beliebige Dauer (z. B. über längere Zeiträume, permanent, für kurze Zeiträume, zum temporären Puffer und/oder zum Cachen der Informationen) gespeichert werden. Der Begriff physisches computerlesbares Medium wird hier ausdrücklich so definiert, dass jeder Typ von computerlesbarer Speicherung eingeschlossen ist und propagierende Signale ausgeschlossen sind. Zusätzlich oder alternativ können die beispielhaften Prozesse der 7, 8A, 8B und 9 unter Verwendung kodierter Anweisungen (z. B. computerlesbarer Anweisungen) implementiert werden, die auf einem nicht flüchtigen computerlesbaren Medium gespeichert sind, wie einem Festplattenlaufwerk, einem Flash-Speicher, einem Festwertspeicher, einer CD, einer DVD, einem Cache, einem Direktzugriffspeicher und/oder anderen Speichermedien, in denen Informationen über eine beliebige Dauer (z. B. über längere Zeiträume, permanent, für kurze Zeiträume, zum temporären Puffer und/oder zum Cachen der Informationen) gespeichert werden. Der Begriff nicht flüchtiges computerlesbares Medium wird hier ausdrücklich so definiert, dass jeder Typ von computerlesbarer Speicherung eingeschlossen ist und propagierende Signale ausgeschlossen sind.
  • Der beispielhafte Prozess 700 von 7 ruft Prozessdaten ab, die in einer Deskriptordatei gespeichert sind, um sie innerhalb einer Anwendung anzuzeigen. Der beispielhafte Prozess 700 beginnt, indem eine Anforderung zum Zugriff auf Prozessdaten von einem Benutzer empfangen wird (z. B. über den Empfänger 220) (Block 702). Der beispielhafte Prozess 700 sucht nach einer Deskriptordatei, die eine Kopfzeile enthält, die zu Informationen passt, die in der Anforderung enthalten sind (z. B. über den Dateiprozessor 222) (Block 704). Der beispielhafte Prozessor 700 greift dann auf ein Schema (z. B. das Schema 204) zu, um eine Struktur der abgerufenen Deskriptordatei zu bestimmen (z. B. über den Prozessdatenleser 224) (Block 706).
  • Der beispielhafte Prozess 700 scannt die Deskriptordatei nach einem Objekt in einem Dateirumpf, das zu der Anforderung passt (z. B. über den Prozessdatenleser 224) (Block 708). Der Prozess 700 kann ein Objekt lokalisieren, indem eine offene Dateibeschreibung bestimmt wird, die den Prozessdaten zugeordnet ist. Der Prozess 700 sucht dann in der offenen Dateibeschreibung nach einem Abschnitt, der den Prozessdaten entspricht. Der beispielhafte Prozess 700 kann dann den Abschnitt nach einem Dateieintrag mit einem Variablenobjekt durchsuchen, das ein Wertefeld enthält, welches die angeforderten Prozessdaten speichert. In einigen Beispielen kann der Prozess 700 das Objekt nach verschachtelten Abschnitten, Dateieinträgen und/oder Objekten scannen, bis ein Variablenobjekt mit den passenden Prozessdaten lokalisiert wurde. Das Objekt kann jegliche Matrix, Liste, Sammlung usw. einschließen, das bzw. die Prozessdaten speichern und/oder indexieren kann.
  • Der beispielhafte Prozess 700 fährt fort, indem bestimmt wird, ob die Prozessdaten sich in der Deskriptordatei befinden (z. B. über den Prozessdatenleser 224) (Block 710). Wenn der beispielhafte Prozess 700 die Prozessdaten nicht in der Deskriptordatei lokalisieren kann, greift der Prozess 700 auf die angeforderten Prozessdaten aus einer Steuerungsdatenbank zu (z. B. der Datenbank 124 aus 1) (Block 714). Die Steuerungsdatenbank kann eine Aggregation von Prozessdaten für das gesamte Prozesssteuerungssystem 104 speichern. In einigen Beispielen kann das Durchsuchen der Steuerungsdatenbank ineffizient und/oder zeitraubend sein. Der beispielhafte Prozess 700 kann alternativ andere Deskriptordateien durchsuchen. Wenn der beispielhafte Prozess 700 jedoch in der Lage ist, die angeforderten Prozessdaten (Block 710) zu lokalisieren, ruft der Prozess 700 die Prozessdaten ab und kompiliert sie (z. B. über den Prozessdatenleser 224) (Block 712).
  • Der beispielhafte Prozess 700 aus 7 ermittelt dann, ob weitere Prozessdaten abgerufen werden müssen (z. B. über den Prozessdatenleser 224) (Block 716). Wenn es weitere Prozessdaten gibt, durchsucht der beispielhafte Prozess 700 die Deskriptordatei nach einem Variablenobjekt, das zu den angeforderten Prozessdaten passt (Block 708). Wenn jedoch keine weiteren Prozessdaten abzurufen sind, führt der beispielhafte Prozess 700 Ausdrucksobjekte aus, indem Berechnungen an Prozessdaten durchgeführt werden, die durch eine Formel innerhalb des Objekts angegeben werden (z. B. über den Prozessdatenleser 224) (Block 718). Wenn es keine Ausdrucksobjekte gibt, kann der beispielhafte Prozess 700 Block 718 überspringen. Falls die abgerufenen Prozessdaten einem Anzeigetransformationsobjekt entsprechen, führt der beispielhafte Prozess 700 Anweisungen aus, die durch das Objekt angegeben werden, um entsprechende Prozessdaten (z. B. über den Prozessdatenleser 224 und/oder den Renderer 228) anzuzeigen (Block 720). Der beispielhafte Prozess 700 rendert dann die Prozessdaten zur Anzeige in einer Anwendung (z. B. über den Renderer 228) (Block 722). Der beispielhafte Prozess 700 kann die Prozessdaten zur Anzeige unter Verwendung einer EDDL-Datei rendern, die angibt, wie die Prozessdaten in einer Vorlage angezeigt werden sollen. Der Prozess 700 kann die Vorlage mit den Prozessdaten kompilieren, um eine Anzeigedatei zu generieren, die gerendert oder zum Rendern an eine Anwendung übergeben werden kann. Der beispielhafte Prozess 700 endet nach Anzeige der Prozessdaten.
  • Der beispielhafte Prozess 800 der 8A und 8B erstellt eine Deskriptordatei. Der beispielhafte Prozess 800 kann die Deskriptordatei in Reaktion auf eine Anforderung zum Speicher von Prozessdaten oder alternativ in Reaktion auf eine Anforderung zum Erstellen der Deskriptordatei durch Prozesssteuerungspersonal erstellen. Der beispielhafte Prozess 800 von 8A beginnt beispielsweise mit dem Empfangen einer Anforderung, um Prozessdaten in einer Deskriptordatei zu speichern (z. B. über den Editor 202) (Block 802). Der beispielhafte Prozess 800 bestimmt dann eine Beziehung zwischen den Prozessdaten (z. B. über den Editor 202) (Block 804). Zu dem Bestimmen der Beziehung kann das Identifizieren von Typen der Prozessdaten, das Identifizieren von Prozessdaten, die derselben Komponente eines Feldgeräts zugeordnet sind, und/oder das Identifizieren von relativ ähnlichen Prozessdaten gehören.
  • Der beispielhafte Prozess 800 erstellt dann die Deskriptordatei auf Grundlage der Beziehungen der Prozessdaten, indem eine Instanz der Deskriptordatei in beispielsweise der Deskriptordatei-Datenbank 126 der 1 und 2 erstellt wird (z. B. mithilfe des Editors 202) (Block 806). Der beispielhafte Prozess 800 kann die Instanz auf Grundlage eines Schemas (z. B. des beispielhaften Schemas 204 der 3 und 4) erstellen. Der beispielhafte Prozess 800 erstellt dann eine Kopfzeile für die Deskriptordatei auf Grundlage von Identifikationsinformationen, die in den Prozessdaten enthalten sind, und/oder der Anforderung, eine Deskriptordatei zu erstellen (z. B. mithilfe des Editors 202) (Block 808). Der beispielhafte Prozess 800 kann dann einen Dateirumpf erstellen (z. B. über den Editor 202) (Block 810).
  • Der beispielhafte Prozess 800 verwendet das Schema zur Erstellung einer offenen Dateibeschreibung für jede zu erstellende physische Datei auf Grundlage der Beziehung der Prozessdaten (z. B. über den Editor 202) (Block 812). Der beispielhafte Prozess 800 kann die offene(n) Dateibeschreibung(en) auch auf den Dateirumpf referenzieren. Der beispielhafte Prozess 800 erstellt für jede offene Dateibeschreibung einen oder mehrere Abschnitte auf Grundlage des Schemas und/oder der Beziehung der Prozessdaten (z. B. über den Editor 202) (Block 814). Der beispielhafte Prozess 800 erstellt für jeden Abschnitt mindestens einen Dateieintrag auf Grundlage des Schemas und/oder der Beziehung der Prozessdaten (z. B. über den Editor 202) (Block 816).
  • Der beispielhafte Prozess 800 aus 8B fährt fort, indem ein Typ eines Objekts bestimmt wird, das jedem der Dateieinträge zugeordnet werden soll (z. B. mithilfe von Editor 202) (Block 818). Für Prozessdaten, die in einem Sammlungs- und/oder Listenobjekt eines Dateieintrags gespeichert werden sollen, erstellt der beispielhafte Prozess das jeweilige Sammlungs- und/oder Listenobjekt in dem Dateieintrag (z. B. über den Editor 202) (Block 820). Der beispielhafte Prozess 800 indexiert dann die Sammlungs- und/oder Listenobjekte in dem Dateieintrag und/oder dem entsprechenden Abschnitt (z. B. über den Editor 202) (Block 822). Der beispielhafte Prozess 800 kann die Prozessdaten dann in Variablenobjekten von verschachtelten Dateieinträgen speichern, die in dem Sammlungs- und/oder Listenobjekt enthalten sind (z. B. über den Editor 202 und/oder die Datenbankschnittstelle 214) (Block 824).
  • Für Prozessdaten, die in Zuordnung zu einem Ausdrucks- und/oder Anzeigetransformationsobjekt (z. B. E/DT) gespeichert werden sollen, erstellt der beispielhafte Prozess 800 das jeweilige Ausdrucksobjekt und/oder das Anzeigentransformationsobjekt auf Grundlage der Prozessdaten und/oder -informationen, die in der Anforderung enthalten sind (z. B. über den Editor 202) (Block 826). Der beispielhafte Prozess 800 kann dann das Ausdrucksobjekt erstellen, indem eine mathematische Formel generiert wird, die durch das Prozesssteuerungspersonal und/oder eine EDDL-Datei vorgegeben wird. Der beispielhafte Prozess 800 kann in ähnlicher Weise das Anzeigetransformationsobjekt auf Grundlage von Anzeigeinformationen erstellen, die durch eine EDDL-Datei und/oder Prozesssteuerungspersonal angegeben werden. Der beispielhafte Prozess 800 kann dann die Prozessdaten in dem Ausdrucks- und/oder Anzeigetransformationsobjekt als Variablenobjekt speichern, das Ausdrucks- und/oder Anzeigentransformationsobjekt in dem jeweiligen Dateieintrag speichern und den Dateieintrag in dem jeweiligen Abschnitt (z. B. über den Editor 202) indexieren (Block 828).
  • Der beispielhafte Prozess 800 erstellt für Prozessdaten, die in einer Matrix (z. B. einer Referenzmatrix, einer Wertematrix und/oder einer Eintragsmatrix) gespeichert werden sollen, einen Wert für ein Zählerfeld für das Objekt auf Grundlage einer Nummer von Dateieinträgen, um die Prozessdaten zu speichern (z. B. über den Editor 202) (Block 830). Der beispielhafte Prozess 800 kann dann verschachtelte Abschnitte und/oder Dateieinträge erstellen, um die Prozessdaten in Variablenobjekten zu speichern, die in dem Matrixobjekt enthalten sind (z. B. über den Editor 202 und/oder die Datenbankschnittstelle 214) (Block 832). Der beispielhafte Prozess 800 kann die verschachtelten Dateieinträge dann in dem Matrixobjekt (z. B. über den Editor 202) indexieren (Block 834).
  • Obwohl der beispielhafte Prozess 800 die Erstellung von Abschnitten, Dateieinträgen und/oder Objekten auf höherer Ebene beschreibt, kann der beispielhafte Prozess 800 auch über Blöcke 812834 verschachtelte Strukturen (z. B. Abschnitte, Dateieinträge, Objekte usw.) auf Grundlage des Schemas und/oder der Beziehung der Prozessdaten erstellen. Nach dem Erstellen der Deskriptordatei validiert der beispielhafte Prozess 800 die Deskriptordatei unter Verwendung des Schemas (z. B. über den Scanner 208) (Block 836). Der beispielhafte Prozess 800 kann dann auch die Deskriptordatei auf Fehler scannen, die Deskriptordatei tokenisieren und/oder die Deskriptordatei übersetzen. Wenn die Validierung Fehler erkennt, kann der beispielhafte Prozess 800 die Fehler korrigieren und/oder Prozesssteuerungspersonal auffordern, die Fehler zu korrigieren. Nachdem die Deskriptordatei die Validierung bestanden hat, speichert dann der beispielhafte Prozess 800 die Deskriptordatei in der Deskriptordatei-Datenbank 126 (z. B. über den Editor 202 und/oder den Compiler 206) (Block 838). Der beispielhafte Prozess kann dann enden.
  • Der beispielhafte Prozess 900 aus 9 speichert Prozessdaten in einer bereits erstellten Deskriptordatei. Der beispielhafte Prozess 900 beginnt durch Empfangen von Prozessdaten von einer Steuerung (z. B. über die Datenbankschnittstelle 214) (Block 902). In anderen Beispielen kann der Prozess 900 Prozessdaten aus der Datenbank 124 von 1 und/oder jedem anderen Prozessor und/oder Server empfangen, der dem Prozesssteuerungssystem 104 zugeordnet ist. Der beispielhafte Prozess 900 lokalisiert dann die Deskriptordatei in der Deskriptordatei-Datenbank 126, die den empfangenen Prozessdaten entspricht (z. B. über die Datenbankschnittstelle 214) (Block 904). Der beispielhafte Prozess 900 kann eine Kopfzeile und/oder Namen von Variablenobjekten verwenden, um die passende Deskriptordatei zu lokalisieren.
  • Nach dem Lokalisieren einer passenden Deskriptordatei lokalisiert der beispielhafte Prozess 900 einen Dateirumpf und eine offene Dateibeschreibung, die den zu speichernden Prozessdaten entsprechen (z. B. über die Datenbankschnittstelle 214) (Block 906). Der beispielhafte Prozess 900 lokalisiert dann einen Abschnitt und ein Objekt innerhalb eines Dateieintrags des Abschnitts, der zu den zu speichernden Prozessdaten passt (z. B. über die Datenbankschnittstelle 214) (Blöcke 908 und 910). In Beispielen, in denen das Objekt verschachtelte Abschnitte und/oder Dateieinträge einschließt, kann der beispielhafte Prozess 900 die verschachtelten Objekte lokalisieren, die zu den Prozessdaten passen. Der beispielhafte Prozess 900 kann die Prozessdaten dann in einem Wertefeld eines Variablenobjekts speichern, das zu den Prozessdaten passt (z. B. über die Datenbankschnittstelle 214) (Block 912).
  • Der beispielhafte Prozess 900 von 9 fährt fort, indem bestimmt wird, ob weitere Prozessdaten zum Speichern vorliegen. Wenn weitere Prozessdaten vorhanden sind, kehrt der beispielhafte Prozess 900 zu Block 904 zurück und lokalisiert eine entsprechende Deskriptordatei. Wenn jedoch keine weiteren Prozessdaten zum Speichern vorliegen, beendet der beispielhafte Prozess 900 eine Zugriffssitzung mit der Deskriptordatei und/oder speichert die Deskriptordatei mit neu hinzugefügten Prozessdaten in der Deskriptordatei-Datenbank 126. Der beispielhafte Prozess 900 kann dann enden.
  • 10 ist ein Blockdiagramm eines beispielhaften Prozessorsystems P10, das zum Implementieren der beispielhaften Verfahren und Vorrichtungen verwendet werden kann, die hier beschrieben sind. Prozessorsysteme, die dem beispielhaften Prozessorsystem P10 ähnlich oder mit diesem identisch sind, können beispielsweise verwendet werden, um den beispielhaften Editor 202, das beispielhafte Schema 204, den beispielhaften Compiler 206, den beispielhaften Scanner 208, den beispielhaften Tokenisierer 210, den beispielhaften Interpreter 212, die beispielhafte Datenbankschnittstelle 214, den beispielhaften Empfänger 220, den beispielhaften Dateiprozessor 222, den beispielhaften Prozessdatenleser 224, den beispielhaften Renderer 228 und/oder allgemeiner die beispielhafte Anzeigeschnittstelle 102 und/oder den Dateigenerator 108 der 1 und/oder 2 zu implementieren. Obwohl das beispielhafte Prozessorsystem P10 anschließend als eine Vielzahl von Peripheriegeräten, Schnittstellen, Chips, Speichern, usw. einschließend beschrieben wird, können eine oder mehrere dieser Elemente von anderen beispielhaften Prozessorsystemen wegfallen, die verwendet werden, um ein oder mehrere von dem beispielhaften Editor 202, dem beispielhaften Schema 204, dem beispielhaften Compiler 206, dem beispielhaften Scanner 208, dem beispielhaften Tokenisierer 210, dem beispielhaften Interpreter 212, der beispielhaften Datenbankschnittstelle 214, dem beispielhaften Empfänger 220, dem beispielhaften Dateiprozessor 222, dem beispielhaften Prozessdatenleser 224, dem beispielhaften Renderer 228 und/oder allgemeiner der beispielhaften Anzeigeschnittstelle 102 und/oder dem Dateigenerator 108 zu implementieren.
  • Wie in 10 gezeigt ist, schließt das Prozessorsystem P10 einen Prozessor P12 ein, der an einen Verbindungsbus P14 gekoppelt ist. Der Prozessor P12 schließt einen Registersatz oder Registerraum P16 ein, der in 10 vollständig On-Chip dargestellt ist, jedoch alternativ gänzlich oder teilweise außerhalb des Chips angeordnet sein könnte und über dedizierte elektrische Verbindungen und/oder über den Verbindungsbus P14 direkt an den Prozessor P12 gekoppelt sein könnte. Der Prozessor P12 kann jeder geeignete Prozessor, jede geeignete Verarbeitungsanlage oder jeder geeignete Mikroprozessor sein. Das System P10 kann, obwohl dies in 10 nicht gezeigt ist, ein Mehrprozessorsystem sein und somit einen oder mehrere weitere Prozessoren einschließen, die mit dem Prozessor P12 identisch oder diesem ähnlich sind und kommunikativ an den Verbindungsbus P14 gekoppelt sind.
  • Der Prozessor P12 von 10 ist an einen Chipsatz P18 gekoppelt, der einen Speichercontroller P20 (wobei Controller und Steuerung hier synonym verwendet werden) und einen peripheren Eingabe/Ausgabe-(E/A)-Controller P22 einschließt. Ein Chipsatz stellt, wie gut bekannt ist, typischerweise E/A- und Speicherverwaltungsfunktionen sowie eine Vielzahl von Universal- und/oder Spezialregistern, Zeitgebern usw. zur Verfügung, die für einen oder mehrere Prozessoren zugänglich sind oder von diesen verwendet werden, die an den Chipsatz P18 gekoppelt sind. Der Speichercontroller P20 führt Funktionen durch, die dem Prozessor P12 (oder Prozessoren, wenn mehrere Prozessoren vorhanden sind) ermöglichen, auf einen Systemspeicher P24 und einen Massenspeicher P25 zuzugreifen
  • Der Systemspeicher P24 kann jeden gewünschten Typ von flüchtigem und/oder nicht-flüchtigem Speicher zugreifen, wie beispielsweise statischen Direktzugriffspeicher (SRAM), dynamischen Direktzugriffspeicher (DRAM), Flash-Speicher, Festwertspeicher (ROM), usw. Der Massenspeicher P25 kann jeden gewünschten Typ von Massenspeichervorrichtung einschließen. Wenn das beispielhafte Prozessorsystem P10 verwendet wird, um die beispielhafte Deskriptordatei-Datenbank 126 (1 und 2) zu implementieren, kann der Massenspeicher P25 ein Festplattenlaufwerk, ein optisches Laufwerk, ein Bandspeichergerät usw. einschließen. Wenn das beispielhafte Prozessorsystem P10 zur Implementierung der beispielhaften Deskriptordatei-Datenbank 126 verwendet wird, kann der Festspeicher P25 alternativ Festkörperspeicher (z. B. einen Flash-Speicher, einen RAM-Speicher, usw.), einen Magnetspeicher (z. B. eine Festplatte) oder beliebigen anderen Speicher einschließen, der zur Massenspeicherung in der beispielhaften Deskriptordatei-Datenbank 126 geeignet ist.
  • Der periphere E/A-Controller P22 führt Funktionen durch, die dem Prozessor P12 die Kommunikation mit peripheren Eingabe/Ausgabe(E/A)-Geräten P26 und P28 und einer Netzwerkschnittstelle P30 über einen peripheren E/A-Bus P32 ermöglichen. Die E/A-Geräte P26 und P28 können ein beliebiger Typ von E/A-Gerät sein, wie beispielsweise eine Tastatur, eine Anzeige (z. B. eine Flüssigkristallanzeige (LCD), eine Kathodenstrahlröhren(CRT)-Anzeige, usw.), eine Navigationsvorrichtung (z. B. eine Maus, ein Trackball, ein kapazitives Touchpad, ein Joystick, usw.), usw. Die Netzwerkschnittstelle P30 kann beispielsweise ein Ethernetgerät, ein Gerät mit asynchronem Übertragungsmodus (ATM), ein 802.11-Gerät, ein DSL-Modem, ein Kabelmodem, ein Mobilfunkmodem, usw. sein, das dem Prozessorsystem P10 die Kommunikation mit einem anderen Prozessorsystem ermöglicht.
  • Obwohl die Speicher-Controller P20 und der E/A-Controller P22 in 10 als separate Funktionsblöcke innerhalb des Chipsatz P18 abgebildet sind, können die durch diese Blöcke durchgeführten Funktionen in einen einzigen Halbleiterschaltkreis integriert oder unter Verwendung von zwei oder mehr separaten integrierten Schaltkreisen implementiert werden.
  • Mindestens einige der oben beschriebenen beispielhaften Verfahren und/oder Vorrichtungen werden durch ein oder mehrere Software- und/oder Firmware-Programme implementiert, die auf einem Computerprozessor laufen. Es können jedoch auch dedizierte Hardware-Implementierungen einschließlich, jedoch nicht begrenzt auf anwendungsspezifische integrierte Schaltkreise, programmierbare Logikanordnungen und andere Hardware-Geräte in ähnlicher Weise konstruiert werden, um einige oder alle der beispielhaften, hier beschriebenen Verfahren und/oder Vorrichtungen gänzlich oder teilweise zu implementieren. Alternative Software-Implementierungen einschließlich verteilter Verarbeitung oder Komponenten/Objektverteilter Verarbeitung, Parallelverarbeitung oder Verarbeitung auf virtuellen Maschinen, ohne darauf begrenzt zu sein, können auch konstruiert werden, um die hier beschriebenen beispielhaften Verfahren und/oder Systeme zu implementieren.
  • Es sei auch darauf hingewiesen, dass die hier beschriebenen beispielhaften Software- und/oder Firmware-Implementierungen auf einem physischen Speichermedium gespeichert werden, wie: einem magnetischen Medium (z. B. einer Magnetplatte oder einem Magnetband), einem magnetoptischen oder optischen Medium, wie einer optischen Platte, oder einem Festkörpermedium, wie einer Speicherkarte oder anderem Paket, das ein oder mehrere (nichtflüchtige) Festwertspeicher, Direktzugriffspeicher oder andere wiederbeschreibbare (flüchtige) Speicher beherbergt. Die hier beschriebene beispielhafte Software und/oder Firmware kann demnach auf einem physischen Speichermedium wie den oben beschriebenen oder nachfolgenden Speichermedien gespeichert werden. Es sei in dem Maße, in dem die obige Beschreibung beispielhafte Komponenten und Funktionen in Bezug auf bestimmte Standards und Protokolle beschreibt, darauf hingewiesen, dass der Umfang dieses Patents nicht auf diese Standards und Protokolle beschränkt ist.
  • Obwohl dieses Patent beispielhafte Verfahren und Vorrichtungen offenbart, die Software und/oder Firmware einschließen, die auf Hardware ausgeführt werden, sei zudem darauf hingewiesen, dass diese Beispiele lediglich illustrierend sind und nicht als einschränkend angesehen werden sollen. Es ist beispielsweise vorgesehen, dass jegliche oder alle der Hardware- und Software-Komponenten ausschließlich in Hardware, ausschließlich in Software, ausschließlich in Firmware oder in jeglicher Kombination aus Hardware, Firmware und/oder Software verkörpert sein können. Obwohl die obige Beschreibung beispielhafte Verfahren, Systeme und maschinenlesbare Medien beschreibt, sind die Beispiele daher nicht der einzige Weg zur Implementierung derartiger Systeme, Verfahren und maschinenlesbarer Medien. Obwohl hier bestimmte beispielhafte Verfahren, Systeme und maschinenlesbare Medien beschrieben worden sind, ist der Schutzumfang dieses Patents nicht darauf begrenzt. Dieses Patent deckt im Gegenteil alle Verfahren, Systeme und maschinenlesbare Medium ab, die mit Recht entweder wörtlich oder gemäß der Lehre der Gleichwertigkeit unter den Umfang der angefügten Ansprüche fallen.

Claims (29)

  1. Verfahren zum Zugreifen auf Prozessdaten, welches umfasst: Empfangen einer Anforderung von Prozessdaten, die einem Feldgerät zugeordnet sind; Durchsuchen einer Datenbank nach einer Deskriptordatei, die die angeforderten Prozessdaten enthält, und Zugreifen auf die Deskriptordatei, um die Prozessdaten zur Darstellung in einer Anwendung abzurufen, wobei die Prozessdaten unter Verwendung eines Schemas abgerufen werden, welches angibt, dass sich die Prozessdaten in einem Objekt befinden, das von einem Dateieintrag referenziert wird, der Teil eines in der Deskriptordatei enthaltenen Abschnitts eines Dateirumpfs ist.
  2. Verfahren nach Anspruch 1, wobei die Deskriptordatei lokalisiert wird, indem eine Kopfzeile der Gerätedeskriptordatei mit einem Identifikator abgeglichen wird, der dem Feldgerät zugeordnet ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Kopfzeile mindestens eines von einem Herstellernamen, einem Typ des Feldgeräts, einer Major-Version des Feldgeräts, einer Minor-Version des Feldgeräts, einer Maintenance-Version des Feldgeräts, einer Build-Version des Feldgeräts oder einer Modellnummer des Feldgeräts einschließt.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Deskriptordatei ein Extensible Markup Language(XML)-Format zugeordnet ist und dem Schema ein XML-Schema zugeordnet ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 4, wobei die XML-formatierte Deskriptordatei dem XML-Schema entspricht.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Prozessdaten in der Deskriptordatei in einer ersten Hierarchie organisiert sind, die einer zweiten Hierarchie von Komponenten in dem Feldgerät entspricht, das die Prozessdaten generiert.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Deskriptordatei eine Datei in elektronischer Gerätebeschreibungssprache (Electronic Device Description Language; EDDL) beschreibt, die dem Feldgerät zugeordnet ist.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Deskriptordatei ein portierbares Dateiformat zugeordnet ist, das von der Anwendung verwendet wird, um die angeforderten Prozessdaten auf mindestens einem von einem Drahtlosgerät oder einem Arbeitsplatzrechner anzuzeigen.
  9. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Empfangen der Prozessdaten von einer Steuerung innerhalb eines Prozesssteuerungssystems, das kommunikativ an das Feldgerät gekoppelt ist; Lokalisieren des Dateirumpfes innerhalb der Deskriptordatei auf Grundlage des Schemas; Lokalisieren des Abschnitts, der den Prozessdaten entspricht, auf Grundlage des Schemas; Lokalisieren des Dateieintrags in dem Abschnitt, der den Prozessdaten entspricht, auf Grundlage des Schemas; Lokalisieren des Objekts innerhalb des Dateieintrags, das den Prozessdaten entspricht, auf Grundlage des Schemas; und Speichern der Prozessdaten an einem Ort des Objekts innerhalb der Deskriptordatei in einem Format, das durch einen dem Objekt zugeordneten Variablentyp angegeben wird.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Objekt mindestens einem von einer Wertematrix, einer Liste, einer Sammlung, einer Referenzmatrix, einer Eintragsmatrix oder einer Variablen ist.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Dateirumpf eine Dateibeschreibung einschließt, die einen Identifikator des Dateirumpfs angibt.
  12. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Objekt einen zweiten Abschnitt mit einem zweiten Dateieintrag einschließt, der ein zweites Objekt aufführt.
  13. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Objekt einen Ausdruck zur Berechnung eines Wertes unter Verwendung der Prozessdaten in einer mathematischen Formel einschließt.
  14. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Objekt eine Anzeigetransformation einschließt, um anzugeben, wie die Prozessdaten angezeigt werden sollen.
  15. Vorrichtung zum Zugriff auf Prozessdaten, welche umfasst: einen Dateiprozessor, um eine Datenbank nach einer Deskriptordatei zu durchsuchen, die angeforderte Prozessdaten einschließt, die aus einem Feldgerät innerhalb eines Prozesssteuerungssystems stammen, und einen Prozessdatenleser, um auf die Deskriptordatei zuzugreifen, um die Prozessdaten zur Anzeige in einer Anwendung abzurufen, wobei sich die Prozessdaten in einem Objekt befinden, das durch einen Dateieintrag referenziert wird, der Teil eines Abschnitt eines Dateirumpfes ist, der in der Deskriptordatei enthalten ist.
  16. Vorrichtung nach Anspruch 15, die ferner einen Empfänger umfasst, um eine Anforderung für die Prozessdaten zu empfangen.
  17. Vorrichtung nach Anspruch 15 oder 16, wobei die Deskriptordatei einem Schema entspricht, das den Ort der Prozessdaten auf Grundlage eines Typs der Prozessdaten spezifiziert.
  18. Vorrichtung nach einem der Ansprüche 15–17, wobei der Dateiprozessor die Deskriptordatei lokalisieren soll, indem eine Kopfzeile der Gerätedeskriptordatei mit einem Identifikator abgeglichen wird, der dem Feldgerät zugeordnet ist.
  19. Vorrichtung nach einem der Ansprüche 15–18, insbesondere nach Anspruch 18, wobei die Kopfzeile mindestens eines von einem Herstellernamen, einem Typ des Feldgeräts, einer Major-Version des Feldgeräts, einer Minor-Version des Feldgeräts, einer Maintenance-Version des Feldgeräts, einer Build-Version des Feldgeräts oder einer Modellnummer des Feldgeräts einschließt.
  20. Vorrichtung nach einem der Ansprüche 15–19, wobei der Prozessdatenleser die Prozessdaten unter Verwendung einer Beziehung aus einer Datenstruktur abruft, wo die Prozessdaten innerhalb des Feldgeräts generiert werden, um durch die Deskriptordatei zu dem Ort der Prozessdaten zu navigieren.
  21. Vorrichtung nach einem der Ansprüche 15–20, die ferner einen Renderer umfasst, um: eine Anzeigedatei zu generieren, die die Prozessdaten eingebettet in eine Vorlage enthält, und die Anzeigedatei an eine Anwendung zu übertragen, die die Anforderung zur Anzeige der Prozessdaten übertragen hat.
  22. Vorrichtung nach einem der Ansprüche 15–21, die ferner eine Datenbankschnittstelle umfasst, um: die Prozessdaten von einer Steuerung abzurufen, die kommunikativ an das Feldgerät gekoppelt ist; die Deskriptordatei unter Verwendung eines Identifikators innerhalb der Prozessdaten zu lokalisieren; den Dateirumpf innerhalb der Deskriptordatei, die den Prozessdaten entspricht, zu lokalisieren; den Abschnitt, der den Prozessdaten entspricht, zu lokalisieren; den Dateieintrag innerhalb des Abschnitts, der den Prozessdaten entspricht, zu lokalisieren; das Objekt innerhalb des Dateieintrags, der den Prozessdaten entspricht, zu lokalisieren; und die Prozessdaten an einem Ort des Objekts in einem Format zu speichern, das durch einen dem Objekt zugeordneten Variablentyp angegeben wird.
  23. Maschinenlesbares Medium mit darauf gespeicherten Anweisungen, die bei Ausführung bewirken, dass eine Maschine mindestens die Schritte eines Verfahrens gemäß einem der Ansprüche 1–14 ausführt, wobei das Schema ein universelles Prozesssteuerungsdateiformat ist.
  24. Maschinenlesbares Medium nach Anspruch 23, wobei die Anweisungen bei Ausführung bewirken, dass die Maschine die Prozessdaten unter Verwendung einer Beziehung zwischen einer Datenstruktur, wo die Prozessdaten in dem Feldgerät generiert werden, um durch die Deskriptordatei zu navigieren, zu dem Ort der Prozessdaten abruft.
  25. Verfahren zum Erstellen einer Deskriptordatei, umfassend: Empfangen von Prozessdaten, die durch ein Feldgerät übertragen werden und innerhalb der Deskriptordatei gespeichert werden sollen; Bestimmen einer Beziehung zwischen den Prozessdaten; Erstellen eines Dateirumpfes für die Deskriptordatei; Erstellen einer offenen Dateibeschreibung für jede physische Datei, die der Deskriptordatei zugeordnet werden soll, bezogen auf eine Anzahl von den Feldgerät zugeordneten Komponenten; Erstellen eines Abschnitts für die offene Dateibeschreibung, die verwandte Abschnitte von Prozessdaten einschließen; Erstellen eines Dateieintrags innerhalb des Abschnitts; Auswählen eines Objekttyps auf Grundlage eines Typs der Prozessdaten, die in dem Dateieintrag gespeichert werden sollen; Zuweisen eines dem ausgewählten Objekttyp zugeordneten Objekts zu dem Dateieintrag; und Speichern der Prozessdaten in dem Objekt.
  26. Verfahren nach Anspruch 25, ferner umfassend das Erstellen einer Kopfzeile für die Deskriptordatei unter Verwendung von dem Feldgerät zugeordneten Identifizierungsinformationen, die in den Prozessdaten enthalten sind.
  27. Verfahren nach Anspruch 25 oder 26, wobei die Kopfzeile mindestens eines von einem Herstellernamen, einem Typ des Feldgeräts, einer Major-Version der Deskriptordatei, einer Minor-Version der Deskriptordatei, einer Maintenance-Version des Feldgeräts, einer Build-Version des Feldgeräts oder einer Modellnummer des Feldgeräts einschließt.
  28. Verfahren nach einem der Ansprüche 25–27, wobei das Bestimmen der Beziehung zwischen den Prozessdaten einschließt: Bestimmen einer den Prozessdaten zugeordneten Hierarchie auf Grundlage einer Datei in elektronischer Gerätebeschreibungssprache (Electronic Device Description Language; EDDL), die dem Feldgerät entspricht; Bestimmen, welche Abschnitte der Prozessdaten einer Komponente des Feldgeräts zugeordnet sind; und Identifizieren des Typs der Prozessdaten.
  29. Verfahren nach einem der Ansprüche 25–28, wobei das Objekt eine Anzeigetransformation einschließt, die Anweisungen einschließt, welche beschreiben, wie die Prozessdaten in einer Anwendung angezeigt werden sollen.
DE102011053951A 2010-09-27 2011-09-27 Verfahren und Vorrichtung zum Verwalten von Prozessdaten Pending DE102011053951A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/891,133 2010-09-27
US12/891,133 US9229947B2 (en) 2010-09-27 2010-09-27 Methods and apparatus to manage process data

Publications (1)

Publication Number Publication Date
DE102011053951A1 true DE102011053951A1 (de) 2012-03-29

Family

ID=44994022

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011053951A Pending DE102011053951A1 (de) 2010-09-27 2011-09-27 Verfahren und Vorrichtung zum Verwalten von Prozessdaten

Country Status (5)

Country Link
US (1) US9229947B2 (de)
JP (2) JP2012074037A (de)
CN (2) CN102567437B (de)
DE (1) DE102011053951A1 (de)
GB (1) GB2484008B (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014112226A1 (de) 2014-08-26 2016-03-03 Endress + Hauser Process Solutions Ag Verfahren zum Übertragen von Feldgerätedaten
EP3168699A1 (de) 2015-11-12 2017-05-17 Sick Ag Verfahren mit einem suchprogramm und einem suchfeld
DE102020120456A1 (de) 2020-08-03 2022-02-03 Endress+Hauser Conducta Gmbh+Co. Kg Messwertverarbeitungssystem und Messwertverarbeitungsverfahren

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5122000B2 (ja) 2009-03-23 2013-01-16 三菱電機株式会社 A/d変換装置およびプログラマブルコントローラシステム
DE102010063854A1 (de) * 2010-12-22 2012-07-12 Codewrights Gmbh Verfahren zum Bereitstellen von gerätespezifischen Informationen eines Feldgeräts der Automatisierungstechnik und/oder zum Bedienen eines Feldgeräts
JP5734449B2 (ja) * 2012-02-14 2015-06-17 株式会社Nttドコモ フェムト基地局装置、オペレーションシステム
US9047300B2 (en) * 2012-05-24 2015-06-02 Microsoft Technology Licensing, Llc Techniques to manage universal file descriptor models for content files
US9069781B2 (en) 2012-05-24 2015-06-30 Microsoft Technology Licensing, Llc Techniques to automatically manage file descriptors
US8775385B2 (en) 2012-05-24 2014-07-08 Microsoft Corporation Techniques to modify file descriptors for content files
US10417314B2 (en) * 2012-06-14 2019-09-17 Open Text Sa Ulc Systems and methods of a script generation engine
US8930324B2 (en) * 2012-06-15 2015-01-06 Russell A. Blaine Guarded file descriptors
EP2752724B1 (de) * 2013-01-08 2016-06-01 VEGA Grieshaber KG Verfahren zur Kontrolle von Feldgeräten, Steuergerät, Programmelement und computerlesbares Medium
US9038004B2 (en) * 2013-10-23 2015-05-19 International Business Machines Corporation Automated integrated circuit design documentation
US9720396B2 (en) * 2014-05-23 2017-08-01 Fisher-Rosemount Systems, Inc. Methods and apparatus to configure process control systems based on generic process system libraries
DE102016200231A1 (de) * 2016-01-12 2017-07-13 Krones Ag Behälterbehandlungsanlage zum Behandeln von Behältern
US10353882B2 (en) 2016-06-30 2019-07-16 Adobe Inc. Packaging data science operations
US10133452B2 (en) * 2016-06-30 2018-11-20 Adobe Systems Incorporated Facilitating data science operations
US10394814B2 (en) * 2017-03-08 2019-08-27 Palantir Technologies Inc. Storing nested complex data structures in a data store
US20190042633A1 (en) * 2017-08-04 2019-02-07 Yokogawa Electric Corporation System and method for managing devices using snapshot parameter search
US10514898B2 (en) * 2017-08-10 2019-12-24 Raju Pandey Method and system to develop, deploy, test, and manage platform-independent software
US10671802B2 (en) * 2018-07-24 2020-06-02 Red Hat, Inc. Tiered variables for a graphical user interface
US11714394B2 (en) * 2018-09-28 2023-08-01 Fisher-Rosemount Systems, Inc Bulk commissioning of field devices within a process plant
US11941139B2 (en) * 2020-12-10 2024-03-26 Disney Enterprises, Inc. Application-specific access privileges in a file system

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3122154B2 (ja) * 1991-03-18 2001-01-09 株式会社東芝 運転操作支援装置
US5390314A (en) 1992-10-09 1995-02-14 American Airlines, Inc. Method and apparatus for developing scripts that access mainframe resources that can be executed on various computer systems having different interface languages without modification
US6219718B1 (en) 1995-06-30 2001-04-17 Canon Kabushiki Kaisha Apparatus for generating and transferring managed device description file
US6094600A (en) 1996-02-06 2000-07-25 Fisher-Rosemount Systems, Inc. System and method for managing a transaction database of records of changes to field device configurations
US5828851A (en) 1996-04-12 1998-10-27 Fisher-Rosemount Systems, Inc. Process control system using standard protocol control of standard devices and nonstandard devices
US7146230B2 (en) 1996-08-23 2006-12-05 Fieldbus Foundation Integrated fieldbus data server architecture
US5864870A (en) 1996-12-18 1999-01-26 Unisys Corp. Method for storing/retrieving files of various formats in an object database using a virtual multimedia file system
US6263255B1 (en) * 1998-05-18 2001-07-17 Advanced Micro Devices, Inc. Advanced process control for semiconductor manufacturing
US6618630B1 (en) 1999-07-08 2003-09-09 Fisher-Rosemount Systems, Inc. User interface that integrates a process control configuration system and a field device management system
ATE287101T1 (de) 1999-11-01 2005-01-15 Abb Research Ltd Integration eines feldleitgerätes in ein anlagenleitsystem
US6826555B2 (en) * 2000-07-24 2004-11-30 Centor Software Corporation Open format for file storage system indexing, searching and data retrieval
US7162534B2 (en) 2001-07-10 2007-01-09 Fisher-Rosemount Systems, Inc. Transactional data communications for process control systems
DE10144332A1 (de) 2001-09-10 2003-04-03 Siemens Ag Verfahren zur Übertragung eines Prozesswerts und Steuerungssystem
AU2002334721B2 (en) 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
US6842660B2 (en) * 2001-10-31 2005-01-11 Brooks Automation, Inc. Device and method for communicating data in a process control system
DE10157323A1 (de) 2001-11-23 2003-06-18 Endress & Hauser Process Solut Verfahren zum Bedienen eines Feldgerätes
US7089491B2 (en) 2002-05-03 2006-08-08 Microsoft Corporation System and method for enhancing XML schemas
EP1359504A1 (de) 2002-05-03 2003-11-05 SAUER &amp; Partner GmbH Verfahren zur Konfiguration bzw. Steuerung einer elektronisch steuerbaren, modularen Anlage
US20040225491A1 (en) 2003-05-08 2004-11-11 Taiwan Semiconductor Manufacturing Co., Ltd. Generic script template engine repository adapter system and method of use
US20040230582A1 (en) 2003-05-13 2004-11-18 Pagnano Marco Aurelio De Oliveira Arrangement, storage medium and method for providing information which is obtained via a device type manager, and transmitted in an extensible mark-up language format or a hypertext mark-up language format
US7882146B2 (en) 2003-12-01 2011-02-01 Microsoft Corporation XML schema collection objects and corresponding systems and methods
US7251534B2 (en) 2003-12-04 2007-07-31 Honeywell International Inc. System and method for communicating device descriptions between a control system and a plurality of controlled devices
US7178103B2 (en) 2004-02-03 2007-02-13 Invensys Systems, Inc. Systems and methods for storing configuration data in process control systems
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
DE102004040282A1 (de) 2004-08-19 2006-03-09 Siemens Ag Parameteridentifikation für Feldgeräte in der Automatisierungstechnik
US20060074499A1 (en) 2004-10-01 2006-04-06 Rafie Hamidpour System and method for industrial process control
US7620889B2 (en) 2004-12-20 2009-11-17 Microsoft Corporation Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements
US7317952B2 (en) 2005-04-07 2008-01-08 Honeywell International Inc. Managing field devices having different device description specifications in a process control system
US20060259456A1 (en) 2005-05-10 2006-11-16 Alexander Falk System for describing text file formats in a flexible, reusable way to facilitate text file transformations
US20060288185A1 (en) * 2005-06-17 2006-12-21 Dell Products L.P. System and method for implementing a common descriptor format
US8055727B2 (en) 2005-09-22 2011-11-08 Fisher-Rosemount Systems, Inc. Use of a really simple syndication communication format in a process control system
US8782539B2 (en) * 2005-10-05 2014-07-15 Invensys Systems, Inc. Generic utility supporting on-demand creation of customizable graphical user interfaces for viewing and specifying field device parameters
US20070078540A1 (en) 2005-10-05 2007-04-05 Invensys Systems, Inc. Utility for comparing deployed and archived parameter value sets within a field device editor
US20070143330A1 (en) 2005-12-16 2007-06-21 Harry Tang Processing an XML schema
EP2011009A4 (de) * 2006-04-11 2011-06-29 Invensys Sys Inc Verfahren und konfigurationsunterstützende benutzerschnittstellen für rationalisierte installierung von ersatzfeldgeräten
US8266602B2 (en) 2006-05-31 2012-09-11 Honeywell International Inc. Apparatus and method for converting between device description languages in a process control system
US8345710B2 (en) 2006-11-10 2013-01-01 Fisher-Rosemount Systems, Inc. FDT for EDDL-based field devices
EP2075658A1 (de) * 2007-12-31 2009-07-01 Tetra Laval Holdings & Finance SA Integrierte Verpackungssystemarchitektur
EP2109020B1 (de) * 2008-04-10 2012-11-28 Siemens Aktiengesellschaft Automatisierungssystem und Verfahren zur Diagnose, Anpassung oder Optimierung eines Automatisierungsgeräts
US7983892B2 (en) * 2008-05-20 2011-07-19 Honeywell International Inc. System and method for accessing and presenting health information for field devices in a process control system
US8229575B2 (en) * 2008-09-19 2012-07-24 Rockwell Automation Technologies, Inc. Automatically adjustable industrial control configuration
EP2187571B1 (de) * 2008-11-12 2011-06-15 VEGA Grieshaber KG Generieren einer Gerätebeschreibung für ein Messgerät
US8145333B2 (en) * 2008-12-01 2012-03-27 Rockwell Automation Technologies, Inc. Ontology-based system and method for industrial control
US20110022978A1 (en) * 2009-07-23 2011-01-27 Rockwell Automation Technologies, Inc. Intelligent device framework
US8155761B2 (en) * 2009-07-23 2012-04-10 Fisher-Rosemount Systems, Inc. Process control system with integrated external data sources

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014112226A1 (de) 2014-08-26 2016-03-03 Endress + Hauser Process Solutions Ag Verfahren zum Übertragen von Feldgerätedaten
EP3168699A1 (de) 2015-11-12 2017-05-17 Sick Ag Verfahren mit einem suchprogramm und einem suchfeld
DE102020120456A1 (de) 2020-08-03 2022-02-03 Endress+Hauser Conducta Gmbh+Co. Kg Messwertverarbeitungssystem und Messwertverarbeitungsverfahren
EP3952322A1 (de) * 2020-08-03 2022-02-09 Endress + Hauser Conducta GmbH+Co. KG Elektronikeinheit, messwertverarbeitungssystem und messwertverarbeitungsverfahren

Also Published As

Publication number Publication date
JP2012074037A (ja) 2012-04-12
CN102567437B (zh) 2017-09-08
CN107562937B (zh) 2020-10-23
CN102567437A (zh) 2012-07-11
US20120078968A1 (en) 2012-03-29
US9229947B2 (en) 2016-01-05
CN107562937A (zh) 2018-01-09
GB2484008B (en) 2019-09-25
GB201116612D0 (en) 2011-11-09
JP6546308B2 (ja) 2019-07-17
GB2484008A (en) 2012-03-28
JP2018110030A (ja) 2018-07-12

Similar Documents

Publication Publication Date Title
DE102011053951A1 (de) Verfahren und Vorrichtung zum Verwalten von Prozessdaten
JP6543380B2 (ja) プロセス制御情報を表示する方法及び装置、機械がアクセス可能な媒体、及びデバイス記述ファイル内にスクリプト拡張機能を作成する方法
DE102011053124A1 (de) Verfahren und Geräte zum Anzeigen von lokalisierten Prozessregelungsobjekten
DE102011001524A1 (de) Verfahren und Vorrichtung zum Anzeigen von Prozessdaten
JP6190570B2 (ja) プロセス制御システムに検索サービスを提供するためのシステム、方法、および製品
US9285799B2 (en) Methods and apparatus to dynamically display data associated with a process control system
EP2789145B1 (de) Vorrichtung zur bedienung von mindestens einem feldgerät der automatisierungstechnik
DE602005005924T2 (de) Einheitliches Datenformat für Messgeräte
DE102011001528A1 (de) Verfahren und Vorrichtungen zum Zugreifen auf Prozessdaten, die auf einem Server gespeichert sind
DE102011053846A1 (de) Verfahren und Vorrichtung zum Verwalten von Prozesssteuerungssuchergebnissen
DE112004001775T5 (de) Verfahren und Vorrichtung zur Bereitstellung von automatischen Software-Updates
DE102010036914A1 (de) Systemkonfiguration unter Verwendung von Vorlagen
DE102010038146A1 (de) Verfahren zum Auswählen von Formen in einer Grafikanzeige
DE102011053851A1 (de) Serviceorientiertes Framework zur Kommunikation mit Geräten in einem Prozesssteuerungssystem
EP0928453B1 (de) System zur übersetzung von dateien mit visuellen wiedergabeobjekten und methode zur durchführung
WO2010020661A1 (de) Verfahren zum bestimmen einer statischen datenstruktur eines feldgerätes
EP3850443B1 (de) Verfahren zur integration von daten von assets einer technischen anlage in eine plattform, digitale plattform und computerprogrammprodukt
EP1515207A1 (de) Automatisierungsobjekt und Verfahren zur Beschreibung eines Automatisierungsobjektes unter Verwendung einer Metasprache
DE102008043198A1 (de) Feldgerät der Prozessautomatisierungstechnik
EP1621945B1 (de) Konsistenzsicherung in einem Automatisierungssystem
DE202021106310U1 (de) Computerimplementiertes Prozessmodul
Zhang et al. Research on EDDL

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000