DE102011001524A1 - Verfahren und Vorrichtung zum Anzeigen von Prozessdaten - Google Patents

Verfahren und Vorrichtung zum Anzeigen von Prozessdaten Download PDF

Info

Publication number
DE102011001524A1
DE102011001524A1 DE102011001524A DE102011001524A DE102011001524A1 DE 102011001524 A1 DE102011001524 A1 DE 102011001524A1 DE 102011001524 A DE102011001524 A DE 102011001524A DE 102011001524 A DE102011001524 A DE 102011001524A DE 102011001524 A1 DE102011001524 A1 DE 102011001524A1
Authority
DE
Germany
Prior art keywords
process data
data
template
client
web
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
DE102011001524A
Other languages
English (en)
Inventor
Mark J. Nixon
Lee Allen Neitzel
Ling Zhou
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
Priority claimed from US12/730,895 external-priority patent/US9122764B2/en
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE102011001524A1 publication Critical patent/DE102011001524A1/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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

Abstract

Es werden beispielhafte Verfahren und eine Vorrichtung zur Anzeige von Prozessdaten offenbart. Ein offenbartes beispielhaftes Verfahren schließt ein: Empfangen einer Anforderung zum Betrachten von Prozessdaten über einen Webbrowser, Identifizieren eines Servers, der die Prozessdaten speichert, wobei der Server die Prozessdaten von einem Prozesssteuerungssystem empfängt, Abrufen der Prozessdaten von dem Server, Auswählen einer Extensible Stylesheet Language Transformation(XSLT)-Vorlage basierend auf einer Eigenschaft der Prozessdaten und Generieren einer Anzeigedatei, die einem Webbrowser-Format entspricht, basierend auf der XSLT-Vorlage, der Eigenschaft und den Prozessdaten, wobei die Anzeigedatei spezifiziert, wie die Prozessdaten über den Webbrowser angezeigt werden sollen.

Description

  • VERWANDTE ANMELDUNG
  • Diese Anmeldung ist eine Teilfortführungsanmeldung der US-Patentanmeldung Nr. 12/730,895, eingereicht am 24. März 2010, auf die hier in vollem Umfang Bezug genommen wird.
  • GEBIET DER OFFENBARUNG
  • Die vorliegende Offenbarung betrifft allgemein Prozesssteuerungssysteme und insbesondere Verfahren und eine Vorrichtung zum Anzeigen von Prozessdaten.
  • HINTERGRUND
  • Datensysteme wie Steuerungssysteme, Fertigungsautomationssysteme und andere industrielle Systeme wie jene, die in chemischen, Erdöl- und anderen Prozessen verwendet werden, können Daten auf einem Server speichern, um autorisierten Benutzern von jedem Ort aus den Zugriff auf die Daten zu gestatten. Die Daten können typischerweise auf Servern gespeichert werden, die sich an ein Interoperabilitäts-Datenpackungsformat halten, wie beispielsweise OPC. Das OPC ist ein Satz von Standards, die protokollbasierte Schnittstellen für Server definieren, die Zugriff auf industrielle Prozessdaten, Automatisierungsdaten, Fertigungsdaten und/oder Chargendaten bereitstellen.
  • Clients können zurzeit die Verbindung zu einem Server herstellen, der mit einem Interoperabilitäts-Datenpackungsformat assoziiert ist, indem eine Anwendung erstellt wird, die für den Server oder einen auf dem Server gespeicherten Datentyp spezifisch ist. Eine Anwendung kann beispielsweise als ausführbares Programm in einer prozeduralen Programmiersprache geschrieben werden, die auf einer bestimmten Betriebsplattform läuft und sich an ein Kommunikationsprotokoll eines entsprechenden Interoperabilitäts-Datenpackungsformats hält, das von einem Server verwendet wird. Die Anwendung kann von einem Server-Anbieter oder einem Client-Anbieter erstellt werden, der die Anwendung speziell für den bestimmten Server konfiguriert. In Beispielen, in denen ein Client auf Daten zugreifen muss, die auf mehreren Servern gespeichert sind, muss möglicherweise eine separate Anwendung für jeden Server erstellt werden, um den spezifischen Schnittstellenanforderungen der Server zu entsprechen. Jede dieser Anwendungen muss möglicherweise außerdem modifiziert werden, wenn die auf dem entsprechenden Server gespeicherten Daten auf einen anderen Server migriert werden und/oder wenn die Schnittstellenanforderungen des Servers geändert werden.
  • ZUSAMMENFASSUNG
  • Es werden beispielhafte Verfahren und Vorrichtungen zur Anzeige von Prozessdaten beschrieben. In einem Beispiel umfasst ein Verfahren das Empfangen einer Anforderung zum Betrachten von Prozessdaten über einen Webbrowser und Identifizieren eines Servers, der die Prozessdaten speichert, wobei der Server die Prozessdaten von einem Prozesssteuerungssystem empfängt. Das beispielhafte Verfahren umfasst auch das Abrufen der Prozessdaten von dem Server und Auswählen einer Extensible Stylesheet Language Transformation(XSLT)-Vorlage basierend auf einer Eigenschaft der Prozessdaten. Das beispielhafte Verfahren umfasst ferner das Generieren einer Anzeigedatei, die einem Webbrowserformat entspricht, basierend auf der XSLT-Vorlage, der Eigenschaft und den Prozessdaten, wobei die Anzeigedatei spezifiziert, wie die Prozessdaten über den Webbrowser angezeigt werden sollen.
  • Eine beispielhafte Vorrichtung schließt einen Adapter zum Identifizieren eines Servers ein, der angeforderte Prozessdaten speichert, wobei der Server die Prozessdaten von einem Prozesssteuerungssystem empfängt. Der beispielhafte Adapter dient auch zum Zugreifen auf die Prozessdaten von dem Server. Die beispielhafte Vorrichtung umfasst auch einen Datenprozessor zum Auswählen einer Vorlage basierend auf einer Eigenschaft der Prozessdaten. Die beispielhafte Vorrichtung umfasst ferner eine webbasierte Schnittstelle zum Generieren einer Anzeigedatei, die einem Webbrowserformat entspricht, basierend auf der Vorlage, der Eigenschaft und den Prozessdaten, wobei die Anzeigedatei spezifiziert, wie die Prozessdaten über eine Client-Anwendung angezeigt werden sollen.
  • Ein Aspekt der Erfindung betrifft ein maschinenlesbares Medium mit darauf gespeicherten Anweisungen, die bei Ausführung bewirken, dass eine Maschine mindestens folgendes ausführt:
    Empfangen einer Anforderung zum Betrachten von Prozessdaten über einen Webbrowser;
    Identifizieren eines Servers, der die Prozessdaten speichert, wobei der Server die Prozessdaten von einem Prozesssteuerungssystem empfängt, wobei der Server mit einem Interoperabilitäts-Datenpackungsformat assoziiert ist;
    Abrufen der Prozessdaten von dem Server;
    Auswählen einer Extensible Stylesheet Language Transformation(XSLT)-Vorlage basierend auf einer Eigenschaft der Prozessdaten, und
    Generieren einer Anzeigedatei, die einem Webbrowserformat entspricht, basierend auf der XSLT-Vorlage, der Eigenschaft und den Prozessdaten, wobei die Anzeigedatei spezifiziert, wie die Prozessdaten über den Webbrowser angezeigt werden sollen.
  • Besonders bevorzugt wird ein maschinenlesbares Medium, bei dem die maschinenlesbaren Anweisungen bei Ausführung bewirken, dass die Maschine die Anzeigedatei generiert durch:
    Kombinieren der XSLT-Vorlage mit den Prozessdaten und
    Konvertieren der kombinierten XSLT-Vorlage und der Prozessdaten in das Webbrowserformat.
  • Besonders bevorzugt wird ein maschinenlesbares Medium, bei dem die maschinenlesbaren Anweisungen bei Ausführung bewirken, dass die Maschine die XSLT-Vorlage mit den Prozessdaten kombiniert durch:
    Identifizieren eines Parameters in der XSLT-Vorlage;
    Identifizieren von Teilen der Prozessdaten, die dem Parameter entsprechen, und
    Referenzieren der Parameter auf die entsprechenden Teile der Prozessdaten.
  • Besonders bevorzugt wird ein maschinenlesbares Medium, bei dem die maschinenlesbaren Anweisungen bei Ausführung bewirken, dass die Maschine folgendes ausführt:
    Auswählen der XSLT-Vorlage basierend auf einem Vorrichtungstyp, der die Anforderung überträgt; und
    Generieren der Anzeigedatei basierend auf der gewählten XSLT-Vorlage, um einem Anzeigebereich der Vorrichtung zu entsprechen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das eine Steuerungsumgebung mit einem beispielhaften Steuerungssystem veranschaulicht, das kommunikativ an einen externen Server gekoppelt ist, auf den ein Client über einen Webseitenserver, der einen Wrapper einschließt, zugreifen kann.
  • 2 ist ein Funktionsdiagramm des beispielhaften Wrappers von 1.
  • 3 ist ein Blockdiagramm eines beispielhaften dienstorientierten Frameworks, das zum Implementieren des beispielhaften Wrappers der 1 und 2 verwendet werden kann.
  • 4 zeigt eine beispielhafte Schnittstelle für Serveridentifizierungs-Prozessdaten, die in einem Webbrowser angezeigt werden.
  • 5 zeigt eine beispielhafte Schnittstelle für Prozessdaten, die in einem Webbrowser angezeigt werden.
  • 6 zeigt eine beispielhafte Schnittstelle, die mit dem beispielhaften Wrapper der 1 und/oder 2 kommuniziert, um Prozessdaten in einem Webbrowser anzuzeigen.
  • 7A und 7B zeigen eine beispielhafte Schnittstelle, die auf einer Drahtlos-Vorrichtung angezeigt wird, die mit dem beispielhaften Wrapper der 1 und/oder 2 kommuniziert, um Prozessdaten in einer Client-Anwendung anzuzeigen.
  • 8 zeigt eine beispielhafte Schnittstelle, um Prozessdaten in einem Webbrowser anzuzeigen.
  • 9A9C sind Flussdiagramme eines beispielhaften Verfahrens, das zum Implementieren des beispielhaften Wrappers der 1 und/oder 2 verwendet werden kann.
  • 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 beispielsweise im Zusammenhang mit Extensible Stylesheet Language Transformation(XSLT)-Vorlagen beschrieben sind, können die beispielhaften Verfahren und Vorrichtungen in jeglichem anderen Vorlagenformat implementiert werden (z. B. Extensible Markup Language(XML)-Vorlagen, Electronic Device Description Language(EDDL)-Vorlagen, usw.), die in industriellen Anwendungen, Fertigungsanwendungen, Prozesssteuerungsanwendungen, Automatisierungsanwendungen usw. verwendet werden.
  • Prozesssteuerungssysteme schließen allgemein Controller ein, um Routinen, Steuerungsstrategien und/oder Algorithmen durchzuführen, die Feldvorrichtungen verwalten, die sich in dem Steuerungssystem befinden. Die Feldvorrichtungen können beispielsweise Ventile, Ventilstellungsregler, Schalter und Sender sein, und sie können Prozesssteuerungsfunktionen durchführen, wie Öffnen oder Schließen von Ventilen und Messen von Prozesssteuerungsparametern. Zusätzlich zum Verwalten von Feldvorrichtungen können Controller auch Prozessdaten basierend auf von den Feldvorrichtungen empfangenen Daten generieren. Zu den Prozessdaten können Prozessstatistiken, Alarme, Überwachungsinformationen, Trendinformationen des Prozesses, diagnostische Informationen, Statusinformationen der Feldvorrichtungen und/oder Meldungen von den Feldvorrichtungen gehören.
  • Controller übertragen Prozesssteuerungsinformationen an Anwendungen, die auf Workstations arbeiten, so dass die Bedienungspersonen das Prozesssteuerungssystem verwalten können. Anwendungen zeigen Prozesssteuerungsinformationen in der Regel als mindestens eine grafische Datendarstellung in einer Benutzeroberfläche an. Datendarstellungen sind für Bedienungspersonen hilfreich, da diese Datendarstellungen typischerweise Prozesssteuerungsinformationen grafisch in Form von Diagrammen, Grafiken, Datentabellen, Auswahllisten, grafischen Symbolen, Text, usw. anzeigen.
  • Damit externe Benutzer auf ein Prozesssteuerungssystem zugreifen können, um Prozessdaten zu betrachten, können einige Prozesssteuerungssysteme ein oder mehrere externe Steuerungssystemserver verwenden, um Prozessdaten zu speichern. Die Prozesssteuerungssysteme schreiben (z. B. über den Controller) periodisch, oder alternativ wenn die Prozessdaten generiert werden, Prozessdaten auf die externen Server. Außerhalb des Prozesssteuerungssystems befindliche Benutzer können auf die externen Server zugreifen, um Prozessdaten zu betrachten. In einigen Beispielen können Benutzer auch die Prozessdaten modifizieren, wodurch Veränderungen am Betrieb des Prozesssteuerungssystems bewirkt werden.
  • Zurzeit werden Prozessdaten auf externen Servern in einem Interoperabilitäts-Datenpackungsformat gespeichert. Viele unterschiedliche Typen von Interoperabilitäts-Datenpackungsformaten ermöglichen einem Prozesssteuerungsverwalter die effiziente Speicherung von signifikanten Mengen an Prozesssteuerungsdaten (z. B. Terabytes an Prozesssteuerungsdaten) in einem komprimierten Format. Diese Interoperabilitäts-Datenpackungsformate ermöglichen den relativ raschen Zugriff auf die komprimierten Prozessdaten auf Anforderung eines Benutzers. Die Interoperabilitäts-Datenpackungsformate ermöglichen auch das Organisieren von Prozessdaten basierend auf einem Prozess, einem Prozesssteuerungsbereich, einem Feldvorrichtungstyp und/oder jeglichem anderen Organisationsverfahren, das von Prozesssteuerungspersonal angegeben wird.
  • Ein derartiges Interoperabilitäts-Datenpackungsformat ist OPC. Die OPC Foundation veröffentlicht einen Satz von OPC-Spezifikationen, die programmatische Schnittstellen definieren, die von Webbrowsern und/oder Client-Programmanwendungen (z. B. Adobe® Flash® Player) verwendet werden können, um auf externe Server zuzugreifen, die Prozessdaten hosten. Diese Schnittstellen sind in Form von Methoden und/oder Instanzen definiert, die innerhalb der Server initiiert werden können. Die OPC-Spezifikationen geben ferner Parameter an, die von OPC-verwandten Servern an anfordernde Client-Anwendungen übergeben werden können. Die OPC-Spezifikationen definieren Schnittstellen, die unterschiedliche Protokolle verwenden können, die in prozeduralen Programmiersprachen geschrieben sind, wie beispielsweise C++, Visual Basic und/oder C#.
  • Um auf Server zuzugreifen, die Prozessdaten speichern, erstellen Clients zurzeit Anwendungen, die in einer prozeduralen Programmiersprache geschriebene ausführbare Programme sind, um sich an die Protokolle der Interoperabilitäts-Datenpackungsschnittstellen auf diesen Servern zu halten. Die Anwendungen werden erstellt, um einem oder mehreren Benutzern unabhängig von dem Aufenthaltsort des Benutzen Zugang zu liefern, um Prozessdaten und/oder jeglichen anderen Datentyp, der sich auf einem Server speichern lässt, zu lesen, zu schreiben und/oder zu abonnieren. Die Anwendungen können auf jeglicher Computervorrichtung betrieben werden (z. B. PC, Laptop, Smartphone, Netpad, usw.), so dass ein Benutzer an jedem Ort auf Prozessdaten zugreifen kann. In anderen Beispielen können die Anwendungen auf assoziierten Servern als personalisierte Webseite gehostet werden, die auf Laufzeit-Frameworks, Datenbanken und/oder andere Datenquellen zugreift. Ein autorisierter Benutzer kann über jede Vorrichtung auf diese Anwendung zugreifen, die eine Verbindung zum Internet aufbauen kann.
  • Die Client-Anwendungen können vordefinierte Datenfelder aufweisen, die Verzeichnisorte auf einem Server querreferenzieren können, der sich an ein Interoperabilitäts-Datenpackungsformat hält. Die Anwendung kann die Datenfelder bezogen auf den Prozessdatentyp (z. B. einen Objekttyp) für eine spezielle Anzeige vorformatieren (z. B. Textfelder, Grafiken, Diagramme, Tabellen, usw.). Die Client-Anwendungen können zudem für eine Plattform und/oder ein Kommunikationsprotokoll erstellt werden, die/das für einen Server spezifisch ist. Client-Anwendungen werden beispielsweise typischerweise mit Adressen kodiert, die gewünschten externen Servern entsprechen. Aufgrund dieser kodierten Funktionen und Referenzen auf Verzeichnisorte auf einem Server sind die Client-Anwendungen in der Regel statisch und können nur mit einem speziellen Server kommunizieren.
  • Indem eine spezialisierte Client-Anwendung für jeden Server und/oder eine Anwendung für jeden Datenabschnitt von einem Server vorhanden ist, muss ein Client (z. B. eine Bedienungsperson oder ein Ingenieur von einer Prozessanlage) möglicherweise zahlreiche Anwendungen entwickeln, um auf Daten auf einem oder mehreren externen Servern zuzugreifen. Wenn eine Schnittstelle zu einem Server modifiziert wird, ein Datenverzeichnis auf einem Server modifiziert wird und/oder Prozessdaten auf einen anderen Server migrieren, muss die entsprechende Client-Anwendung ebenfalls modifiziert werden, um diese Änderungen widerzuspiegeln oder sich ihnen anzupassen. Wenn Client-Anwendungen periodisch aktualisiert werden müssen, um auf Prozessdaten auf einem Server zuzugreifen, kann dies zu Fällen führen, in denen einige Clients möglicherweise nicht auf Prozessdaten zugreifen können. Änderungen an Speicherorten der Prozessdaten können zudem zu gebrochenen Links zwischen einer Client-Anwendung und den Prozessdaten führen, die auf einem Server gehostet werden.
  • Die hier beschriebenen beispielhaften Verfahren und Vorrichtungen ermöglichen einer Client-Anwendung an einem Client-Ort, über einen Wrapper auf jeden beliebigen Server zuzugreifen. Der beispielhafte Wrapper wirkt als Schnittstelle zwischen dem Client und einem Server, indem Datenfelder und/oder Datenanzeigen basierend auf den Prozessdaten erstellt werden, die der Client angefordert hat. Der beispielhafte Wrapper kann Informationen vom Objekttyp (z. B. Typen von Prozessdaten) verwenden, die mit den angeforderten Prozessdaten assoziiert sind, um eine XSLT-Vorlage auszuwählen.
  • Der beispielhafte Wrapper kann auch eine XSLT-Vorlage basierend auf einem Vorrichtungstyp auswählen, der die Prozessdaten anfordert. Wenn beispielsweise eine ProzessdatenAnforderung von einer Vorrichtung mit einem relativ großen Bildschirmbereich (z. B. einem PC) erhalten wird, kann der Wrapper einen Satz von Vorlagen auswählen, die für einen größeren Bildschirm konfiguriert sind. Der beispielhafte Wrapper kann in ähnlicher Weise einen Satz von Vorlagen auswählen, die für einen relativ kleineren Bildschirm konfiguriert sind, wenn eine Anforderung beispielsweise von einer tragbaren Vorrichtung (z. B. einem Smartphone) erhalten wird. Der beispielhafte Wrapper kann Vorrichtungstypen basierend auf beispielsweise einer Media Access Control(MAC)-Adresse identifizieren, die in eine Anforderung eingeschlossen ist.
  • Der Wrapper kann in einigen Beispielen in einen externen Server eingeschlossen sein und für einen Client über eine Webserver-Anwendung und/oder eine Client-Anzeigeanwendung zugänglich sein. In anderen Beispielen kann der Wrapper an einem Client-Ort installiert sein (z. B. auf einer Rechenvorrichtung, die mit einem Client und/oder Benutzer assoziiert ist). In weiteren Beispielen kann der Wrapper in eine Rechenvorrichtung (z. B. einen Server) eingeschlossen sein, der kommunikativ zwischen einen Client und einen Server gekoppelt ist.
  • Der beispielhafte Wrapper kann als Webserver-Anwendung und/oder Client-Anzeigeanwendung implementiert werden. Die Webserver-Anwendung ist ein Framework (z. B. eine ASP.NET Framework-Anwendung), das Webseiten mit Prozessdaten erstellt, die in Datenfelder, Grafiken, Diagramme, Tabellen, usw. eingebettet sind, auf die ein Client über einen Webbrowser zugreifen kann. In der beispielhaften Webserver-Anwendung verwaltet der Wrapper Prozessdaten (z. B. Objekte) innerhalb einer Webseite. Im Unterschied dazu ist die Client-Anzeigeanwendung (z. B. eine ActiveX-Steuerung und/oder eine SilverlightTM-Anwendung) ein Framework, das als Laufzeit-Anwendung (z. B. Plugin-Anwendung) innerhalb eines Webbrowsers angezeigt werden kann. In diesen Beispielen kann die Client-Anzeigeanwendung in einer Rechenvorrichtung am Ort des Clients installiert sein. Die Client-Anzeigeanwendung kann innerhalb eines Webbrowsers initiiert werden, wenn der Webbrowser auf einen auf einem externen Server befindlichen Wrapper zugreift und/oder mit diesem kommuniziert. Die Client-Anzeigeanwendung kann zudem empfangene Daten und/oder Datenfeldinformationen von dem Wrapper konfigurieren, so dass die Daten innerhalb von Datenfeldern, Grafiken, Diagrammen, Tabellen usw. in dem Webbrowser angezeigt werden.
  • Der hier beschriebene beispielhafte Wrapper kann einen Adapter zur Kommunikation mit einem oder mehreren externen Steuerungssystemserver(n) einschließen, die mit einem Interoperabilitäts-Datenpackungsformat assoziiert sind. Der Adapter kann beispielsweise Transmission Control Protocol (TCP), Hypertext Transfer Protocol (HTTP) und/oder Extensible Markup Language (XML) zur Kommunikation mit einem Server verwenden, um auf Prozessdaten zuzugreifen, die ein Client angefordert hat. Der beispielhafte Wrapper schließt auch einen Konverter ein, um mit einem Interoperabilitäts-Datenpackungsformat formatierte Prozessdaten, die von einem Server erhalten wurden, in ein Webseitenformat zu konvertieren. Ein Webseitenformat kann Hyper Text Markup Language (HTML) und/oder jegliches andere Format zur Anzeige innerhalb einer Client-Anzeigeanwendung und/oder zur Anzeige innerhalb einer Webseite einschließen. Der Wrapper schließt ferner eine webbasierte Schnittstelle ein, die die Prozessdaten an einen Webbrowser kommuniziert, wodurch sie über eine Webseite und/oder eine Client-Anwendung für einen Client betrachtbar sind.
  • Der beispielhafte Wrapper kann automatisch Datenfelder für angeforderte Prozessdaten (z. B. Objekte) erstellen, konfigurieren und/oder formatieren, indem ein oder mehrere Typen der angeforderten Prozessdaten ermittelt werden. Die Typen von Prozessdaten können beispielsweise Serveridentifikationsinformationen, Parameter, Eigenschaften, Dateiverzeichnisorganisationsinformationen, numerische Daten, String-Daten (Zeichenketten), Statusdaten einer Steuerungsvorrichtung, Alarmdaten und/oder jegliche anderen Daten einschließen, die mit einem Prozesssteuerungssystem, einem Fertigungssystem usw. assoziiert sein können. In einigen Beispielen kann der Wrapper einen Datentyp durch eingebettete und/oder mit den Prozessdaten assoziierte Metadaten bestimmen. In anderen Beispielen kann der Wrapper einen Datentyp basierend auf den Inhalten der Prozessdaten bestimmen. Durch Bestimmen der Datentypen kann der beispielhafte Wrapper geeignete Datenfelder mit den entsprechenden Prozessdaten zur Anzeige innerhalb eines Webbrowsers erstellen. Die Datenfelder zum Anzeigen von Prozessdaten können Tabellen, Textfelder, numerische Felder, Grafiken, Diagramme, Animationen, usw. einschließen.
  • Durch automatisches Erstellen von Datenfeldern und Ausfüllen (z. B. Einbetten) dieser Datenfelder mit angeforderten Prozessdaten fällt durch den beispielhaften Wrapper die Notwendigkeit weg, dass ein Client anforderungsspezifische Anwendungen erstellen muss, um auf Daten auf externen Steuerungssystemservern zuzugreifen. Weil der beispielhafte Wrapper die Datenfelder basierend auf dem Datentyp dynamisch formatiert, beeinflussen jegliche Änderungen an einem Server und/oder an Datenspeicherorten innerhalb von Servern die Fähigkeit eines Clients zum Zugriff auf Prozessdaten nicht. Ein Client kann in anderen Worten auf Prozessdaten zugreifen, ohne wissen zu müssen, wie ein Server verwaltet wird, wie Prozessdaten innerhalb eines Servers zugewiesen werden, wie Prozessdaten migriert werden und/oder von welchem Typ die Prozessdaten sind. Weil man mittels eines Webbrowsers über den Wrapper auf die Prozessdaten zugreifen kann, muss der Client ferner keine Anwendung erstellen, die explizit an ein Kommunikationsprotokoll, ein Schnittstellenprotokoll, ein Interoperabilitäts-Datenpackungsprotokoll und/oder ein Arbeitsprotokoll eines speziellen Servers gebunden ist. Der beispielhafte Wrapper kann zudem für jeden Server unabhängig von mit dem Server assoziierten Protokollen implementiert werden. Weil der beispielhafte Wrapper nicht für ein spezielles Serverprotokoll konfiguriert ist, kann der Wrapper ferner effizienter installiert und/oder gepflegt werden als serverspezifische Interoperabilitäts-Datenpackungsanwendungen.
  • 1 ist ein Blockdiagramm, das eine Steuerungsumgebung 100 mit einem beispielhaften Steuerungssystem 102 illustriert, das kommunikativ an einen externen Server 104 gekoppelt ist, auf den ein Client 106 über einen Webseitenserver 108 zugreifen kann, der einen Wrapper 110 verwendet. Der externe Server 104 kann Prozessdaten in einem Format speichern, das einem Interoperabilitäts-Datenpackungsprotokoll entspricht, einschließlich beispielsweise einem Protokoll, das der OPC-Spezifikation oder dem OPC-Standard entspricht. Obwohl der Webseitenserver 108 und/oder der Wrapper 110 kommunikativ an den externen Server 104 gekoppelt gezeigt sind, welcher Prozessdaten von dem Steuerungssystem 102 empfängt, können der Webseitenserver 108 und/oder der Wrapper 110 an andere externe Server gekoppelt sein, die Prozessdaten von anderen Systemen, Fertigungsanlagen, Automatisierungsanlagen, Industriesystemen, usw. empfangen. Obwohl der beispielhafte externe Server 104 als kommunikativ an das Steuerungssystem 102 gekoppelt gezeigt ist, kann der externe Server 104 außerdem kommunikativ an andere Steuerungssysteme gekoppelt sein. Die beispielhafte Steuerungsumgebung 100 kann ferner weitere (nicht gezeigte) Clients einschließen, die kommunikativ über den Webseitenserver 108 und/oder andere (nicht gezeigte) Webseitenserver an den externen Server 104 gekoppelt sein können.
  • Das beispielhafte Steuerungssystem 102 kann jede Art von Fertigungsanlage, Prozessanlage, Automationsanlage und/oder jeden anderen Typ von Prozesssteuerungsstruktur oder -system einschließen. In einigen Beispielen kann das Steuerungssystem 102 mehrere Anlagen einschließen, die sich an unterschiedlichen Standorten befinden. Obwohl das beispielhafte Steuerungssystem 102 zudem ein Prozesssteuerungssystem 112 zeigt, kann das Steuerungssystem 102 zusätzliche Prozesssteuerungssysteme einschließen.
  • Das beispielhafte Prozesssteuerungssystem 112 ist kommunikativ über einen Datenbus 116 an einen Controller 114 gekoppelt. Das Prozesssteuerungssystem 112 kann jegliche Zahl von Feldvorrichtungen (z. B. Eingabe- und/oder Ausgabevorrichtungen) einschließen. Die Feldvorrichtungen können jeden Typ von Prozesssteuerungskomponente einschließen, der Eingaben empfangen, Ausgaben generieren und/oder einen Prozess steuern kann. Die Feldvorrichtungen können beispielsweise Eingabevorrichtungen einschließen, beispielsweise Ventile, Pumpen, Ventilatoren, Heizer, Kühler und/oder Mischer, um einen Prozess zu steuern. Die Feldvorrichtungen können zudem Ausgabevorrichtungen einschließen, wie beispielsweise Thermometer, Druckmessgeräte, Konzentrationsmessgeräte, Flüssigkeitspegelmessgeräte, Durchflussmessgeräte und/oder Dampfsensoren, um Teile eines Prozesses zu messen. Die Eingabevorrichtungen können Anweisungen von dem Controller 114 empfangen, um einen speziellen Befehl auszuführen und eine Änderung des Prozesses zu bewirken. Die Ausgabevorrichtungen können ferner Prozessdaten, Umgebungsdaten und/oder Eingabevorrichtungsdaten messen und die gemessenen Daten als Prozesssteuerungsinformationen (z. B. Prozessdaten) an den Controller 114 übertragen. Diese Prozessdaten können die Werte von Variablen und/oder Parametern einschließen (z. B. gemessene Prozessvariablen und/oder gemessene Qualitätsvariablen), die einer gemessenen Ausgabe von jeder Feldvorrichtung entsprechen.
  • In dem illustrierten Beispiel von 1 kann der beispielhafte Controller 114 mit den Feldvorrichtungen in dem Prozesssteuerungssystem 106 über den Datenbus 16 kommunizieren. Dieser Datenbus 116 kann in dem Prozesssteuerungssystem 112 mit Kommunikationskomponenten gekoppelt werden. Zu den Kommunikationskomponenten können I/O-Karten gehören, um Daten von den Feldvorrichtungen zu empfangen und die Daten in ein Kommunikationsmedium zu konvertieren, das von dem beispielhaften Controller 114 empfangen werden kann. Diese I/O-Karten können zudem Daten von dem Controller 114 in ein Datenformat konvertieren, das von den entsprechenden Feldvorrichtungen verarbeitet werden kann. In einem Beispiel kann der Datenbus 116 unter Verwendung des Feldbus-Protokolls oder anderer Arten von verdrahteten und/oder drahtlosen Kommunikationsprotokollen (z. B. Profibus-Protokoll, HART-Protokoll, usw.) implementiert werden.
  • Der Controller 114 ist kommunikativ über eine beliebige verdrahtete und/oder drahtlose Verbindung an den externen Server 104 gekoppelt. Die Verbindung kann in einigen Beispielen eine Firewall und/oder andere Sicherheitsmechanismen einschließen, um den Zugriff auf den Controller 114 zu beschränken. Der Controller 114 kann Prozessdaten über den Controller 114, der die Prozessdaten von dem Prozesssteuerungssystem 112 erhält, an den externen Server 104 übertragen. In anderen Beispielen kann der Controller 114 in periodischen Zeitintervallen (z. B. jede Minute, jede Stunde, täglich, usw.) Prozessdaten an den externen Server 104 übertragen. Der externe Server 104 kann alternativ Prozessdaten von dem Controller 114 anfordern.
  • Der beispielhafte externe Server 104 des illustrierten Beispiels speichert die Prozessdaten, nachdem er sie erhalten hat, in einem Dateisystem. Das Dateisystem kann hierarchisch mit Verzeichnissen und/oder Unterverzeichnissen angeordnet sein, die auf den Vorrichtungen in dem Prozesssteuerungssystem 112 und/oder auf einer Routine (z. B. Anwendung und/oder Algorithmus) basieren, die in dem Controller 114 laufen, um das Prozesssteuerungssystem 112 zu verwalten. Das Dateisystem kann in anderen Beispielen durch einen Bediener des Steuerungssystems 102 angeordnet werden. Die Prozessdaten können in einem Parameter in dem assoziierten Verzeichnis und/oder Unterverzeichnis gespeichert werden. Der Parameter kann in einigen Beispielen eine Variable sein, die mit einer Routine assoziiert ist, die auf dem Controller 114 läuft oder mit der Ausgabe einer Feldvorrichtung in dem Prozesssteuerungssystem 112 assoziiert ist. Der Parameter kann Metadaten und/oder Eigenschaften einschließen, die den mit dem Parameter assoziierten Prozessdatentyp beschreiben. Der externe Server 104 kann auch EDDL-Dateien für jede der Feldvorrichtungen in dem Prozesssteuerungssystem 112 speichern, die angeben, wie Prozessdaten angezeigt werden sollen.
  • Jedem der Verzeichnisse, Unterverzeichnisse, jeder der Dateien und/oder jedem der Parameter kann ein Endpunkt zugeordnet sein. Der externe Server 104 kann auch einem Endpunkt zugeordnet sein. Diese Endpunkte können nach Sicherheitszugriff, Lesezugriff, Abonnementzugriff und/oder Schreibzugriff gruppiert werden. Ein Endpunkt kann eine Adresse, ein Bindungselement und/oder ein Vertragselement einschließen, das der Wrapper 110 verwenden kann, um auf die Prozessdaten und/oder die EDDL-Datei zuzugreifen, die auf dem externen Server 104 gespeichert ist/sind.
  • Der beispielhafte Wrapper 110 von 1 ist in den Webseiten-Server 108 eingeschlossen und/oder wird von diesem verwendet. Der Webseiten-Server 108 ist eine Vorrichtung und/oder eine Anwendung, die als Schnittstelle zwischen dem externen Server 104 und dem Client 106 agiert. Der Webseiten-Server 108 kann in einigen Beispielen als Schnittstelle in den externen Server 104 eingeschlossen werden. Der Webseiten-Server 108 kann in anderen Beispielen innerhalb einer Rechenvorrichtung beim Client 106 installiert sein. In anderen Beispielen kann der Webseiten-Server 108 auf einem Server oder anderen Rechenvorrichtung implementiert werden, die den Client 106 kommunikativ mit dem externen Server 104 koppelt. Der beispielhafte Wrapper 110 empfängt Anforderungen von dem Client 106, um auf Prozessdaten (z. B. Objekte) zuzugreifen, fordert die Prozessdaten von dem externen Server 104 an, konvertiert die Prozessdaten in ein Format, welches vom Client betrachtbar ist, und erstellt und/oder formatiert Datenfelder, um die Prozessdaten zur Anzeige in einem Webbrowser einzubetten.
  • Der beispielhafte Wrapper 110 formatiert Datenfelder, indem er einen Satz von Vorlagen auswählt, die von dem Client 106 betrachtbar sein können. In anderen Worten ermittelt der beispielhafte Wrapper 110, welche Vorlagen zur Anzeige auf einer relativ großen oder kleinen Bildschirmgröße konfiguriert sind. Der beispielhafte Wrapper 110 formatiert auch Datenfelder, indem er eine Vorlage in dem Satz von Vorlagen auswählt, die zu mindestens einer Eigenschaft und/oder einem Objekttyp passen, die bzw. der mit den angeforderten Prozessdaten assoziiert sind. Eine XSLT-Vorlage kann beispielsweise Datenfelder einschließen, die als Zeichenkettenvariablen (string) definiert sind, um Identifizierungsinformationen einer Feldvorrichtung anzuzeigen. Eine Anforderung von Prozessdaten kann Identifizierungsinformationen einer Feldvorrichtung einschließen. Der beispielhafte Wrapper 110 verwendet Metadaten und/oder Eigenschaftsbeschreibungen innerhalb der Prozessdaten, um zu bestimmen, dass Identifizierungsinformationen einer Feldvorrichtung angezeigt werden sollen. Der beispielhafte Wrapper 110 identifiziert dann die XSLT-Vorlage mit Datenfeldern, die konfiguriert sind, um die Identifizierungsinformations-Prozessdaten anzuzeigen. Der beispielhafte Wrapper 110 kann dann die Identifizierungsinformations-Prozessdaten kombinieren und/oder in die entsprechenden Datenfelder innerhalb der gewählten XSLT-Vorlage einzufügen. Der beispielhafte Wrapper 110 kann danach die XSLT-Vorlage zur Anzeige auf dem Client 106 rendern.
  • Der Client 106 kann dann auf den externen Server 104 zugreifen, um Prozessdaten zu lesen, zu schreiben und/oder zu abonnieren. Das Abonnieren von Prozessdaten kann beinhalten, Autorisierung von dem beispielhaften Wrapper 110 und/oder dem externen Server 104 zu erhalten, um periodische und/oder kontinuierliche Updates von angeforderten Prozessdaten zu empfangen, wenn die Prozessdaten durch den Controller 114 übertragen werden. Das Lesen der Prozessdaten kann das Lesen des aktuellen Werts der auf dem externen Server 104 gespeicherten Prozessdaten einschließen. Das Schreiben der Prozessdaten kann das Empfangen von Werten von dem Client 106 einschließen, um einen als Prozessdaten innerhalb des externen Servers 104 gespeicherten Parameter zu modifizieren oder zu ändern. Das Schreiben von Daten kann auch das Modifizieren eines Status, eines Alarms und/oder eines Flags beinhalten, der bzw. das mit den Prozessdaten assoziiert ist bzw. sind. Beim Empfang eines geschriebenen Werts kann der beispielhafte externe Server 104 den geschriebenen Wert an den Controller 114 übertragen, um eine Operation des Prozesssteuerungssystems 112 zu ändern und/oder zu modifizieren. Damit der Client 106 auf die Prozessdaten zugreifen kann, kann der beispielhafte Wrapper 110 Sicherheitsfunktionen implementieren, zu denen Verschlüsselung, Authentifizierung, Integritätscodes und/oder benutzerspezifische Zugriffkontrolllisten gehören. In Beispielen, in denen ein Benutzer und/oder der Client 106 zum Zugriff auf Prozessdaten nicht autorisiert ist, kann der beispielhafte Wrapper 110 nur Lesezugriff auf die Prozessdaten oder alternativ gar keinen Zugriff auf die Prozessdaten bieten.
  • Der beispielhafte Wrapper 110 schließt einen Adapter 118 ein, um auf den externen Server 104 zuzugreifen. Der beispielhafte Adapter 118 kann Kommunikationen auf TCP-, HTTP- und/oder XML-Basis verwenden, um mit dem externen Server 104 über eine beliebige verdrahtete und/oder drahtlose Verbindung zu kommunizieren. Der Wrapper 110 schließt ferner einen Konverter 120 ein, um die von dem Adapter 120 empfangenen Prozessdaten in ein Format zu konvertieren (kombinieren und/oder einfügen), das über einen Webbrowser betrachtet werden kann. Der beispielhafte Wrapper 110 schließt auch eine webbasierte Schnittstelle 122 ein, um eine oder mehrere Vorlagen zur Anzeige der Prozessdaten auszuwählen. Die beispielhafte webbasierte Schnittstelle 122 stellt dem Client 106 auch eine Schnittstelle zur Verfügung, indem die Prozessdaten in der gewählten Vorlage/den gewählten Vorlagen formatiert, gerendert, eingebettet und/oder angezeigt werden.
  • Der beispielhafte Client 106 kann mit einem Individuum assoziiert sein, das autorisiert werden kann, um die auf dem externen Server 104 gespeicherten Prozessdaten zu lesen, zu schreiben und/oder zu abonnieren. Der Client 106 kann auch mit Personal assoziiert sein, das mit dem Steuerungssystem 102 assoziiert ist und von einem entfernten Ort aus auf den externen Server 104 zugreifen kann. Der Client 106 kann über den Webseiten-Server 108 unter Verwendung jedwedes verdrahteten und/oder drahtlosen Kommunikationsmediums (z. B. über das Internet) auf den externen Server 104 zugreifen.
  • In einem Beispiel, in dem der Client 106 eine Anforderung zum Zugriff auf Prozessdaten (z. B. Objekten) generiert, empfängt der Wrapper 110 eine Anforderungsnachricht von dem Client 106. Speziell kann die webbasierte Schnittstelle 122 die Anforderung empfangen. Nach Empfang der Anforderung leitet die webbasierte Schnittstelle 122 die Anforderung an den Adapter 118 weiter. Der Adapter 118 verwendet Informationen innerhalb der Anforderung (z. B. eine Uniform Resource Locator(URL)-Zieladresse), um einen externen Server (z. B. den externen Server 104) zu identifizieren, der die angeforderten Prozessdaten speichert. Der Adapter 118 greift dann auf den externen Server 104 zu, um die Prozessdaten abzurufen. Der Adapter 118 kann mit den Prozessdaten assoziierte Enddaten verwenden, um auf die Prozessdaten zuzugreifen und/oder sie zu lesen. Der Adapter 118 leitet die von dem externen Server 104 empfangenen Prozessdaten dann an den Konverter 120 weiter, der die Prozessdaten von einem mit dem Interoperabilitäts-Datenpackungsformat assoziierten Format in ein Webbrowser-Format konvertiert. Der Konverter 120 leitet die Prozessdaten dann an die webbasierte Schnittstelle 122 weiter. Die webbasierte Schnittstelle 122 wählt dann eine oder mehrere Vorlagen aus, um mindestens einen Teil der konvertierten Prozessdaten in ein oder mehrere entsprechende Datenfelder der Vorlage einzubetten, diese zu kombinieren und/oder zu platzieren, um sie über einen Webbrowser in einer Webseite anzuzeigen, die von dem Client 106 betrachtet werden kann.
  • Die webbasierte Schnittstelle 122 kann Prozessdaten mit einem oder mehreren Datenfeldern einer Vorlage kombinieren, indem die Prozessdaten nach Typen und/oder Eigenschaften aufgeteilt werden, ermittelt wird, welcher Datentyp und/oder welche Eigenschaft mit einem Datenfeld assoziiert ist, und die mit jedem Datentyp assoziierten Daten in dem assoziierten Datenfeld platziert werden. Die webbasierte Schnittstelle 122 kann in einigen Beispielen Datenfelder innerhalb einer Vorlage erstellen. Die webbasierte Schnittstelle 122 kann einen Datentyp und/oder eine Eigenschaft innerhalb der Prozessdaten identifizieren, indem sie Metadaten lokalisiert, die mit jedem Teil der Prozessdaten assoziiert sind, und die Metadaten mit dem assoziierte Datenfeld querreferenziert.
  • Die beispielhafte webbasierte Schnittstelle 122 kombinierte Prozessdaten mit einer oder mehreren Vorlagen, so dass die Prozessdaten durch den Client 106 unter Verwendung einer Client-Anwendung 124 betrachtbar sind. Das Beispiel von 1 zeigt die Client-Anwendung 124, die Prozessdaten in einer Schnittstelle 126 anzeigt, die einen Webbrowser einschließen kann. Die Client-Anwendung 124 kann eine Webserver-Anwendung und/oder eine Client-Anzeigeanwendung einschließen. Der Wrapper 110 kann Prozessdaten für eine Webserver-Anwendung formatieren, indem eine Webseite erstellt und/oder auf eine XSLT-Webseitenvorlage zugegriffen wird und die Datenfelder innerhalb der Vorlage platziert oder in diese eingebettet werden. Die Schnittstelle 126 kann dann über einen Webbrowser die Prozessdaten anzeigen, indem auf die durch den Wrapper 110 und/oder den Webseitenserver 108 gehostete Webseite unter Verwendung von HTML-Anforderungen und -Antworten zugegriffen wird.
  • Der Wrapper 110 kann die Prozessdaten alternativ für eine Client-Anzeigeanwendung formatieren, indem eine Webanwendung (z. B. ActiveX, Adobe FlashTM und/oder SilverlightTM) in der Client-Anwendung 124 initialisiert wird, die innerhalb eines Webbrowsers ausführbar ist (z. B. die Schnittstelle 126). In einigen Beispielen kann der Client 106 die Client-Anzeigeanwendung herunterladen und/oder installieren, bevor die Prozessdaten betrachtet werden. Der Wrapper 110 überträgt die Prozessdaten, Vorlage(n) und/oder die Datenfelder an die Client-Anzeigeanwendung. In einigen Beispielen assoziiert der Wrapper 110 Prozessdaten mit einer oder mehreren entsprechenden Vorlagen und/oder einem oder mehreren entsprechenden Datenfeldern, bevor die Prozessdaten an die Client-Anzeigeanwendung übertragen werden. Nach Empfang der Prozessdaten erstellt (z. B. rendert) die Client-Anzeigeanwendung eine Anzeige innerhalb des Webbrowsers (z. B. in der Schnittstelle 126), um die Prozessdaten in der/den entsprechenden Vorlage(n) und/oder Datenfelder zu betrachten.
  • Der Client 106 kann ferner die Client-Anwendung 124 personalisieren, indem Vorlagen und/oder Datenfelder modifiziert werden. Der Client 106 kann beispielsweise eine Position in dem Webbrowsers angeben, an der ein Datenfeld angezeigt werden soll. Der Client 106 kann ferner die Farbe, Textgröße, Zahlenkonvention und/oder jegliche andere grafische Darstellung der Prozessdaten mit den Datenfeldern modifizieren.
  • 2 ist ein Blockschaltplan des beispielhaften Wrappers 110 aus 1. Der Wrapper 110 schließt den Adapter 118, den Konverter 120 und die webbasierte Schnittstelle 122 von 1 ein. Jeder der Funktionsblöcke innerhalb des Wrappers 110 von 2 kann mehrere Clients und/oder externe Server unterstützen, oder der Wrapper 110 kann alternativ jeweilige Funktionsblöcke für jeden kommunikativ gekoppelten externen Server und/oder Funktionsblöcke für jeden Client (z. B. den Client 106) einschließen.
  • Um Sicherheitsfunktionen wie Verschlüsselung und/oder Endpunkt-Zugriffskontrollen für Kommunikationen mit dem Client 106 und/oder der Client-Anwendung 124 bereitzustellen, schließt der beispielhafte Wrapper 110 von 2 einen Sicherheitsprozessor 202 ein. Der beispielhafte Sicherheitsprozessor 202 kann beispielsweise Verschlüsselungsprozessoren und/oder digitale Signaturgeneratoren einschließen, um ausgehende Kommunikationen vor unautorisierten Drittparteien zu schützen. Die Verschlüsselungsprozessoren können jeden Typ von Verschlüsselungsencodern verwenden, um für die Client-Anwendung 124 vorgesehene Kommunikationen in einem Format zu formatieren, das für unautorisierte Benutzer nicht lesbar ist. Die digitalen Signaturgeneratoren schützen Kommunikationen für die Client-Anwendung 124 vor Verfälschung durch unautorisierte Drittparteien. Die digitalen Signaturgeneratoren können jeden Typ von kryptografisch sicherem Signaturgenerator (z. B. Hashcodes) verwenden, der die Erkennung von Werten ermöglicht, die durch eine unautorisierte Drittpartei zwischen der Client-Anwendung 124 und dem Wrapper 110 modifiziert worden sind. Der Sicherheitsprozessor 202 kann zudem andere Formen von Kommunikationssicherheit einschließen, einschließlich Authentifizierungsmechanismen und/oder Zugriffskontrollen. Der beispielhafte Sicherheitsprozessor 202 kann verschlüsselte und/oder signierte Kommunikationen dekodieren, die von der Client-Anwendung 124 und/oder dem Client 106 ausgehen. Nach dem Dekodieren der Kommunikationen überträgt der Sicherheitsprozessor 202 die Kommunikationen an das vorgesehene Ziel innerhalb des Wrappers 110.
  • In dem Beispiel von 2 ist der Sicherheitsprozessor 202 kommunikativ an einen oder mehrere Clients einschließlich Client 106 gekoppelt. Der Sicherheitsprozessor 202 kann Anforderungsnachrichten, die von Clients und/oder anderen Benutzern kommen, auf Identifizierungsinformationen filtern, so dass nur autorisierte Clients auf die Prozessdaten innerhalb eines gewünschten Servers zugreifen können. Der Sicherheitsprozessor 202 kann ferner Prozessdaten und/oder Vorlagen an eine Client-Anzeigeanwendung weiterleiten, die innerhalb der Client-Anwendung 124 implementiert ist. In anderen Beispielen ermöglicht der Sicherheitsprozessor 202 sichere Kommunikationen zwischen dem Client 106 und der webbasierten Schnittstelle 122, die eine Webseite hosten kann, die über eine Vorlage Prozessdaten anzeigt.
  • Um Datenkommunikationen zwischen einem oder mehreren Client(s) und der beispielhaften webbasierten Schnittstelle 122 zu verwalten, schließt der beispielhafte Wrapper 110 von 2 einen Sessioncontroller 204 ein. Der beispielhafte Sessioncontroller 204 verwaltet eine Zugriffssession für einen Client (z. B. den Client 106 von 1), der mit dem Wrapper 110 kommuniziert. Die Zugriffssession repräsentiert einen offenen Kommunikationsweg zwischen der webbasierten Schnittstelle 122 und einem Client. Eine Zugriffssession kann für jeden Client erstellt werden, der auf die webbasierte Schnittstelle 122 zugreift, weil jeder Client Zugriff auf unterschiedliche Datenquellen und/oder Datentypen von unterschiedlichen externen Servern des Steuerungssystems anfordern kann. Der beispielhafte Sessioncontroller 204 gewährleistet somit, dass die webbasierte Schnittstelle 122 einen Client mit nur den Prozessdaten versorgt, die der Client angefordert hat.
  • Der Sessioncontroller 204 initiiert eine Session, nachdem er eine Anforderungsnachricht von einem Client empfangen hat, um auf Prozessdaten zuzugreifen. Die Anforderung kann von einem Webbrowser und/oder der Client-Anwendung 124 kommen. Bis eine Session durch den Sessioncontroller 204 eröffnet worden ist, kann der Sessioncontroller 204 jegliche anderen Anforderungen von einem Client ablehnen. Wenn die Session geöffnet ist, leitet der Sessioncontroller 204 jede Anforderungsnachricht von einem Client zu der webbasierten Schnittstelle 122. Der Sessioncontroller 204 kann darüber hinaus Referenzen auf ausgewählte Prozessdaten und ihre assoziierten Lese- oder Schreib-Endpunkte speichern, die mit Datenfeldern und/oder Prozessdaten assoziiert sein können, die in einer Webseite betrachtbar sind.
  • Die beispielhafte webbasierte Schnittstelle 122, die in den Wrapper 110 von 2 eingeschlossen ist, liefert durch Verwalten, Formatieren und/oder Konfigurieren von Prozessdaten eine Schnittstelle zu Clients. Die webbasierte Schnittfläche 122 empfängt von dem Konverter 120 Prozessdaten (z. B. Objekte) in einem Format, das in einem Webbrowser betrachtbar ist. Die beispielhafte webbasierte Schnittstelle 122 verarbeitet auch Anforderungen von Clients zum Zugriff auf Prozessdaten. Nach dem Empfang einer Anforderung von einem Client initiiert die webbasierte Schnittstelle 122 eine Zugriffssession, indem sie eine Anweisung an den Sessioncontroller 204 sendet und die Anforderung an den Adapter 118 leitet. In einigen Beispielen empfängt die webbasierte Schnittstelle 122 die Anforderung, nachdem der Sicherheitsprozessor 202 bestimmt hat, dass die Anforderung mit einem authentifizierten Client assoziiert ist. Die webbasierte Schnittstelle 122 kann zudem eine Zugriffssession schließen, wenn ein Client einen Webbrowser schließt und/oder beendet und/oder wenn eine Client-Anwendung eine Anweisung sendet, um die Session zu beenden.
  • Wenn die webbasierte Schnittstelle 122 Prozessdaten empfängt, die mit einer Anforderung assoziiert sind, bestimmt die webbasierte Schnittstelle 122 einen oder mehrere Datentyp(en) und/oder Eigenschaften, die mit den Prozessdaten assoziiert sind, indem die Prozessdaten an einen Datenprozessor 206 weitergeleitet werden. Der beispielhafte Datenprozessor 206 identifiziert Metadaten und/oder Eigenschaften, die in Teile der Prozessdaten eingeschlossen sein können. Der Datenprozessor 206 greift zudem auf eine Vorlagendatenbank 208 zu, um Prozessdaten bezogen auf einen Wertetyp, eine Eigenschaft, einen Variablentyp und/oder jeglichen anderen Identifikator, der mit Prozessdaten assoziiert sein kann, auf eine entsprechende Vorlage und/oder ein entsprechendes Datenfeld quer zu referenzieren. Die beispielhafte Vorlagendatenbank 208 kann durch Electronically Erasable Programmable Read-Only Memory (EEPROM), Direktzugriffspeicher (RAM), Festwertspeicher (ROM) und/oder jeglichen anderen Speichertyp implementiert werden.
  • Der beispielhafte Datenprozessor 206 von 2 assoziiert und/oder kombiniert Prozessdaten mit einem Datenfeld, nachdem der Datentyp/die Datentypen bestimmt worden ist/sind, der/die mit den Prozessdaten assoziiert ist, und passende Vorlagen in der Vorlagendatenbank 208 gesucht worden sind. Die Vorlagen können beispielsweise dem XSLT-Protokoll entsprechen. Der Datenprozessor 206 kann aus einer oder mehreren mit den abgerufenen Prozessdaten assoziierten EDDL-Dateien eine XSLT-Vorlage generieren. In diesen Beispielen können die EDDL-Dateien definieren, wie die Prozessdaten angezeigt werden sollen. Der beispielhafte Datenprozessor 206 weist Prozessdaten einer oder mehreren Datenanzeigevariablen (z. B. Parametern) eines Datenfelds innerhalb einer Vorlage zu, die auf einen Datentyp und/oder eine Eigenschaft querreferenziert werden können. Der Datenprozessor 206 und/oder die webbasierte Schnittstelle 122 können auch numerische, alphanumerische und/oder Flag-Werte der Prozessdaten speichern, einbetten und/oder auf das passende Datenfeld innerhalb einer Vorlage referenzieren.
  • Der Datenprozessor 206 greift auf die Vorlagendatenbank 206 zu, um eine Vorlage zum Anzeigen der Prozessdaten auszuwählen. Die Vorlage kann eine XSLT-Vorlage einschließen, die XML-Informationen (z. B. Prozessdaten) zur Anzeige in einem Webbrowser in HTML konvertiert. Der Datenprozessor 206 kann eine Vorlage basierend auf einem Typ der Prozessdaten, Werten der Prozessdaten, Eigenschaften der Prozessdaten und/oder Zielanzeigeinformationen auswählen. Zielanzeigeinformationen können einen Webbrowsertyp und/oder einen Vorrichtungstyp identifizieren, der die Prozessdaten anzeigen soll. Zielanzeigeinformationen können beispielsweise angeben, ob Prozessdaten auf einem Smartphone-Webbrowser oder einem Webbrowser auf einer Workstation angezeigt werden sollen. Eine Vorlage für ein Smartphone kann so konfiguriert sein, dass Prozessdaten auf einem relativ kleinen Bildschirm angezeigt werden, verglichen mit einer Vorlage für den Webbrowser einer Workstation.
  • Die beispielhafte webbasierte Schnittstelle 122 von 2 empfängt den Datentyp/die Datentypen und/oder Eigenschaften der Prozessdaten von dem Datenprozessor 206 und kompiliert eine oder mehrere passende Vorlage(n). Die webbasierte Schnittstelle 122 kann dann die Prozessdaten (z. B. die kompilierten Teile der Prozessdaten, die mit den jeweiligen Datenfeldern assoziiert sind) in die entsprechenden Datenfelder einer Vorlage einbetten, diese kombinieren und/oder anderweitig platzieren. Die webbasierte Schnittstelle 122 bettet die Teile der Prozessdaten in das Datenfeld/die Datenfelder ein, indem die Prozessdaten nach Datentyp(en) partitioniert werden, wobei die Informationen und/oder Vorlage(n) von dem Datenprozessor 206 verwendet werden, um zu ermitteln, welcher Datentyp mit einem Datenfeld einer Vorlage assoziiert ist, und die mit jedem Datentyp assoziierten Prozessdaten in dem assoziierten Datenfeld der Vorlage platziert werden. In einigen Beispielen kann ein Datenfeld mit mehr als einem Datentyp assoziiert sein. Die webbasierte Schnittstelle 122 kann dann die Prozessdaten in einer Vorlagen-Webseite einbetten, die das Datenfeld/die Datenfelder einschließt.
  • In Beispielen, in denen ein Client Prozessdaten unter Verwendung einer Client-Anwendung (z. B. der Client-Anwendung 124) anfordert, ermittelt die beispielhafte webbasierte Schnittstelle 122 den Typ der Anwendung. Die webbasierte Schnittstelle 122 kann den Typ der Client-Anwendung ermitteln, indem innerhalb der Anforderungsnachricht ein mit der Anforderungsnachricht assoziiertes Protokoll und/oder eine damit assoziierte Anwendungssprache und/oder jegliche Metadaten identifiziert werden, die mit der Client-Anwendung assoziiert sind. Ein Client, der eine Webserver-Anwendung verwendet, kann beispielsweise Protokolle einschließen, die mit der ASP.NET-Anwendung assoziiert sind, während ein Client, der eine Client-Anzeigeanwendung verwendet, Protokolle und/oder Nachrichten einschließen kann, die mit einer SilverlightTM- oder ActiveX-Anwendung assoziiert sind. Die beispielhafte webbasierte Schnittstelle 122 erstellt und/oder konfiguriert bezogen auf den Typ der Client-Anwendung die geeignete Webbrowser- und/oder programmatische Schnittstelle zur Anzeige der Prozessdaten innerhalb einer geeigneten Vorlage. Die webbasierte Schnittstelle 122 kann beispielsweise den Datenprozessor 206 instruieren, nach Vorlagen zu suchen, die einem bestimmten Typ von Client-Anzeigeanwendung entsprechen.
  • Nachdem der Typ einer Client-Anwendung ermittelt wurde, formatieren die webbasierte Schnittstelle 122 und/oder der Datenprozessor 206 die Prozessdaten und/oder Vorlagen zur Anzeige, indem eine Anzeigedatei generiert wird. Die Anzeigedatei kann dem Typ der Client-Anwendung entsprechen. Auf diese Weise kann eine Anzeigedatei an einen Client übertragen werden, um die Prozessdaten in einem Layout anzuzeigen, das durch die Vorlage und/oder eine EDDL-Datei spezifiziert wird. In Beispielen, in denen die Client-Anwendung 124 mit einer Webserver-Anwendung assoziiert ist, empfängt die webbasierte Schnittstelle 122 eine Anforderung von dem Client 106 über einen Webbrowser, leitet die Anforderung an den Adapter 118 weiter, um auf die Prozessdaten und/oder entsprechenden EDDL-Dateien zuzugreifen, und empfängt die Prozessdaten von dem Konverter 120. Die Anforderung von dem Client 106 über den Webbrowser kann in Form eines HTML-Dokuments vorliegen. Die webbasierte Schnittstelle 122 kann ferner eine Anweisung an den Sessioncontroller 204 senden, um den Webbrowser des Client 106 mit der neu erstellten Session zu assoziieren. Die webbasierte Schnittstelle 122 erstellt dann eine Webseite (z. B. eine Anzeigedatei) mit der Vorlage einschließlich eingebetteten Prozessdaten. Die Vorlagen können beispielsweise Listen, Tabellen, Grafiken, Diagramme, grafische Anzeigen, Animationen, usw. einschließen. Die Positionen der Datenfelder können ferner durch die Vorlage spezifiziert werden. Die in eine Vorlage einzufügenden Prozessdaten können auch durch eine EDDL-Datei spezifiziert werden. Die webbasierte Schnittstelle 122 überträgt den Inhalt der Webseitenvorlage als Anzeigedatei an den Webbrowser des Clients 106, um die Webseite am Ort des Clients anzuzeigen. Die Prozessdaten innerhalb der Webseitenvorlage werden in formatiertem Kontext über ein beliebiges HTTP-, XML-, XSLT- und/oder irgendein anderes Internet-Webseitenübertragungsformat über den Webbrowser an den Client 106 übertragen.
  • In Beispielen, in denen der Webbrowser eine Client-Anzeigeanwendung einschließt, empfängt die beispielhafte webbasierte Schnittstelle 122 eine Anforderung von dem Client 106 über einen Webbrowser, leitet die Anforderung an den Adapter 118 weiter, um auf die Prozessdaten zuzugreifen, empfängt die Prozessdaten von dem Konverter 120 und initiiert die Client-Anzeigeanwendung innerhalb des Webbrowsers. Die webbasierte Schnittstelle 122 kann basierend auf den Eigenschaften der Prozessdaten eine Anweisung an den Datenprozessor 206 hinsichtlich einer Client-Anzeigeanwendungsvorlage senden. Die webbasierte Schnittstelle 122 kann dann die Prozessdaten innerhalb einer Client-Anzeigeanwendung als Anzeigedatei über den Webbrowser anzeigen. Die Anforderung von dem Client 106 über den Webbrowser kann in Form eines Methodenaufrufs vorliegen. Nach dem Formatieren und/oder Konfigurieren der Prozessdaten zur Anzeige innerhalb einer Vorlage zum Generieren der Anzeigedatei überträgt die webbasierte Schnittstelle 122 die Anzeigedatei in einem Format an einen Client, das mit Protokollen der Client-Anzeigeanwendung assoziiert ist. Die Client-Anzeigeanwendung erstellt dann am Ort des Clients eine Anzeige in dem Webbrowser, die die Prozessdaten innerhalb der assoziierten Datenfelder der Vorlage zeigt.
  • Die Client-Anzeigeanwendung kann jeden programmatischen Client einschließen, der in einigen Beispielen ohne einen Webbrowser auf die webbasierte Schnittstelle 122 zugreifen kann. In diesen Beispielen assoziiert die webbasierte Schnittstelle 122 den programmatischen Client mit der neu erzeugten Zugriffssession und leitet zur Anzeige innerhalb einer Vorlage formatierte Prozessdaten als Anzeigedatei über irgendein mit dem programmatischen Client assoziiertes Protokoll an den Client weiter. Der programmatische Client erstellt dann eine Anzeige über die Anzeigedatei, die die Prozessdaten innerhalb assoziierter Datenfelder zeigt.
  • Die beispielhafte webbasierte Schnittstelle 122 versorgt Clients mit Lesezugriff, Schreibzugriff und/oder Abonnementzugriff. Für Clients, die Lesezugriff anfordern, leitet die webbasierte Schnittstelle 122 eine einzelne Anforderung nach aktuellen Prozessdaten und/oder einer entsprechenden EDDL-Datei an den Adapter 118 weiter. Nach dem Empfangen und Formatieren der Prozessdaten versorgt die webbasierte Schnittstelle 122 die Client-Anwendung(en) mit den angeforderten Prozessdaten.
  • Wenn Clients alternativ Abonnementzugriff anfordern, kann die webbasierte Schnittstelle 122 periodische Nachrichten an den Adapter 118 senden, um in Zeitintervallen Prozessdaten zu empfangen. In einigen Beispielen kann der Client die Zeitintervalle spezifizieren, um Prozessdaten zu empfangen. Nachdem die webbasierte Schnittstelle 122 eine Webseite und/oder eine Anzeigevorlage für eine programmatische Anwendung erstellt hat, liefert die webbasierte Schnittstelle 122 ferner periodische und/oder kontinuierliche Updates für die Datenfelder innerhalb der Vorlage mit neueren Prozessdaten. Die webbasierte Schnittstelle 122 liefert die Updates über eine bereits aktive Zugriffssession, die die Kommunikation mit einem anfordernden Client aufrechterhält. Die Updates der Datenfelder können die Aktualisierung von Trendgrafiken, Prozessstatusalarmmeldungen und/oder Flags mit den neuesten Prozessdaten beinhalten, die auf dem entsprechenden externen Server des Steuerungssystems gespeichert sind. Die webbasierte Schnittstelle 122 ermöglicht einem Client somit den Zugriff auf die neuesten Prozessdaten, ohne einen Webbrowser aktualisieren zu müssen und/oder ohne periodisch die Prozessdaten anfordern zu müssen.
  • In noch anderen Beispielen, in denen Clients möglicherweise Schreibzugriff anfordern, empfängt die beispielhafte webbasierte Schnittstelle 122 den geschriebenen Prozessdatenwert von der Webseite und/oder programmatischen Anwendung über ein HTML-Dokument oder eine Methodenanforderung. Die webbasierte Schnittstelle 122 identifiziert dann eine Variable und/oder einen Parameter, die bzw. der mit dem geschriebenen Datenwert assoziiert ist. In anderen Beispielen kann die webbasierte Schnittstelle 122 auf den Datenprozessor 206 zugreifen, um den Datenwert auf einen Datentyp quer zu referenzieren, der innerhalb der Vorlagendatenbank 208 spezifiziert ist. Die webbasierte Schnittstelle 122 sendet dann eine Anweisung an den Konverter 120 und/oder Adapter 118, um den Datenwert an die entsprechende Variable und/oder einen Teil des externen Servers weiterzuleiten. Der externe Server kann dann den geschriebenen Datenwert speichern und/oder den geschriebenen Datenwert an den entsprechenden Ort innerhalb eines Controllers weiterleiten.
  • Die beispielhafte webbasierte Schnittstelle 122 kann Personalisierungsinformationen des Clients in einer (nicht gezeigten) Datenbank speichern, damit beim nächsten Mal, wenn derselbe Client denselben Typ von Prozessdaten anfordert, die webbasierte Schnittstelle 122 die Prozessdaten in einer oder mehreren Vorlagen formatieren kann, die teilweise auf der vorgehenden Personalisierung des Clients basieren. Die webbasierte Schnittstelle 122 kann die Personalisierung des Clients durch jedwede Modifikationen identifizieren, die von einem Client über einen Webbrowser und/oder eine programmatische Anwendung vorgenommen wurden, um das Aussehen und/oder die Datenanzeige der Prozessdaten innerhalb des Datenfelds bzw. der Datenfelder zu ändern. Ein Client kann eine Farbe, eine Textgröße, eine Zahlenkonvention und/oder jegliche andere grafische Darstellung der Prozessdaten modifizieren.
  • Um auf externe Server des Steuerungssystems zuzugreifen (z. B. den externen Server 104), umfasst der beispielhafte Wrapper 110 von 2 den Adapter 118. Der beispielhafte Adapter 118 kann TCP, HTTP, XML und/oder jegliches andere Übertragungsprotokoll nutzen, um über jegliche verdrahtete und/oder drahtlose Verbindung mit dem externen Server bzw. den externen Servern zu kommunizieren. Der Adapter 118 empfängt Anforderungen zum Zugriff auf einen externen Server von der webbasierten Schnittstelle 122. Nach Empfang einer Anforderung identifiziert der Adapter 118 einen externen Server, der Prozessdaten speichert, indem er auf eine Server-Referenzdatenbank 210 zugreift, um eine Querreferenz der Client-Anforderung auf einen speziellen externen Server zu erstellen. Die beispielhafte Server-Referenzdatenbank 210 kann durch EEPROM, RAM, ROM und/oder jeglichen anderen Speichertyp implementiert werden.
  • In einigen Beispielen kann die Client-Anforderung eine Webadresse und/oder einen Identifikator eines externen Servers einschließen. Der Adapter 118 kann die Server-Referenzdatenbank 210 referenzieren, um einen Ort des angeforderten externen Servers zu bestimmen. In einigen Beispielen kann der Adapter 118 auf zwei oder mehr externe Server zugreifen, um auf angeforderte Prozessdaten und/oder entsprechende EDDL-Dateien zuzugreifen. Nachdem der Ort des externen Servers bestimmt wurde, sendet der Adapter 118 eine Anforderung für die Prozessdaten an den externen Server. Der Adapter 118 kann auf die Prozessdaten auf dem externen Server zugreifen, indem ein Verzeichnis oder die Dateistruktur der auf dem Server gespeicherten Prozessdaten ermittelt wird. Der Adapter 118 kann dieses Verzeichnis und/oder die Dateistruktur der webbasierten Schnittstelle 122 übermitteln, um es einem Client zu ermöglichen, ein oder mehrere Verzeichnisse und/oder Unterverzeichnisse über einen Webbrowser und/oder eine programmatische Anwendung auszuwählen. Der Client spezifiziert durch Auswählen der Verzeichnisse und/oder Unterverzeichnisse die gewünschten Prozessdaten, die betrachtet und/oder auf die zugegriffen werden soll. Der Client kann in anderen Beispielen den Ort des Verzeichnisses und/oder Unterverzeichnisses der gewünschten Prozessdaten einschließen. In noch anderen Beispielen kann der Client Variablennamen, Prozessdatenidentifikatoren und/oder jegliche anderen Datenidentifikationsinformationen spezifizieren, die der Adapter 118 verwenden kann, um durch einen externen Server zu navigieren, um auf die angeforderten Prozessdaten zuzugreifen.
  • Der beispielhafte Adapter 118 kann unter Verwendung von zugeordneten Endpunkten durch die Verzeichnisse, Unterverzeichnisse und/oder Dateien eines externen Servers navigieren. Der Adapter 118 kann beispielsweise auf die Referenzdatenbank 210 des externen Servers zugreifen, um einen Endpunkt zu identifizieren, der einem externen Server entspricht. Der externe Server kann dann basierend auf einer Hierarchie, Lesezugriff, Schreibzugriff und/oder Abonnementzugriff Endpunkte an den Adapter 118 zurückgeben, die mit Prozessdaten assoziiert sind. Der Adapter 118 kann dann ermitteln, welcher Endpunkt bzw. welche Endpunkte mit den angeforderten Prozessdaten assoziiert sind, und verwendet den Endpunkt/die Endpunkte zum Browsern und/oder Lokalisieren der Orte innerhalb des externen Servers, die die Prozessdaten speichern.
  • In Beispielen, in denen der Adapter 118 eine Lese- und/oder Abonnementanweisung von der webbasierten Schnittstelle 122 empfängt, kann der Adapter 118 auf entsprechende Lese- und/oder Abonnement-Endpunkte zugreifen, die mit den angeforderten Prozessdaten assoziiert sind. In Beispielen, in denen ein Client ein periodisches Intervall zum Empfang von Prozessdaten spezifizieren kann (z. B. Abonnieren von Prozessdaten), kann der Adapter 118 den externen Server in dem periodischen Intervall auf gewünschte Prozessdaten Pollen.
  • In noch anderen Beispielen, in denen möglicherweise ein Client einen Prozessdatenwert in ein Datenfeld schreibt, empfängt der Adapter 118 den Wert und/oder den assoziierten Wertidentifikator von der webbasierten Schnittstelle 122. Der Adapter 118 navigiert dann durch den externen Server (z. B. unter Verwendung von Schreib-Endpunkten), um die Datei und/oder den Verzeichnisort zu lokalisieren, die mit dem geschriebenen Datenwert assoziiert sind. Der Adapter 118 speichert dann den geschriebenen Wert an dem entsprechenden Ort auf dem externen Server. In einigen Beispielen, in denen ein Client möglicherweise einen Wert schreibt, kann der Adapter 118 den Wert empfangen, nachdem der Konverter 120 den Wert von einem Format einer Webseite und/oder programmatischen Anwendung in ein Interoperabilitäts-Datenpackungsformat konvertiert hat.
  • Der beispielhafte Adapter 118 von 2 schließt Funktionalität ein, die dem Adapter 118 ermöglicht, eine Schnittstelle zu unterschiedlichen externen Servern zu haben und/oder mit unterschiedlichen externen Servern zu kommunizieren, die mit unterschiedlichen Protokollen, Schnittstellen, Betriebssystemen und/oder Dateisystemen arbeiten können. Die Server-Referenzdatenbank 210 kann Referenzen auf die Protokolle, Schnittstellen, Betriebssysteme und/oder Dateisysteme einschließen, die mit jedem externen Server assoziiert sind. Wenn dann der Adapter 118 einen externen Server für den Zugriff identifiziert, kann der Adapter 118 die Protokoll-, Schnittstellen-, Betriebssystem- und/oder Dateisysteminformationen verwenden, die mit dem externen Server assoziiert sind, um mit dem externen Server auf geeignete Weise zu kommunizieren und/oder eine geeignete Schnittstelle zu dem externen Server zu haben.
  • Nach Empfangen der und/oder Zugreifen auf die angeforderten Prozessdaten von einem externen Server leitet der beispielhafte Adapter 118 die Prozessdaten an den Konverter 120 weiter. Der beispielhafte Konverter 120 von 2 konvertiert Prozessdaten und/oder EDDL-Dateien von jedwedem mit Interoperabilität-Datenpacken verknüpftem Format in ein Format, das in einem Webbrowser und/oder jedweder anderen programmatischen Anwendung betrachtbar ist. Nach Konvertieren der Prozessdaten in ein Webbrowser-Format und/oder anderes Format einer programmatischen Anwendung leitet der Konverter 120 die konvertierten Prozessdaten an die webbasierte Schnittstelle 122 weiter. Der beispielhafte Konverter 120 kann auch eine komprimierte EDDL-Datei in ein Format (z. B. XML und/oder XSLT) konvertieren, das von dem Datenprozessor 206 verwendet werden kann, um Prozessdaten innerhalb einer Vorlage anzuzeigen. Der Konverter 120 kann ferner geschriebene Werte und/oder Prozessdaten von der webbasierten Schnittstelle 122 empfangen. Der Konverter 120 konvertiert in diesen Beispielen das Webbrowserformat und/oder Format der programmatischen Anwendung der geschriebenen Daten in ein Format, das der Adapter 118 verwenden kann, um die geschriebenen Daten auf einem externen Server zu speichern. Der Konverter 120 kann jegliche Anwendung, jegliches Framework, jeglichen Datenkonvertierungsalgorithmus usw. verwenden, die durch jedwede Datenpackungskonvention spezifiziert werden können.
  • Obwohl in 2 der beispielhafte Wrapper 110 illustriert worden ist, können einer oder mehrere der Server, Plattformen, Schnittstellen, Datenstrukturen, Elemente, Prozesse und/oder Vorrichtungen, die in 2 illustriert sind, in beliebiger Weise kombiniert, unterteilt, anders angeordnet, weggelassen, eliminiert und/oder implementiert werden. Der beispielhafte Sicherheitsprozessor 202, der beispielhafte Sessioncontroller 204, die webbasierte Schnittstelle 122, der beispielhafte Konverter 120, der beispielhafte Adapter 118, der beispielhafte Datenprozessor 206, die beispielhafte Vorlagendatenbank 208, die beispielhafte Server-Referenzdatenbank 210 und/oder allgemeiner der beispielhafte Wrapper 110 können durch Hardware, Software, Firmware und/oder jedwede Kombination aus Hardware, Software und/oder Firmware implementiert werden. Somit können beispielsweise beliebige des beispielhaften Sicherheitsprozessors 202, des beispielhaften Sessioncontrollers 204, der webbasierten Schnittstelle 122, des beispielhaften Konverters 120, des beispielhaften Adapters 118, des beispielhaften Datenprozessors 206, der beispielhaften Vorlagendatenbank 208, der beispielhaften Server-Referenzdatenbank 210 und/oder allgemeiner des beispielhaften Wrappers 110 durch einen oder mehrere Schaltkreis(e), programmierbare(n) Prozessor(en), anwendungsspezifische(n) integrierte(n) Schaltkreis(e) (ASIC(s)), programmierbare(s) Logikelement(e) (PLD(s)) und/oder feldprogrammierbare(s) Logikelement(e) (FPLD(s)) usw. implementiert werden.
  • Wenn irgendein Vorrichtungsanspruch dieses Patents so gelesen wird, dass eine reine Software- und/oder Firmware-Implementierung abgedeckt ist, sind hier mindestens eine(r) von dem beispielhaften Sicherheitsprozessor 202, beispielhaften Sessioncontroller 204, der webbasierten Schnittstelle 122, dem beispielhaften Konverter 120, dem beispielhaften Adapter 118, dem beispielhaften Datenprozessor 206, der beispielhaften Vorlagendatenbank 208 und/oder der beispielhaften Server-Referenzdatenbank 210 hier ausdrücklich so definiert, dass ein computerlesbares Medium wie ein Speicher, eine DVD, CD, usw. eingeschlossen ist, um die Software und/oder Firmware zu speichern. Der beispielhafte Wrapper 110 kann darüber hinaus ein oder mehrere Elemente, Prozesse und/oder Vorrichtungen zusätzlich zu oder anstelle der in 2 illustrierten einschließen und/oder kann mehr als eines jeder bzw. aller der illustrierten Elemente, Prozesse und Vorrichtungen einschließen.
  • 3 ist ein Blockdiagramm eines beispielhaften dienstorientierten Frameworks 300, das zum Implementieren des beispielhaften Wrappers der 1 und 2 verwendet werden kann. Das beispielhafte dienstorientierte Framework 300 liefert eine dienstorientierte Architektur zur Verbesserung der Flexibilität eines Steuerungssystems (z. B. des Steuerungssystems 102 von 1). Wie in 3 illustriert befindet sich das dienstorientierte Framework 300 in Kommunikation mit dem Client 106, einer Vorrichtungsbeschreibungsschicht 302, einem oder mehreren Vorrichtungsnetzwerk(en) 304. Der Client schließt die Client-Anwendung 124 ein, die Anforderungen nach Prozessdaten an das dienstorientierte Framework 300 überträgt. Das dienstorientierte Framework 300 schließt eine Dienstschicht 306, eine Übersetzungsschicht 308, eine Netzwerkanwendungsschicht 310 und eine Sicherheitsschicht 312 ein.
  • Der beispielhafte Wrapper 110 kann durch die beispielhafte Dienstschicht 306, die Übersetzungsschicht 308 und die Sicherheitsschicht 312 implementiert werden. Die Dienstschicht 306 schließt Dienst-Schnittstellen 320, Dienst-Nachrichtentypen 322, Dienst-Datentypen 324, Adapter 326 und Dienste 328 ein. Zu den von der Dienstschicht 306 bereitgestellten beispielhaften Diensten 328 gehören das Übertragen von Prozessdaten und Vorlagen an den Client 106 zur Anzeige. Dienste können auch das Abonnieren von Prozessdaten und/oder das Schreiben von Prozessdaten an das Vorrichtungsnetzwerk/die Vorrichtungsnetzwerke 304 einschließen. Die Dienste 328 werden als Dienstverträge dargelegt, die Anwendungen und/oder Vorrichtungen ermöglichen, die Dienste 328 zur Ausführung der gewünschten Fähigkeiten oder Funktionen anzufordern.
  • Der Client 306 greift über die Dienst-Schnittstellen 320 auf die Dienstschicht 306 zu. Die Dienstschicht 306 verwaltet Dienstanforderungen von der Client-Anwendung 124 und übersetzt Dienstverträge zur Verwendung durch den Client 106. Wenn Nachrichten zwischen einem Dienst und dem Client 106 ausgetauscht werden, können ein oder mehrere Adapter 326 verwendet werden, um die Nachrichten in Formate umzuwandeln, die der Client 106 verstehen kann. Der Zugriff auf die Dienstschicht 306 wird durch Richtlinien definiert. Richtlinien ermöglichen dem Client 106, die Verbindungstypen, Sicherheitsanforderungen zum Zugreifen auf Dienste und/oder jegliche anderen Details zu bestimmen, die mit Anfordern von Diensten verknüpft sind.
  • Die Übersetzungsschicht 308 übersetzt zwischen Protokollen. Die Übersetzungsschicht 308 kann beispielsweise den Konverter 120 implementieren, um Prozessdaten von einem Interoperabilitäts-Datenpackungsformat in ein Webbrowserformat zu übersetzen. Die Übersetzungsschicht 308 kann in anderen Beispielen Prozessdaten von einem vorrichtungsnetzwerkspezifischen Protokoll (z. B. HART, Feldbus, Profibus) in ein Feldgeräteintegrations-(FDI)-Format konvertieren. Die beispielhafte Übersetzungsschicht 308 empfängt Informationen über Prozessdaten von der Vorrichtungsbeschreibungsschicht 302. Die Vorrichtungsbeschreibungsschicht 302 schließt Feldgerät-EDDL-Dateien ein, die in einer EDDL-Datenbank 330 und/oder einer Datenbank im üblichen Dateiformat 332 gespeichert sind. Die Datenbanken 330 und 332 können innerhalb des Steuerungssystems implementiert sein. Es können ferner auch Kopien der Datenbanken 330 und 332 beispielsweise in den externen Server 104 eingeschlossen sein. Auf diese Weise kann der Wrapper 110 auf die EDDL-Datenbank 330 und/oder die Datenbank 332 im üblichen Dateiformat zugreifen, um Beschreibungen zu erhalten, wie Prozessdaten innerhalb von Vorlagen angezeigt werden sollen. Die Datenbank im üblichen Dateiformat 332 speichert Informationen über Vorrichtungen und/oder Anwendungen. In einigen Beispielen verwendet die Datenbank in üblichem Dateiformat 332 ein Schema, das XML-Dateien zum Beschreiben der Funktionalität von Feldvorrichtungen einschließt.
  • Die beispielhafte Vorrichtungsbeschreibungsschicht 302 schließt eine XSLT-Vorlagen-Datenbank 334 ein (z. B. die Vorlagendatenbank 208). Die Übersetzungsschicht 308 kann auf die XSLT-Vorlagen-Datenbank 334 zugreifen, um XSLT-Vorlagen zu erhalten, welche zu anzuzeigenden Prozessdaten passen. Die Übersetzungsschicht 308 kann auch EDDL-Dateien aus der EDDL-Datenbank 330 verwenden, um zu ermitteln, wie die Prozessdaten in die XSLT-Vorlagen eingebettet und/oder mit diesen kombiniert werden sollen. Die beispielhafte Übersetzungsschicht 308 verwendet die Prozessdaten innerhalb der XSLT-Vorlagen zur Generierung einer Anzeigedatei, die durch die Dienstschicht 306 verwendet wird, um über die Dienst-Schnittstelle 320 Prozessdaten an die Client-Anwendung 124 zu liefern. Die Übersetzungsschicht 308 kann eine Anwendungsfassade einschließen, die die Vorlagen zur Anzeige verarbeitet.
  • Es mag in einigen Fällen notwendig sein, den Zugriff von dem Client 106 auf die Vorrichtungsnetzwerke 304 zu begrenzen. Um diese Anforderung zu unterstützen, schließt das dienstorientierte Framework 300 die Sicherheitsschicht 312 ein, um für Authentifizierung und/oder Autorisierung zu sorgen (z. B. über den Sicherheitsprozessor 202 des Wrappers 110). Die Implementierung der Authentifizierung kann von dem Typ des verwendeten Dienst-Hosts abhängen. Das dienstorientierte Framework 300 ermöglicht somit die Nutzung von einer oder mehreren Sicherheitsschichten. Wenn das dienstorientierte Framework 300 beispielsweise in Internet Information Services (IIS) gehostet wird, wird die von IIS bereitgestellte Authentifizierungsunterstützung verwendet. Wenn alternativ der Dienst von einem Windows-Dienst gehostet wird, wird eine Authentifizierung auf Nachrichtenbasis oder Transportbasis verwendet.
  • Das beispielhafte dienstorientierte Framework 300 umfasst die Netzwerkanwendungsschicht 310, um Prozessdaten von den Vorrichtungsnetzwerken 304 zu empfangen. Die Netzwerkanwendungsschicht 310 schließt Datenzugrifffunktionalität zur Interaktion mit einem oder mehreren der Vorrichtungsnetzwerke 304 ein. Das beispielhafte Framework 300 kann mehrere Netzwerkanwendungsschichten 310 einschließen, die jeweils für ein spezielles Vorrichtungsnetzwerk spezifisch sein können, wie HART, Feldbus und/oder Profibus. In einigen Beispielen kann die Netzwerkanwendungsschicht 310 den externen Server 106 implementieren, indem eine Transportschicht der Prozessdaten von dem Steuerungssystem 102 bereitgestellt wird. Die Netzwerkanwendungsschicht 310 kann auch Netzwerknachrichtentypen, Netzwerkdatentypen und/oder ein Objektverzeichnis (z. B. ein Prozesssteuerungsverzeichnis) einschließen, die Prozessdaten innerhalb des externen Servers 106 organisieren und klassifizieren. Netzwerkdatentypen können beispielsweise Eigenschaftsinformationen liefern, die der Wrapper 110 zur Identifizierung passender Vorlagen und/oder Datenfelder zum Einbetten entsprechender Prozessdaten verwendet. Der Wrapper 110 kann zusätzlich das Objektverzeichnis verwenden, um die angeforderten Prozessdaten relativ rasch zu lokalisieren.
  • Die Vorrichtungsnetzwerke 304 verleihen dem beispielhaften Framework 300 die Fähigkeit, Vorrichtungen zu konfigurieren, auf Vorrichtungsdiagnostik zuzugreifen, Messwerte zu übertragen, Alarme und Ereignisse zu übertragen, und/oder andere Kommunikation- und Kontrollfähigkeiten. Einige beispielhafte Fähigkeiten, die von dem dienstorientierten Framework 300 unterstützt werden, schließen Anforderungen und/oder Antworten, Veröffentlichen und/oder Abonnieren, Übertragen von Ereignissen, Pflegen eines Verzeichnisses von Anwendungen und/oder Vorrichtungen und/oder Schreiben von Befehlen in Vorrichtungen ein. Das dienstorientierte Framework verleiht dem Client 300 über die Dienstschicht 306 Zugriff auf diese Fähigkeiten. Das dienstorientierte Framework kann beispielsweise Dienste aufweisen, die für Anforderungs-/Antwort-, Veröffentlichungs-/Abonnement-, Ereignis-, Verzeichnis- und Schreibfähigkeiten definiert sind.
  • Das Vorrichtungsnetzwerk 304 schließt Netzwerkprotokolle und Netzwerkdienste zur Kommunikation mit den Feldvorrichtungen innerhalb des Prozesssteuerungssystems 112 ein. Die Vorrichtungsnetzwerke 304 können auch den Controller 114 und/oder ein Kommunikationsmedium zwischen dem Controller 114 und dem externen Server 104 einschließen. Auf diese Weise werden von Feldvorrichtungen generierte Prozessdaten verarbeitet und über die Vorrichtungsnetzwerke 304 auf dem externen Server 304 gespeichert. Die Vorrichtungsnetzwerke 304 können auch von dem Client 106 geschriebene Daten an entsprechende Feldvorrichtungen übertragen.
  • 4 zeigt eine beispielhafte Schnittstelle 400 für Serveridentifizierungs-Prozessdaten, die in einem Webbrowser angezeigt werden. Die Schnittstelle 400 ist als Anwendungsfenster gezeigt. In anderen Beispielen kann die Schnittstelle 400 jedoch Navigationsfunktionen einschließen, die mit einem Webbrowser und/oder jedwedem anderen programmatischen Client assoziiert sind. Obwohl die beispielhafte Schnittstelle 400 als eine Weise zur Anzeige von Prozessdaten in Datenfeldern gezeigt ist, können ferner andere beispielhafte Schnittstellen erstellt werden, um Prozessdaten anzuzeigen.
  • Das Beispiel von 4 zeigt die Schnittstelle 400, die Serveridentifizierungsinformationen anzeigt, die mit einem Servereigenschafts-Tab 402 assoziiert sind. Die Schnittstelle 400 schließt einen Navigationsbereich 404 und einen Datenbereich 406 ein. Die Bereiche 404 und 406 können vorkonfiguriert und/oder von einer oder mehreren Vorlagen (z. B. einer XSLT-Vorlage) und/oder Stylesheets zur Anzeige von Prozessdaten spezifiziert werden. Der beispielhafte Wrapper 110 der 1 und/oder 2 kann die Vorlage oder das Stylesheet zum Anordnen und/oder Einbetten von Datenfeld(ern) und den assoziierten Prozessdaten verwenden. Der Datenbereich 406 kann beispielsweise vorkonfiguriert werden, um eine Variable und/oder einen Parameternamen (z. B. Attribut) und einen Datenwert (z. B. Wert) anzuzeigen, die mit den Prozessdaten assoziiert sind. Der beispielhafte Wrapper 110 kann dann die mit der Dienstidentifikation assoziierten Datenfelder in die Attributspalte und/oder die Wertespalte einbetten und/oder dort platzieren. Prozessdaten, die einen externen Servernamen beschreiben, können beispielsweise durch eine Eigenschaft ”ServerName” mit einem Wert von ”OPC DA Server” identifiziert werden.
  • Ein Client kann auf die in Schnittstelle 400 gezeigten Prozessdaten zugreifen, indem eine Webadresse und/oder eine Internet Protocol(IP)-Adresse in einen Webbrowser eingegeben wird. Der Webbrowser kann dann zu dem Wrapper 110 und/oder dem Webseitenserver 108 von 1 navigieren. Der Wrapper 110 löst die Webadresse und/oder IP-Adresse für den externen Server (z. B. den OPC DA Server) auf, der in der Schnittstelle 400 gezeigt ist. Der Wrapper 110 ruft dann Prozessdaten ab, die mit dem externen Server assoziiert sind, konvertiert die Prozessdaten in ein Webbrowserformat, identifiziert Datentyp(en) (z. B. Eigenschaften) der Prozessdaten, wählt mindestens eine Vorlage basierend auf den identifizierten Typen aus, bettet die Prozessdaten in die Vorlage(n) ein und zeigt die Schnittstelle 400 dem Client über den Webbrowser an, indem die Vorlage(n) mit den Prozessdaten gerendert werden. Das Rendern der Vorlage(n) mit den Prozessdaten kann das Erstellen einer Anzeigedatei einschließen, die an den Webbrowser gesendet wird, um die Prozessdaten innerhalb der Schnittstelle 400 anzuzeigen. In diesem Beispiel ermittelt der Wrapper 110 den Typ/die Typen der Prozessdaten durch Identifizieren von Eigenschaften innerhalb von Metadaten, die mit den Datenwerten assoziiert sind. Der Wrapper 110 kann dann die Eigenschaften verwenden, um entsprechende Werte der Prozessdaten in entsprechende Datenfelder in der Vorlage(n) einzubetten und/oder in diese einzufügen.
  • In dem illustrierten Beispiel zeigt der Navigationsbereich 404 ein Verzeichnis und/oder eine Dateistruktur von OPC Serveridentifizierungsinformationen, die mit dem externen Server assoziiert sind. Ein Client kann durch die Verzeichnisstruktur in dem Navigationsbereich 404 navigieren, um Prozessdaten auszuwählen, die mit OPC Serverinformationen assoziiert sind, die im Datenbereich 406 angezeigt werden. Der Client kann selektiv andere externe Serverdaten betrachten, indem die anderen Verzeichnisse innerhalb des Navigationsbereichs 404 ausgewählt werden. Der beispielhafte Wrapper 110 kann diese Verzeichnisstruktur (z. B. Prozessdaten) von dem externen Server abrufen und die Verzeichnisstruktur innerhalb von Datenfeldern unter Verwendung der Vorlage des Navigationsbereichs 404 konfigurieren.
  • 5 zeigt eine beispielhafte Schnittstelle 500 für Prozessdaten, die in einem Webbrowser angezeigt werden. Die Prozessdaten werden in dem Webbrowser angezeigt, indem ein Datenlisten-Tab 502 gewählt wird. Wenn ein Client den Datenlisten-Tab 502 wählt, ruft der beispielhafte Wrapper 110 der 1 und/oder 2 Prozessdaten ab. Die Schnittstelle 500 schließt einen Abonnentenbereich 504 und einen Datenbereich 506 ein. Das Layout der Bereiche 504 und/oder 506 kann in einer oder mehreren Vorlagen basierend auf dem Typ der Prozessdaten spezifiziert werden, die mit dem Datenlisten-Tab 502 assoziiert sind.
  • Der Abonnentenbereich 504 ermöglicht einem Client, eine Aktualisierungsrate für Prozessdaten anzugeben, die in dem Datenbereich 506 angezeigt werden. In diesem Beispiel gibt der Client eine Update-Rate von 5000 Millisekunden (ms) an. Der Abonnentenbereich 504 schließt auch einen Client-Identifikator (z. B. Client-ID), einen Server-Identifikator (Server-ID) und die gewählte Aktualisierungsrate (z. B. Update-Rate) ein.
  • Der beispielhafte Datenbereich 506 zeigt ausgewählte Prozessdaten einschließlich eines Verzeichnisorts der Prozessdaten in dem externen Server (z. B. Instanz-ID), einen Datenwert (z. B. Datenwert), einen Status der Prozessdaten (z. B. Statuscode) und den Zeitpunkt der Erstellung der Prozessdaten (z. B. Zeitstempel) an. Der Datenbereich 506 schließt Schaltfläche zum Hinzufügen oder Entfernen von Prozessdaten von der Anzeige ein. Der Datenbereich 506 schließt auch Schaltflächen zum Lesen oder Schreiben der Prozessdaten ein.
  • In dem Beispiel von 5 ermittelt der Wrapper 110, dass die anzuzeigenden Prozessdaten mit einem Datentyp und/oder einer Eigenschaft der numerischen Werte vom Listentyp assoziiert sind. Der beispielhafte Wrapper 110 sucht nach einer oder mehreren Vorlagen, die Datenfelder zum Anzeigen von numerischen Prozessdaten in einer Tabelle vom Listentyp einschließen. Der beispielhafte Wrapper 110 bettet dann die Prozessdaten in die Datenfelder ein, generiert eine Anzeigedatei mit den kombinierten Prozessdaten und Vorlagen und überträgt (und/oder rendert) die Anzeigedatei zur Anzeige über die Schnittstelle 500.
  • 6 zeigt eine beispielhafte Schnittstelle 600, die mit dem beispielhaften Wrapper 110 kommuniziert, um Prozessdaten in einem Webbrowser anzuzeigen. Die beispielhafte Schnittstelle 600 schließt eine Navigationsleiste 602 ein, die ein Bediener möglicherweise zur Eingabe eines Feldvorrichtungsnamens (z. B. TT101) verwendet, um mit der Feldvorrichtung assoziierte Prozessdaten zu betrachten. Die Schnittstelle 600 schließt auch eine Menüleiste 604 ein, die Optionen zur Schnittstellenkopplung mit der TT101 Feldvorrichtung einschließt. In diesem Beispiel wird die Option Manuelle Einrichtung ausgewählt.
  • Die beispielhafte Schnittstelle 600 von 6 kann dem Wrapper 110 Zielanzeigeinformationen liefern, die Prozessdaten angeben, die mit der TT101 Feldvorrichtung assoziiert sind und in einem Webbrowser auf einer Workstation oder einem Laptop angezeigt werden sollen. Zusätzlich, nach Auswählen oder Eingeben einer Feldvorrichtung (z. B. eines Objekts) empfängt der beispielhafte Wrapper 110 den Feldvorrichtungsnamen (z. B. TT101). Der Wrapper 110 verwendet den Feldvorrichtungsidentifikator zum Identifizieren einer Feldvorrichtung (z. B. eines Objekttyps), Eigenschaften, die mit der Feldvorrichtung assoziiert sind, und/oder Prozessdaten (z. B. Werten), die mit der Feldvorrichtung assoziiert sind. Der Wrapper 110 verwendet diese Informationen mit der Zielanzeigeinformation zur Auswahl einer Vorlage, um die Prozessdaten in Datenfeldern anzuzeigen. Der Wrapper 110 verwendet diese Informationen auch zum Zugriff auf die Prozessdaten von einem externen Server des Steuerungssystems. Der Wrapper 110 kann eine Vorlage auswählen, indem auf die Vorlagen-Datenbank 208 zugegriffen und Vorlagen für Webbrowser geortet werden, die auf einer Workstation laufen. Der Wrapper 110 kann dann die Vorlagen basierend auf einen Vorrichtungstyp der TT101 Feldvorrichtung eingrenzen. Der Wrapper 110 kann danach das Datenfeld/die Datenfelder in der Vorlage auswählen, die den Prozessdaten entsprechen.
  • In dem Beispiel von 6 kann der Wrapper 110 der Schnittstelle 600 eine Vorlage 606 und eine Vorlage 608 liefern. Die Vorlagen 606 und 608 schließen Datenfelder mit Prozessdaten (z. B. Analogeingabe (AI), % Bereich, Einheiten, unterer Bereich, oberer Bereich, Markierung (Tag), Datum und Deskriptor ein, die mit der TT101-Feldvorrichtung assoziiert sind. Der beispielhafte Wrapper 101 kann die in den Vorlagen 606 und 608 gezeigten Prozessdaten rendern, indem die Prozessdaten abgeglichen und basierend auf Metadaten in den Prozessdaten in das passende Feld/die passenden Felder eingefügt werden. In anderen Beispielen können Vorlagen Graphen, Diagramme, Grafiken und/oder jegliche andere Datendarstellung einschließen.
  • 7A und 7B zeigen eine beispielhafte Schnittstelle 700, die auf einer Drahtlos-Vorrichtung 702 angezeigt wird, die mit dem beispielhaften Wrapper 110 der 1 und/oder 2 kommuniziert, um Prozessdaten in einer Client-Anwendung anzuzeigen. Die Drahtlos-Vorrichtung 702 kann jede tragbare Computervorrichtung einschließen, einschließlich beispielsweise einem Smartphone, ein Personal Digital Assistant (PDA), ein Webphone, ein Netpad, usw. Die Beispiele der 7A und 7B zeigen den beispielhaften Wrapper 110, der Prozessdaten in einer Vorlage rendert, die für den relativ kleineren Bildschirm der Drahtlos-Vorrichtung 702 konfiguriert ist.
  • Die Benutzerschnittstelle 700 schließt in 7A ein Objektsuchfeld 704 und eine Tastatur 706 ein. Das Objektsuchfeld 704 ermöglicht einem Benutzer die Eingabe eines Feldvorrichtungsidentifikators (z. B. OPC DA/VORRICHTUNG/TT101) über die Tastatur 706. Das Objektsuchfeld 704 liefert die eingegebene TT101 Feldvorrichtung an den Wrapper 101. Die Drahtlos-Vorrichtung 702 kann zudem die Zielanzeigeinformation an den Wrapper 100 senden. Der Wrapper 110 verwendet den Identifikator der TT101 Feldvorrichtung (z. B. Objekttyp) zum Lokalisieren von Prozessdaten und/oder Eigenschaften, die mit der TT101 Feldvorrichtung assoziiert sind. Der beispielhafte Wrapper 101 verwendet die Zielanzeigeinformationen zur Auswahl einer Vorlage 708, die zur Anzeige auf dem relativ kleinen Bildschirm der Drahtlosvorrichtung 702 formatiert ist.
  • Der Wrapper 110 kann die Prozessdaten abgleichen, sie in die entsprechenden Datenfelder der Vorlage 708 einfügen und rendern, wie in 7B gezeigt ist. Der Wrapper 110 kann außerdem eine Menüleiste 710 zum Navigieren zu anderen Vorlagen anzeigen. Die Menüleiste 710 kann in die Vorlage 708 eingeschlossen sein und/oder kann durch Navigations-Prozessdaten spezifiziert werden, die mit dem Verzeichnisort OPC DA/DEVICE/TT101 assoziiert sind. Die Anzeige der Menüleiste 710 kann alternativ von der Client-Anwendung verwaltet werden. Das Beispiel von 7B zeigt, dass der Wrapper 110 die Vorlage 708 auswählt, die für die drahtlose Vorrichtung 702 formatiert ist, während in 6 der Wrapper 110 die Vorlagen 606 und 608 auswählt, die für den Webbrowser auf einer Workstation formatiert sind.
  • 8 zeigt eine beispielhafte Schnittstelle 800, die Prozessdaten in einem Webbrowser anzeigt. Die Schnittstelle 802 schließt eine Navigationsleiste 802 ein, die ein Benutzer zur Eingabe eines Dateiorts oder Pfads von Prozessdaten verwenden kann. Eine XSLT-Vorlage 804 zeigt eine Tabelle von Prozessdaten, die in Datenfeldern angezeigt werden. Die XSLT-Vorlage 804 schließt Datenfelder für Hersteller, Vorrichtungstyp und Version ein. Ein Benutzer kann den Pfad HTTP://OPCDASERVER/DEVICE/DEVICECOLLECTION bereitstellen, um auf Prozessdaten zuzugreifen oder diese zu verfolgen, die mit Vorrichtungen assoziiert sind, die innerhalb einer Gruppe organisiert sind. Auf die Prozessdaten innerhalb der Vorlage 804 kann von einem externen Server als XML-Datei zugegriffen werden:
    Figure 00330001
  • Die oben gezeigte beispielhafte XML-Datei listet den Hersteller, Vorrichtungstyp und die Version der drei Feldvorrichtungen unter der Zeile <catalog> auf. In diesem Beispiel schließen die Prozessdaten den Herstellernamen einer Feldvorrichtung und die Version einer Feldvorrichtung ein (z. B. Rosemount 3051MV Feldvorrichtung Version 5) ein. Der beispielhafte Wrapper 110 kann den von einem Benutzer angeforderten Pfad zum Zugriff auf einen entsprechenden externen Server verwenden und nach Prozessdaten suchen, die durch den Pfad spezifiziert werden. In diesem Beispiel werden die Prozessdaten in der XML-Datei spezifiziert.
  • Um die Prozessdaten über die Schnittstelle 800 anzuzeigen, kann der beispielhafte Wrapper 110 nach einer XSLT-Vorlage (z. B. der Vorlage 804) mit Datenfeldern suchen, die den Eigenschaften (z. B. Variablen) in der XML-Datei entsprechen. Die XSLT-Vorlage 804 kann durch die folgenden Anweisungen definiert werden:
    Figure 00340001
    Figure 00350001
  • Die Zeile <xsl:stylesheet version=”1.0” xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”> gibt an, dass die Vorlage 804 in der Schnittstelle 800 angezeigt werden soll. Der beispielhafte Wrapper 110 kann die Vorlage 804 basierend auf Informationen (z. B. Zielanzeigeinformationen, Objekttyp, usw.) auswählen, die von der Schnittstelle 800 empfangen wurden. Der Wrapper 110 kann beispielsweise die Eigenschaft <manufacturer> (Hersteller) in der XML-Datei mit dem Datenfeld <xsl:value-of select=”manufacturer”/> in der XSLT-Vorlage 804 abgleichen. Die XSLT-Vorlage 804 gibt auch die Tabellenüberschriften (z. B. Hersteller, Vorrichtungstyp und Version) sowie Anweisungen (z. B. <xsl:value-of select=”manufacturer”/>, <xsl:value-of select=”type”/> und <xsl:value-of select=”version”/>) an, um die Prozessdaten in Datenfelder zu formatieren.
  • Um die angezeigte Version der XSLT-Vorlage 804 in der Schnittstelle 800 von 8 zu generieren, kann der Wrapper 110 eine Anzeigedatei erstellen, indem die Anweisungen der XSLT-Vorlage 804 ausgeführt und die Prozessdaten in der XML-Datei referenziert werden. In anderen Worten kombiniert der Wrapper 110 die Prozessdaten in der XML-Datei mit Variablen in den Anweisungen der XSLT-Vorlage 804, um eine Anzeigedatei zu generieren. Der Wrapper 110 kann danach die Anzeigedatei rendern, um die XSLT-Vorlage 804 mit den Prozessdaten über die Schnittstelle 800 anzuzeigen.
  • In den 9A, 9B und 9C sind Flussdiagramme gezeigt, die ein Beispiel für Prozesse 900 zur Implementierung des beispielhaften Wrappers 110 der 1 und 2 zeigen. In diesem Beispiel kann der Prozess 900 unter Verwendung maschinenlesbarer Anweisungen in Form eines Programms zur Ausführung durch einen Prozessor implementiert werden, wie durch den Prozessor 12, 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 mit dem Prozessor P12 assoziierten Speicher gespeichert ist, das gesamte Programm und/oder Teile davon können alternativ jedoch durch eine andere Vorrichtung 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 9A, 9B und 9C beschriebenen Flussdiagramme beschrieben wird, können alternativ viele andere Methoden zur Implementierung des beispielhaften Wrappers 110 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 kann der beispielhafte Prozess der 9A, 9B und 9C unter Verwendung kodierter Anweisungen (z. B. computerlesbarer Anweisungen) implementiert werden, die auf einem dinglichen 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 Puffern und/oder zum Cachen der Informationen) gespeichert werden. Der Begriff dingliches 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 kann der beispielhafte Prozess der 9A, 9B und 9C 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 sich ausbreitende Signale ausgeschlossen sind.
  • Der beispielhafte Prozess 900 der 9A, 9B und 9C ermöglicht es einem Client, auf Prozessdaten zuzugreifen, die auf einem externen Server gespeichert sind. Es können mehrere beispielhafte Prozesse 900 parallel oder seriell durchgeführt werden, um auf Prozessdaten für mehrere Clients zuzugreifen. In Beispielen, in denen die angeforderten Prozessdaten auf zwei oder mehr externen Servern gespeichert sein können, kann der beispielhafte Prozess zudem für jeden externen Server implementiert werden, oder alternativ kann ein einzelner beispielhafter Prozess 900 für die externen Server implementiert werden.
  • Der beispielhafte Prozess 900 von 9A beginnt, indem eine Anforderung zum Zugriff auf Prozessdaten (z. B. über den Sicherheitsprozessor 200 und/oder die webbasierte Schnittstelle 122 von 2) empfangen wird (Block 902). Der beispielhafte Prozess 900 fordert dann Sicherheitsnachweise zum Zugriff auf die Prozessdaten (z. B. über den Sicherheitsprozessor 202) an (Block 904). Sicherheitsnachweise können einen Benutzernamen und ein Passwort, einen Zugangscode, einen eindeutigen Identifikator, usw. einschließen. In einigen Beispielen können die Sicherheitsnachweise in die Anforderung eingeschlossen sein. Der beispielhafte Prozess 900 ermittelt als nächstes, ob die empfangenen Sicherheitsnachweise die Authentifizierung (z. B. über den Sicherheitsprozessor 202) bestehen (Block 906). Wenn die Sicherheitsnachweise in Ordnung sind und die Authentifizierung bestanden ist, erzeugt der beispielhafte Prozess 900 in Abhängigkeit von der Anforderung von dem Client (z. B. über Sessioncontroller 204) eine Zugriffssession mit Lese-, Schreib- und/oder Abonnementzugriff (Block 908). Der beispielhafte Prozess 900 identifiziert dann einen mit der Anforderung assoziierten externen Server (z. B. über den Adapter 118 zum Zugriff auf die Server-Referenzdatenbank 210 von 2) (Block 910).
  • Wenn der beispielhafte Prozess 900 jedoch nicht in der Lage ist, die Sicherheitsnachweise zu verifizieren (Block 906), kann der beispielhafte Prozess 900 eine Zugriffsession mit nur Lesezugriff erstellen (z. B. über den Sessioncontroller 204) (Block 912). Der beispielhafte Prozess 900 identifiziert dann einen mit der Anforderung assoziierten externen Server (Block 910). Wenn der beispielhafte Prozess 900 alternativ nicht in der Lage ist, die Sicherheitsnachweise zu verifizieren (Block 906), kann der beispielhafte Prozess 900 den Zugriff des Clients auf die angeforderten Prozessdaten verweigern.
  • Der beispielhafte Prozess 900 von 9A fährt fort, indem (z. B. über den Adapter 118) auf den identifizierten externen Server (Block 914) zugegriffen und auf ein oder mehrere Verzeichnisse zugegriffen wird, die mit der Anforderung assoziiert sind (Block 916). Wenn in Beispielen die angeforderten Prozessdaten sich zudem auf mehr als einem externen Server befinden, kann der beispielhafte Prozess 900 die Verzeichnisse und/oder Dateien lokalisieren, die sich auf dem einen oder mehreren externen Server(n) befinden (Block 916). Der beispielhafte Prozess 900 kann die angeforderten Prozessdaten unter Verwendung von Endpunkten, über manuelle Navigation des Clients und/oder durch Informationen lokalisieren, die innerhalb der Anforderung von dem Client bereitgestellt wurden. Nach Zugriff auf den Ort der angeforderten Prozessdaten empfängt der beispielhafte Prozess 900 dann eine Anforderung zum Lesen, Schreiben und/oder Abonnieren der angeforderten Prozessdaten. In einigen Beispielen kann die Anforderung zum Zugriff auf Prozessdaten eine Anforderung zum Lesen, Schreiben und/oder Abonnieren der Prozessdaten einschließen. Der Client kann in anderen Beispielen eine andere Anforderung senden, um über eine Schreib-, Lese- und/oder Abonnentenfunktion auf die Prozessdaten zuzugreifen.
  • Der beispielhafte Prozess 900 der 9B bestimmt (z. B. über den Adapter 118), ob die Anforderung mit einer Lese-, einer Schreib- und/oder einer Abonnentenfunktion assoziiert ist (Block 918). Wenn die Anforderung das Lesen von Prozessdaten (Block 918) beinhaltet, fährt der beispielhafte Prozess 900 fort, indem die angeforderten Prozessdaten von dem/den assoziierten externen Server(n) (z. B. über den Adapter 118) abgerufen werden (Block 920). Der beispielhafte Prozess 900 konvertiert dann die Prozessdaten von einem mit dem externen Server assoziierten Format (z. B. einem Interoperabilitäts-Datenpackungsformat) in ein Webbrowserformat und/oder ein Format einer programmatischen Anwendung (z. B. über den Konverter 120) (Block 922).
  • Wenn die Anforderung jedoch das Abonnieren von Prozessdaten (Block 918) beinhaltet, fährt der beispielhafte Prozess 900 fort, indem die angeforderten Prozessdaten von dem/den assoziierten externen Server(n) (z. B. über den Adapter 118) abonniert werden (Block 924). Der beispielhafte Prozess 900 kann die Prozessdaten abonnieren, indem ein Zeitintervall festgelegt wird, in dem eine Anforderungsnachricht an einen externen Server gesendet wird, um die neuesten Prozessdaten anzufordern. Nach Abonnieren der Prozessdaten ruft der beispielhafte Prozess 900 die angeforderten Prozessdaten von dem externen Server ab (z. B. über den Adapter 118) (Block 920). Der beispielhafte Prozess 900 kann ferner fortfahren, die angeforderten Prozessdaten in den angegebenen Intervallen von dem externen Server abzurufen. Für jedes Abrufen der Prozessdaten konvertiert der beispielhafte Prozess 900 dann (z. B. über den Konverter 120) die Prozessdaten in ein Webbrowserformat und/oder ein Format einer programmatischen Anwendung (Block 922).
  • Wenn die Anforderung Schreiben von Prozessdaten beinhaltet (Block 918), fährt der beispielhafte Prozess 900 fort, indem der von dem Client bereitgestellte geschriebene Datenwert abgerufen und der Datenwert (z. B. über den Konverter 120) in einen formatierten Wert konvertiert wird, um auf dem externen Server gespeichert zu werden (Block 926). Der beispielhafte Prozess 900 schreibt dann den Prozessdatenwert (z. B. über den Adapter 118) auf den passenden Datenort auf dem externen Server (Block 928). Der beispielhafte Prozess 900 kann dann die geschriebenen Prozessdaten in dem externen Server lesen und die Prozessdaten (z. B. über den Konverter 120) in ein Webbrowserformat konvertieren (Block 922). Der beispielhafte Prozess 900 kann einen geschriebenen Wert zurücklesen, um dem Client belegen zu können, dass ein geschriebener Wert in geeigneter Weise auf den externen Server geschrieben wurde.
  • Nach dem Konvertieren der Prozessdaten fährt der beispielhafte Prozess 900 fort, indem (z. B. über den Datenprozessor 206) der Datentyp/die Datentypen und/oder Eigenschaften ermittelt werden, die mit den Prozessdaten assoziiert sind (Block 929). Der beispielhafte Prozess 900 wählt dann (z. B. über den Datenprozessor 206) eine oder mehrere Vorlagen basierend auf den Eigenschaften der Prozessdaten (Block 930). Der beispielhafte Prozess 900 kann auch die Vorlage(n) basierend auf einem Vorrichtungstyp auswählen, der die Anforderung nach den Prozessdaten übermittelt hat. Der beispielhafte Prozess 900 kombiniert als nächstes (z. B. über den Datenprozessor 206 und/oder die webbasierte Schnittstelle 122) die Prozessdaten mit der ausgewählten Vorlage/den ausgewählten Vorlagen (Block 931). Der beispielhafte Prozess 900 kann die Prozessdaten mit der Vorlage/den Vorlagen kombinieren, indem die Prozessdaten in entsprechende Datenfelder der Vorlage(n) eingefügt und/oder eingebettet werden.
  • Der beispielhafte Prozess 900 von 9C ermittelt dann (z. B. über die webbasierte Schnittstelle 122), ob die Anforderung von dem Client mit einer Webserver-Anwendung oder einer Client-Anzeigeanwendung (z. B. einer programmatischen Anwendung) assoziiert ist (Block 932). Wenn die Anforderung des Clients mit einer Webserver-Anwendung assoziiert ist, erstellt und/oder generiert der beispielhafte Prozess 900 (z. B. über die webbasierte Schnittstelle 122) eine Anzeigedatei, indem Anweisungen ausgeführt werden, die mit der Vorlage/den Vorlagen assoziiert sind, die die Prozessdaten verwendet hat (Block 934). Der beispielhafte Prozess 900 kompiliert und/oder rendert dann die Anzeigedatei (z. B. über die webbasierte Schnittstelle 122) (Block 936). Der beispielhafte Prozess 900 ermöglicht als nächstes (z. B. über eine webbasierte Schnittstelle 122) eine Anzeige der Vorlage(n) einschließlich der Prozessdaten in einer Webseite, auf die mittels eines Webbrowsers zugegriffen wird, den ein Client bedient (Block 938).
  • Wenn alternativ die Anforderung von dem Client mit einer Client-Anzeigeanwendung assoziiert ist (Block 932), ruft der beispielhafte Prozess 900 von 9C (z. B. über die webbasierte Schnittstelle 122) die Client-Anzeigeanwendung am Ort des Clients auf (Block 944). Das Aufrufen der Client-Anzeigeanwendung kann das Öffnen der Anwendung in einem Webbrowser einschließen, der von dem Client verwendet wird, um auf die Prozessdaten zuzugreifen (z. B. eine ActiveX- oder SilverlightTM-Anwendung). Das Aufrufen der Client-Anzeigeanwendung kann auch das Initialisieren einer programmatischen Anwendung einschließen, um formatierte Prozessdaten und/oder Datenfelder zu empfangen. Der beispielhafte Prozess 900 kann dann (z. B. über die webbasierte Schnittstelle 122) eine Anforderung von der Client-Anzeigeanwendung empfangen, welche angibt, dass die Anwendung aufgerufen worden ist und zum Empfang von Prozessdaten bereit ist (Block 946). Der beispielhafte Prozess 900 generiert dann eine Anzeigedatei in einem Format, das der Client-Anzeigeanwendung entspricht, indem Anweisungen ausgeführt werden, die mit der Vorlage/den Vorlagen assoziiert sind, welche die Prozessdaten verwendet/verwenden (z. B. über die webbasierte Schnittstelle 122) (Block 948). Der beispielhafte Prozess 900 überträgt die Anzeigedatei an die Client-Anzeigeanwendung (z. B. über die webbasierte Schnittstelle 122) (Block 950). Der beispielhafte Prozess 900 kann dann die Prozessdaten wie durch die Vorlage(n) angewiesen über die Client-Anzeigeanwendung (z. B. über die webbasierte Schnittstelle 122) anzeigen (Block 952).
  • Der beispielhafte Prozess 900 von 9C fährt fort, indem (z. B. über die webbasierte Schnittstelle 122) ermittelt wird, ob der Client irgendwelche Teile der Prozessdaten und/oder der Vorlage(n) personalisiert hat (Block 940). Wenn der beispielhafte Prozess 900 ermittelt, dass der Client die Prozessdaten und/oder die Vorlage(n) nicht personalisiert hat, kehrt der beispielhafte Prozess 900 zum Empfangen einer Anforderung zum Zugreifen auf Prozessdaten von dem selben und/oder einem anderen Client zurück (Block 902 von 9A). Wenn der beispielhafte Prozess 900 jedoch ermittelt, dass der Client die Prozessdaten und/oder das Datenfeld/die Datenfelder personalisiert hat, speichert der beispielhafte Prozess 900 die Personalisierungsdaten (z. B. über die webbasierte Schnittstelle 122) (Block 942). Der beispielhafte Prozess 900 speichert die Personalisierungsinformationen, so dass die Prozessdaten in dem personalisierten Format angezeigt werden können, wenn der selbe Client zu einem anderen Zeitpunkt auf die selben Prozessdaten zugreift. Der beispielhafte Prozess 900 kehrt dann zum Empfangen einer Anforderung zurück, um auf Prozessdaten von dem selben und/oder einem anderen Client (Block 902) zurückzugreifen.
  • 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 zur Implementierung des beispielhaften Sicherheitsprozessors 202, des beispielhaften Sessioncontrollers 204, der beispielhaften webbasierten Schnittstelle 122, des beispielhaften Datenprozessors 206, der beispielhaften Vorlagendatenbank 208, des beispielhaften Konverters 120, des beispielhaften Adapters 118, der beispielhaften Server-Referenzdatenbank 210 und/oder allgemeiner des Wrappers 110 der 1 und/oder 2 verwendet werden. Obwohl das beispielhafte Prozessorsystem P10 anschließend als eine Vielzahl von Peripheriegeräten, Schnittstellen, Chips, Speichern usw. einschließend beschrieben wird, können ein oder mehrere dieser Elemente von anderen beispielhaften Prozessorsystemen weggelassen werden, die zur Implementierung von einem oder mehreren des beispielhaften Sicherheitsprozessors 202, des beispielhaften Sessioncontrollers 204, der beispielhaften webbasierten Schnittstelle 122, des beispielhaften Datenprozessors 206, der beispielhaften Vorlagendatenbank 208, des beispielhaften Konverters 120, des beispielhaften Adapters 118, der beispielhaften Server-Referenzdatenbank 210 und/oder allgemeiner des Wrappers 110 verwendet werden.
  • 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 chipintegriert 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 Speicher-Controller P20 und einen peripheren Eingabe/Ausgabe-(I/O)-Controller P22 einschließt. Ein Chipsatz liefert, wie gut bekannt ist, I/O- und Speicherverwaltungsfunktionen sowie eine Vielzahl von Universal- und/oder Spezialregistern, Zeitgebern, usw., die für einen oder mehrere Prozessoren zugänglich sind oder von diesen verwendet werden, die an den Chipsatz P18 gekoppelt sind. Der Speicher-Controller 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 Direktzugiffspeicher (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 beispielsweise zur Implementierung von Wrapper 110 (2) verwendet wird, kann der Massenspeicher P25 ein Festplattenlaufwerk, ein optisches Laufwerk, eine Bandspeichervorrichtung usw. einschließen. Wenn das beispielhafte Prozessorsystem P10 alternativ zum Implementieren der beispielhaften Vorlagendatenbank 210 und/oder der beispielhaften Server-Referenzdatenbank 210 verwendet wird, kann der Massenspeicher P25 einen 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 Vorlagendatenbank 210 und/oder der beispielhaften Server-Referenzdatenbank 210 geeignet ist.
  • Der periphere I/O-Controller P22 führt Funktionen durch, die dem Prozessor P12 die Kommunikation mit peripheren Eingabe/Ausgabe-(I/O)-Vorrichtungen P26 und P28 und einer Netzwerkschnittstelle P30 über einen peripheren I/O-Bus P32 ermöglichen. Die I/O-Vorrichtungen P26 und P28 können ein beliebiger Typ von I/O-Vorrichtung 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 eine Ethernet-Vorrichtung, eine Vorrichtung mit asynchronem Übertragungsmodus (ATM), eine 802.11-Vorrichtung, ein DSL-Modem, ein Kabelmodem, ein Mobilfunkmodem, usw. sein, das dem Prozessorsystem P10 die Kommunikation mit einem anderen Prozessorsystem ermöglicht.
  • Obwohl der Speicher-Controller P20 und der I/O-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 Methoden 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-Vorrichtungen in ähnlicher Weise konstruiert werden, um einige oder alle der beispielhaften Verfahren und/oder Vorrichtungen gänzlich oder teilweise zu implementieren, die hier beschrieben sind. Alternative Software-Implementierungen einschließlich verteilter Verarbeitung oder Komponenten/Objekt-verteilter 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 dinglichen Speichermedium gespeichert werden, wie: einem magnetischen Medium (z. B. einer Magnetplatte oder einem Magnetband), einem magnetooptischen oder optischen Medium, wie einer optischen Platte, oder einem Festkörpermedium, wie einer Speicherkarte oder anderem Paket, das ein oder mehrere (nicht-flüchtige) Festwertspeicher, Direktzugriffspeicher oder andere wiederbeschreibbare (flüchtige) Speicher beherbergt. Die hier beschriebene beispielhafte Software und/oder Firmware kann demnach auf einem dinglichen 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. Beispielsweise sind jegliche der Standards für Internet- und andere paketvermittelte Netzwerkübertragungen (z. B. Transmission Control Protocol (TCP)/Internet Protocol (IP), User Datagram Protocol (UDP)/IP, HyperText Markup Language (HTML), HyperText Transfer Protocol (HTTP)) Beispiele für den aktuellen Stand der Technik. Diese Standards werden von Zeit zu Zeit durch schnellere oder effizientere Äquivalente mit der gleichen allgemeinen Funktionalität ersetzt. Ersatzstandards und -protokolle mit den gleichen Funktionen sind demnach Äquivalente, die in diesem Patent vorgesehen sind und in den Umfang der angefügten Ansprüche eingeschlossen sein sollen.
  • 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 Medien ab, die mit Recht entweder wörtlich oder gemäß der Äquivalenzlehre unter den Umfang der angefügten Ansprüche fallen.

Claims (20)

  1. Verfahren zum Anzeigen von Prozessdaten, welches umfasst: Empfangen einer Anforderung zum Betrachten von Prozessdaten über einen Webbrowser; Identifizieren eines Servers, der die Prozessdaten speichert, wobei der Server die Prozessdaten von einem Prozesssteuerungssystem erhält; Abrufen der Prozessdaten von dem Server; Auswählen einer Extensible Stylesheet Language Transformation(XSLT)-Vorlage, bezogen auf eine Eigenschaft der Prozessdaten, und Generieren einer Anzeigedatei, die einem Webbrowserformat entspricht, basierend auf der XSLT-Vorlage, der Eigenschaft und den Prozessdaten, wobei die Anzeigedatei spezifiziert, wie die Prozessdaten über den Webbrowser angezeigt werden sollen.
  2. Verfahren nach Anspruch 1, wobei das Generieren der Anzeigedatei einschließt: Kombinieren der XSLT-Vorlage mit den Prozessdaten und Konvertieren der kombinierten XSLT-Vorlage und der Prozessdaten in das Webbrowserformat.
  3. Verfahren nach Anspruch 2, wobei das Kombinieren der XSLT-Vorlage mit den Prozessdaten einschließt: Identifizieren eines Parameters innerhalb der XSLT-Vorlage; Identifizieren von Teilen der Prozessdaten, die dem Parameter entsprechen, und Referenzieren der Parameter auf die entsprechenden Teile der Prozessdaten.
  4. Verfahren nach Anspruch 3, wobei das Referenzieren des Parameters das Einbetten des Teils der Prozessdaten in den entsprechenden Parameter einschließt.
  5. Verfahren nach Anspruch 1, ferner umfassend: Rendern der Anzeigedatei basierend auf der Eigenschaft der Prozessdaten und Übertragen der Anzeigedatei an den Webbrowser.
  6. Verfahren nach Anspruch 1, wobei das Webbrowserformat Hyper Text Markup Language (HTML) entspricht.
  7. Verfahren nach Anspruch 1, ferner umfassend: Auswählen der XSLT-Vorlage basierend auf einem Vorrichtungstyp, der die Anforderung überträgt, und Generieren der Anzeigedatei, um einem Anzeigebereich der Vorrichtung zu entsprechen.
  8. Verfahren nach Anspruch 1, ferner umfassend das Senden einer Anweisung an den Webbrowser, die bewirkt, dass eine Client-Anzeigeanwendung auf die Anzeigedatei zugreift und sie anzeigt.
  9. Verfahren nach Anspruch 1, wobei das Auswählen der XSLT-Vorlage einschließt: Auswählen einer Extensible Markup Language(XML)-Vorlage basierend auf der Eigenschaft; und Konvertieren der XML-Vorlage in die XSLT-Vorlage.
  10. Verfahren nach Anspruch 1, wobei die XSLT-Vorlage basierend auf einer Electronic Device Description Language(EDDL)-Datei generiert wird, die definiert, wie die Prozessdaten angezeigt werden sollen.
  11. Vorrichtung zum Anzeigen von Prozessdaten, welche umfasst: einen Adapter zum: Identifizieren eines Servers, der angeforderte Prozessdaten speichert, wobei der Server die Prozessdaten von einem Prozesssteuerungssystem empfängt, und Zugreifen auf die Prozessdaten von dem Server; einen Datenprozessor zum Auswählen einer Vorlage basierend auf einer Eigenschaft der Prozessdaten; und eine webbasierte Schnittstelle zum Generieren einer Anzeigedatei, die einem Webbrowserformat entspricht, basierend auf der Vorlage, der Eigenschaft und den Prozessdaten, wobei die Anzeigedatei spezifiziert, wie die Prozessdaten über eine Client-Anwendung angezeigt werden sollen.
  12. Vorrichtung nach Anspruch 11, wobei die webbasierte Schnittstelle zur Generierung der Anzeigedatei dient durch: Kombinieren der Vorlage mit den Prozessdaten und Konvertieren der kombinierten Vorlage und Prozessdaten zu einem Format, das mit der Client-Anwendung assoziiert ist.
  13. Vorrichtung nach Anspruch 12, wobei die webbasierte Schnittstelle zum Kombinieren der Vorlage mit den Prozessdaten dient durch: Identifizieren eines Parameters innerhalb der Vorlage; Identifizieren von Teilen der Prozessdaten, die dem Parameter entsprechen, und Referenzieren der Parameter auf die entsprechenden Teile der Prozessdaten.
  14. Vorrichtung nach Anspruch 13, wobei die webbasierte Schnittstelle zum Referenzieren des Parameters dient, indem der Teil der Prozessdaten in den Parameter eingebettet wird.
  15. Vorrichtung nach Anspruch 11, wobei die webbasierte Schnittstelle zum Rendern der Anzeigedatei basierend auf der Eigenschaft der Prozessdaten und Übertragen der Anzeigedatei an die Clientanwendung dient.
  16. Vorrichtung nach Anspruch 11, wobei die webbasierte Schnittstelle zum Empfangen einer Anforderung zum Betrachten von Prozessdaten von der Client-Anwendung dient.
  17. Vorrichtung nach Anspruch 11, wobei: der Datenprozessor zum Auswählen der Vorlage basierend auf einem Vorrichtungstyp dient, der die Anforderung überträgt, und die webbasierte Schnittstelle zum Generieren der Anzeigedatei basierend auf der gewählten Vorlage dient, um einem Anzeigebereich der Vorrichtung zu entsprechen.
  18. Vorrichtung nach Anspruch 11, wobei die webbasierte Schnittstelle zum Senden einer Anweisung an die Client-Anwendung dient, die bewirkt, dass die Client-Anwendung auf die Anzeigedatei zugreift und sie anzeigt.
  19. Vorrichtung nach Anspruch 11, wobei der Datenprozessor zum Auswählen der XSLT-Vorlage dient durch: Auswählen einer Extensible Markup Language(XML)-Vorlage basierend auf der Eigenschaft; und Konvertieren der XML-Vorlage in eine Extensible Stylesheet Language Transformation(XSLT)-Vorlage.
  20. Vorrichtung nach Anspruch 11, wobei der Datenprozessor zum Generieren der Vorlage aus einer Electronic Device Description Language(EDDL)-Datei dient, die beschreibt, wie die Prozessdaten angezeigt werden sollen.
DE102011001524A 2010-03-24 2011-03-24 Verfahren und Vorrichtung zum Anzeigen von Prozessdaten Pending DE102011001524A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/730,895 2010-03-24
US12/730,895 US9122764B2 (en) 2010-03-24 2010-03-24 Methods and apparatus to access process data stored on a server
US12/891,121 2010-09-27
US12/891,121 US20110239109A1 (en) 2010-03-24 2010-09-27 Methods and apparatus to display process data

Publications (1)

Publication Number Publication Date
DE102011001524A1 true DE102011001524A1 (de) 2011-12-15

Family

ID=43904295

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011001524A Pending DE102011001524A1 (de) 2010-03-24 2011-03-24 Verfahren und Vorrichtung zum Anzeigen von Prozessdaten

Country Status (5)

Country Link
US (1) US20110239109A1 (de)
JP (5) JP6244074B2 (de)
CN (1) CN102200993B (de)
DE (1) DE102011001524A1 (de)
GB (1) GB2479036B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3214511A1 (de) * 2016-03-04 2017-09-06 Siemens Aktiengesellschaft Kontrollierte bereitstellung von steuerungsdaten

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8868643B2 (en) 2010-09-09 2014-10-21 Fisher-Rosemount Systems, Inc. Methods and apparatus to collect process control data
US8717374B2 (en) 2010-09-13 2014-05-06 Fisher-Rosemount Systems, Inc. Methods and apparatus to display process control information
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
DE102011080569A1 (de) * 2011-08-08 2013-02-14 Endress + Hauser Process Solutions Ag System und Verfahren zur Bedienung von Feldgeräten in einer Automatisierungsanlage
US20130063446A1 (en) * 2011-09-10 2013-03-14 Microsoft Corporation Scenario Based Animation Library
US20130100136A1 (en) * 2011-10-24 2013-04-25 Kim Ordean Van Camp Sparkline presentations of process control system alarms
DE102011087826A1 (de) * 2011-12-06 2013-06-06 Endress + Hauser Process Solutions Ag Vorrichtung zur Bedienung von mindestens einem Feldgerät der Automatisierungstechnik
CN102662962B (zh) * 2012-03-08 2014-12-10 北京思特奇信息技术股份有限公司 一种基于网页元素的动态展示方法
CN102663063B (zh) * 2012-03-30 2015-06-03 上海明复信息技术有限公司 基于xslt的多种用户平台通用信息展示系统及方法
US10417314B2 (en) 2012-06-14 2019-09-17 Open Text Sa Ulc Systems and methods of a script generation engine
US9465882B2 (en) * 2012-07-19 2016-10-11 Adobe Systems Incorporated Systems and methods for efficient storage of content and animation
US20140059108A1 (en) * 2012-08-27 2014-02-27 Microsoft Corporation Unified communication interface for distributed computing
US10649424B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10678225B2 (en) 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US9558220B2 (en) 2013-03-04 2017-01-31 Fisher-Rosemount Systems, Inc. Big data in process control systems
CN104035753B (zh) * 2013-03-04 2018-11-02 优视科技有限公司 一种双WebView展示定制页面的方法及系统
US10909137B2 (en) 2014-10-06 2021-02-02 Fisher-Rosemount Systems, Inc. Streaming data for analytics in process control systems
US10223327B2 (en) 2013-03-14 2019-03-05 Fisher-Rosemount Systems, Inc. Collecting and delivering data to a big data machine in a process control system
US10282676B2 (en) 2014-10-06 2019-05-07 Fisher-Rosemount Systems, Inc. Automatic signal processing-based learning in a process plant
US9665088B2 (en) 2014-01-31 2017-05-30 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
US10866952B2 (en) 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US10649449B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10386827B2 (en) 2013-03-04 2019-08-20 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics platform
GB2513706B (en) * 2013-03-15 2020-09-23 Fisher Rosemount Systems Inc Method for initiating or resuming a mobile control session in a process plant
EP2973242B1 (de) 2013-03-15 2020-12-23 Fisher-Rosemount Systems, Inc. Modellierung und anpassung von industrieanlagen
US10671028B2 (en) * 2013-03-15 2020-06-02 Fisher-Rosemount Systems, Inc. Method and apparatus for managing a work flow in a process plant
GB2513707B (en) * 2013-03-15 2020-07-22 Fisher Rosemount Systems Inc Method for initiating or resuming a mobile control session in a process plant
DE102013109213A1 (de) * 2013-08-26 2015-02-26 Endress + Hauser Conducta Gesellschaft für Mess- und Regeltechnik mbH + Co. KG Verfahren zum Bereitstellen von Daten für ein Mobilgerät von einem Feldgerät, Computerprogramm und Anordnung zur Durchführung desselben
JP5820090B2 (ja) * 2013-09-27 2015-11-24 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 情報提供方法、情報管理システム及び情報端末機器
US20150113423A1 (en) * 2013-10-18 2015-04-23 Yokogawa Electric Corporation System and method to configure a field device
US8924850B1 (en) 2013-11-21 2014-12-30 Google Inc. Speeding up document loading
US10372671B2 (en) * 2014-10-03 2019-08-06 Rockwell Automation Technologies, Inc. Configuration management of industrial data
US10168691B2 (en) 2014-10-06 2019-01-01 Fisher-Rosemount Systems, Inc. Data pipeline for process control system analytics
KR102310069B1 (ko) * 2015-05-29 2021-10-08 에스케이플래닛 주식회사 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법
US11783120B2 (en) * 2015-08-26 2023-10-10 Roar Software Pty Ltd. System and process for generating an internet application
EP3168699B1 (de) * 2015-11-12 2019-07-24 Sick Ag Verfahren mit einem suchprogramm und einem suchfeld
US10503483B2 (en) 2016-02-12 2019-12-10 Fisher-Rosemount Systems, Inc. Rule builder in a process control network
EP3458952A1 (de) * 2016-06-30 2019-03-27 Siemens Aktiengesellschaft Verfahren zur verbesserung oder ergänzung einer funktionalität zu einer automatisierungsvorrichtung
US10382395B2 (en) * 2016-07-25 2019-08-13 Honeywell International Inc. Industrial process control using IP communications with publisher subscriber pattern
US10539936B2 (en) * 2016-10-17 2020-01-21 Fisher-Rosemount Systems, Inc. Methods and apparatus for configuring remote access of process control data
GB2556200B (en) * 2016-10-17 2023-03-08 Fisher Rosemount Systems Inc Methods and systems for subscribing remote devices to process control data
GB2556444B (en) * 2016-10-17 2023-03-08 Fisher Rosemount Systems Inc Mobile devices for remote access of process control data
GB2556201B (en) * 2016-10-17 2023-07-12 Fisher Rosemount Systems Inc Methods and systems for streaming process control data to remote devices
GB2556445B (en) * 2016-10-17 2023-08-16 Fisher Rosemount Systems Inc Methods and apparatus for configuring remote access of process control data
GB2555720B (en) * 2016-10-17 2023-04-12 Fisher Rosemount Systems Inc Systems and apparatus for distribution of process control data to remote devices
CN106502178B (zh) * 2016-11-02 2019-01-25 王开晶 计算机多界面生产控制系统的巡检系统及其方法
DE102017109030A1 (de) * 2017-04-27 2018-10-31 Endress+Hauser Process Solutions Ag Verfahren zum Betreiben eines Feldgeräts
DE102018003324A1 (de) * 2017-04-27 2018-10-31 Yokogawa Electric Corporation Datensammelvorrichtung, Datensammelsystem, Datenserver, Datensammelverfahren und nicht-flüchtiges computerlesbares Speichermedium
US11281684B2 (en) * 2019-12-17 2022-03-22 Fisher-Rosemount Systems, Inc. Electronic device description language (EDDL) search and navigation assistant
CN111240677B (zh) * 2020-01-13 2023-09-05 浙江吉利汽车研究院有限公司 一种机器人可视化界面生成方法、装置及计算机存储介质
EP3992736A1 (de) * 2020-10-28 2022-05-04 ABB Schweiz AG Verfahren zur bereitstellung eines steuerungsfrontends für eine betriebsvorrichtung

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339392A (en) * 1989-07-27 1994-08-16 Risberg Jeffrey S Apparatus and method for creation of a user definable video displayed document showing changes in real time data
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
JPH10240683A (ja) * 1997-02-26 1998-09-11 Fujitsu Ltd 情報配信システム、分散監視用情報配信システムおよびビル管理用情報配信システム
US6282548B1 (en) * 1997-06-21 2001-08-28 Alexa Internet Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata
US6370569B1 (en) * 1997-11-14 2002-04-09 National Instruments Corporation Data socket system and method for accessing data sources using URLs
US6763395B1 (en) * 1997-11-14 2004-07-13 National Instruments Corporation System and method for connecting to and viewing live data using a standard user agent
US6308168B1 (en) * 1999-02-09 2001-10-23 Knowledge Discovery One, Inc. Metadata-driven data presentation module for database system
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
US6643661B2 (en) * 2000-04-27 2003-11-04 Brio Software, Inc. Method and apparatus for implementing search and channel features in an enterprise-wide computer system
DE10038552A1 (de) * 2000-08-03 2002-02-28 Siemens Ag System und Verfahren zur Übertragung von OPC-Daten über Datennetze, insbesondere Internet, mit asynchroner Datenverbindung
US7536686B2 (en) * 2000-09-08 2009-05-19 Oracle International Corporation Techniques for automatically installing and configuring database applications
US6795830B1 (en) * 2000-09-08 2004-09-21 Oracle International Corporation Techniques for providing off-host storage for a database application
JP3494967B2 (ja) 2000-09-12 2004-02-09 株式会社デジタル 制御システム、および、そのプログラムが記録された記録媒体
US7013351B2 (en) * 2000-10-02 2006-03-14 Microsoft Corporation Template architecture and rendering engine for web browser access to databases
DE50111786D1 (de) * 2000-12-15 2007-02-15 Siemens Ag Verschlüsselung von Steuerungsprogrammen
EP1638020A3 (de) * 2000-12-22 2006-05-24 Research In Motion Limited System und Verfahren zur Informationsnavigation mittels eines drahtlosen Kommunikationsgerätes
JP2002315082A (ja) * 2001-04-13 2002-10-25 Toshiba Corp 監視制御システム
CA2344074A1 (en) * 2001-04-17 2002-10-17 George Wesley Bradley Method and system for cross-platform form creation and deployment
EP1280055B1 (de) * 2001-07-27 2010-04-14 Sap Ag Verfahren und Rechnersystem zum Herstellen und Verarbeiten einer Browser-angepassten Benutzerschnitstelle
DE10138710A1 (de) * 2001-08-07 2003-02-20 Siemens Ag Erweiterung des OPC-Protokolls
DE10144332A1 (de) * 2001-09-10 2003-04-03 Siemens Ag Verfahren zur Übertragung eines Prozesswerts und Steuerungssystem
JP2003085086A (ja) * 2001-09-12 2003-03-20 Sony Corp サービス提供システム、サービス提供方法
DE10151115A1 (de) * 2001-10-15 2003-05-08 Siemens Ag Verfahren zum Bedienen und zum Beobachten von Feldgeräten
DE10157323A1 (de) * 2001-11-23 2003-06-18 Endress & Hauser Process Solut Verfahren zum Bedienen eines Feldgerätes
US7080083B2 (en) * 2001-12-21 2006-07-18 Kim Hong J Extensible stylesheet designs in visual graphic environments
US7290008B2 (en) * 2002-03-05 2007-10-30 Exigen Group Method to extend a uniform resource identifier to encode resource identifiers
EP1359504A1 (de) * 2002-05-03 2003-11-05 SAUER &amp; Partner GmbH Verfahren zur Konfiguration bzw. Steuerung einer elektronisch steuerbaren, modularen Anlage
JP2004185541A (ja) * 2002-12-06 2004-07-02 Minolta Co Ltd デバイス管理装置
DE10304646A1 (de) * 2003-02-05 2004-08-26 Siemens Ag Web-basierte Darstellung von Automatisierungsprozessen
JP4869062B2 (ja) * 2003-03-21 2012-02-01 フィッシャー−ローズマウント システムズ, インコーポレイテッド 遠隔データ閲覧システム、及びエンティティデータを閲覧する方法
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
US7168035B1 (en) * 2003-06-11 2007-01-23 Microsoft Corporation Building a view on markup language data through a set of components
EP1649384A2 (de) * 2003-07-11 2006-04-26 Computer Associates Think, Inc. Systme und verfahren zur erzeugung von html auf der basis von gewöhnlichem xslt
DE10342591A1 (de) * 2003-09-15 2005-04-14 Siemens Ag Automatisierungsobjekt bzw. Verfahren zur Informationsbeschreibung eines Automatisierungsobjektes
GB2407243A (en) 2003-10-14 2005-04-20 Boc Group Plc Creating a pictorial representation of an installation using stylesheet and status data
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
JP2006072396A (ja) 2004-08-31 2006-03-16 Yaskawa Electric Corp 機器保守装置および機器保守装置の画面生成方法
US20060074499A1 (en) * 2004-10-01 2006-04-06 Rafie Hamidpour System and method for industrial process control
US20060168229A1 (en) * 2004-12-29 2006-07-27 Shim Choon B System and method for network management using extensible markup language
US7317952B2 (en) * 2005-04-07 2008-01-08 Honeywell International Inc. Managing field devices having different device description specifications in a process control system
US8739059B2 (en) * 2005-05-16 2014-05-27 Xcira, Inc. System for generating inspection reports for inspected items
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
US7650196B2 (en) * 2005-09-30 2010-01-19 Rockwell Automation Technologies, Inc. Production monitoring and control system having organizational structure-based presentation layer
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
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
US7827316B2 (en) * 2005-12-27 2010-11-02 Siemens Aktiengesellschaft Automation network, access service proxy for an automation network and method for transmitting operating data between a programmable controller and a remote computer
CN101352057B (zh) * 2005-12-29 2013-05-29 Ozmiz私人有限公司 在移动终端上显示数据的方法和系统
US9166883B2 (en) * 2006-04-05 2015-10-20 Joseph Robert Marchese Network device detection, identification, and management
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
US20090005888A1 (en) * 2007-06-29 2009-01-01 Patel Nital S Configurable advanced process control
WO2009046095A1 (en) * 2007-10-01 2009-04-09 Iconics, Inc. Visualization of process control data
US20090249192A1 (en) * 2008-03-31 2009-10-01 Microsoft Corporation Creating a view from multiple templates
US8423889B1 (en) * 2008-06-05 2013-04-16 Amazon Technologies, Inc. Device specific presentation control for electronic book reader devices
KR20100001434A (ko) * 2008-06-27 2010-01-06 호서대학교 산학협력단 산업장비의 통합 감시를 위한 메시지 변환 장치
US8887242B2 (en) * 2009-04-14 2014-11-11 Fisher-Rosemount Systems, Inc. Methods and apparatus to provide layered security for interface access control
US9285799B2 (en) * 2009-11-23 2016-03-15 Fisher-Rosemount Systems, Inc. Methods and apparatus to dynamically display data associated with a process control system
US8375285B2 (en) * 2009-12-15 2013-02-12 International Business Machines Corporation Enabling access to data files unsupported by a computing device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3214511A1 (de) * 2016-03-04 2017-09-06 Siemens Aktiengesellschaft Kontrollierte bereitstellung von steuerungsdaten
EP3214511B1 (de) 2016-03-04 2018-05-09 Siemens Aktiengesellschaft Kontrollierte bereitstellung von steuerungsdaten

Also Published As

Publication number Publication date
GB2479036B (en) 2018-08-08
JP2018081731A (ja) 2018-05-24
US20110239109A1 (en) 2011-09-29
JP6244074B2 (ja) 2017-12-06
JP6879961B2 (ja) 2021-06-02
JP7087120B2 (ja) 2022-06-20
JP6574145B2 (ja) 2019-09-11
CN102200993A (zh) 2011-09-28
JP7226906B2 (ja) 2023-02-21
GB201103391D0 (en) 2011-04-13
CN102200993B (zh) 2016-09-07
JP2011204237A (ja) 2011-10-13
JP2021179997A (ja) 2021-11-18
GB2479036A (en) 2011-09-28
JP2016105331A (ja) 2016-06-09
JP2021051808A (ja) 2021-04-01

Similar Documents

Publication Publication Date Title
DE102011001524A1 (de) Verfahren und Vorrichtung zum Anzeigen von Prozessdaten
US10574791B2 (en) Methods and apparatus to access process data stored on a server
DE102011053124A1 (de) Verfahren und Geräte zum Anzeigen von lokalisierten Prozessregelungsobjekten
US9494931B2 (en) Dynamic hyperlinks for process control systems
EP2924561B1 (de) Bauteilfabrik für mensch-maschine-schnittstellenmigration auf eine cloud-plattform
DE102011053951A1 (de) Verfahren und Vorrichtung zum Verwalten von Prozessdaten
CN109862064B (zh) 一种用于设备远程监控的组态方法及装置
DE102016119084A1 (de) Verteilte Leistungsüberwachung und Analyse industrieller Anlagen
KR101080434B1 (ko) Fdt/dtm과 eddl 기반의 디바이스 통합을 위한 opc ua 서버
DE102016119186A1 (de) Verteilte Leistungsüberwachung und Analyse in industriellen Anlagen
DE102010060697A1 (de) Verfahren und Geräte zum dynamischen Anzeigen von mit einem Prozessregelungssystem verknüpften Daten
DE102011053851A1 (de) Serviceorientiertes Framework zur Kommunikation mit Geräten in einem Prozesssteuerungssystem
DE102017124551A1 (de) Vorrichtung und verfahren für dynamische gerätebeschreibungssprachmenüs
DE102020133570A1 (de) Such- und navigationsassistent für elektronische gerätebeschreibungssprache (eddl)
US20090265420A1 (en) Method of rendering at least one element in a client browser
EP1362304B1 (de) System und verfahren zum speicherplatzoptimierten abspeichern und generieren von webseiten
US8448065B2 (en) System and method for the editing and accessing real-time OPC data with text-based tags
Roach Design of a Configuration and Management Tool for Instrumentation Networks

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G06F0017200000

Ipc: G06F0040000000