-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich allgemein auf Prozessanlagen und im Spezielleren darauf, Anwendungen von einer Ursprungsanwendung in einer Prozessanlage aus zu starten.
-
HINTERGRUND
-
Prozessanlagen, wie diejenigen, die in chemischen, Erdöl-, Herstellungs- oder anderen Prozessen eingesetzt werden, umfassen typischerweise einen oder mehrere Prozesssteuerungen, die über analoge, digitale, oder kombinierte analoge/digitale Busse kommunikativ mit einem oder mehreren Feldgeräten gekoppelt sind. Die Feldgeräte, welche beispielsweise Ventile, Ventilsteller, Schalter und Messwertgeber (z. B. Temperatur-, Druck- und Fließgeschwindigkeitssensoren) sein können, befinden sich in der Prozessumgebung und erfüllen Prozessaufgaben wie Öffnen oder Schließen von Ventilen, Messen von Prozessparametern, usw. Intelligente Feldgeräte wie die Feldgeräte, die dem hinlänglich bekannten Fieldbus-Protokoll (z. B. dem Foundation Fieldbus-Protokoll, dem HART-Protokoll, usw.) entsprechen, können auch Steuerberechnungen, Alarmfunktionen und andere Steuerfunktionen durchführen, die für gewöhnlich in der Steuerung ablaufen. Die Prozesssteuerung, die sich typischerweise in der Anlagenumgebung befinden, empfangen Signale, die von den Feldgeräten durchgeführte Prozessmessungen und/oder andere die Feldgeräte betreffenden Informationen anzeigen, und führen eine Steueranwendung aus, die beispielsweise verschiedene Steuermodule ablaufen lässt, die Prozesssteuerungsentscheidungen treffen, Steuersignale basierend auf der eingegangenen Information generieren und sich mit den Steuermodule oder -blocken abstimmen, die in den Feldgeräten wie den HART- oder Foundation Fieldbus-Feldgeräten ausgeführt werden. Die Steuermodule in der Steuerung schicken die Steuersignale über die Kommunikationsleitungen an die Feldgeräte, um dadurch den Prozessablauf zu steuern.
-
Information von den Feldgeräten und der Steuerung wird für gewöhnlich über einen Datenübertragungsweg einem Hardware-Gerät oder mehreren Hardware-Geräten wie Bediener-Arbeitsplatzrechnern, PCs, chronologischen Datenaufzeichnern, Reportgeneratoren, zentralen Datenbanken, usw. zur Verfügung gestellt, die typischerweise in Kontrollräumen oder anderen Stellen entfernt von der raueren Anlagenumgebung aufgestellt sind. Die Hardware-Geräte lassen Anwendungen ablaufen, die beispielsweise einen Bediener in die Lage versetzen, Aufgaben im Hinblick auf den Prozess zu erfüllen, wie etwa Einstellungen des Prozesssteuerungsprogramms zu verändern, den Arbeitsablauf der Steuermodule in der Steuerung oder den Feldgeräten zu modifizieren, Sichten des aktuellen Stands des Prozesses, Simulieren des Arbeitsablaufs des Prozesses, um Personal zu schulen, oder Prüfen der Prozesssteuerungssoftware, Unterhalten und Aktualisieren einer Konfigurationsdatenbank, usw.
-
Als ein Beispiel können Steuersysteme wie das von Emerson Prozess Management vertriebene DeltaVTM mehrere Anwendungen umfassen, die darin gespeichert sind und von verschiedenen Hardwaregeräten ausgeführt werden, die sich an verschiedenen Stellen in einer Prozessanlage befinden. Beispielsweise kann ein Steuersystem eine Konfigurationsanwendung umfassen, die in einem Arbeitsplatzrechner oder mehreren Arbeitsplatzrechnern gespeichert ist. Die Konfigurationsanwendung kann Benutzer in die Lage versetzen, Prozesssteuerungsmodule zu erstellen oder zu verändern und diese Prozesssteuerungsmodule über einen Datenübertragungsweg auf dazu vorgesehene verteilte Rechner herunterzuladen. Die Konfigurationsanwendung kann es auch einem Entwickler ermöglichen, Benutzeroberflächen zu erstellen oder zu verändern, die von einer Sichtungsanwendung verwendet werden, um einem Benutzer Daten anzuzeigen, oder einen Benutzer in die Lage zu versetzen, Einstellungen wie Sollwerte im Prozesssteuerungsprogramm zu verändern.
-
Auf ähnliche Weise kann das Steuersystem eine Konfigurationsdatenbankanwendung umfassen, die beispielsweise von demselben Arbeitsplatzrechner oder denselben Arbeitsplatzrechnern ausgeführt wird, der bzw. die die Konfigurationsanwendung ausführt bzw. ausführen, oder von einem anderen Hardwaregerät, das mit dem Datenübertragungsweg gekoppelt ist. Die Konfigurationsdatenbankanwendung kann die aktuelle Prozesssteuerungsprogrammkonfiguration und damit verbundene Daten in einer Konfigurationsdatenbank speichern. Auch kann das Steuerprogramm eine chronologische Datenaufzeichnungsanwendung umfassen, die von einer chronologischen Datenaufzeichnungsvorrichtung ausgeführt werden kann. Die chronologische Datenaufzeichnungsanwendung steuert die chronologische Datenaufzeichnungsvorrichtung so, dass sie einige oder alle Daten sammelt und speichert, die über den Datenübertragungsweg bereitgestellt werden.
-
Zusätzlich kann ein Steuersystem Steueranwendungen umfassen, die in einer eigens dazu bestimmten Steuerung und in einigen Fällen in Feldgeräten gespeichert und ausgeführt werden können. Eine Steueranwendung kann Steuermodule ablaufen lassen, die der Steuerung oder dem Feldgerät zugeteilt wurden und darauf heruntergeladen wurden, um die tatsächliche Prozesssteuerung zu bewerkstelligen.
-
Darüber hinaus kann ein Steuersystem Sichtungsanwendungen umfassen, die auf einem Bedienerarbeitsplatzrechner oder mehreren Bedienerarbeitsplatzrechnern ausgeführt werden können. Eine Sichtungsanwendung kann beispielsweise Daten über einen Datenübertragungsweg von einer Steueranwendung empfangen und diese Daten unter Verwendung von Benutzeroberflächen Prozessanlagenentwicklern, Bedienern oder Benutzern anzeigen. Die Benutzeroberflächen können eine beliebige Anzahl unterschiedlicher Ansichten liefern, wie etwa eine Bediener-, eine Ingenieurs-, eine Technikeransicht, usw.
-
Als ein weiteres Beispiel kann die von Emerson Process Management vertriebene AMS-Wartungsvorhersagesoftware mit einem oder mehreren intelligenten Feldgeräten interagieren, um die Geräte-, Block-, Parameter-, Variablen- oder Konfigurationsdaten auszulesen, die mit diesen Geräten zusammenhängen. Typischerweise kann ein Managementsystem in einem Bedienerarbeitsplatzrechner oder mehreren Bedienerarbeitsplatzrechnern mit geeigneten Kommunikationsanschlüssen gespeichert sein, die es ihm ermöglichen, sich auf ein intelligentes Gerät aufzuschalten, damit zu kommunizieren und es zu rekonfigurieren. Managementsysteme können on-line sein, d. h. eine festverdrahtete oder irgendeine andere ständige Verbindung mit einem intelligenten Gerät haben. Managementsysteme können auch tragbar und fähig sein, periodisch an ein intelligentes Gerät angeschlossen zu werden, um es zu rekonfigurieren oder auf Fehlersuche nach Problemen mit diesem intelligenten Gerät zu gehen.
-
Managementsysteme erfüllen typischerweise ein breite Palette von Aufgaben im Hinblick auf intelligente Geräte in einem System. Beispielsweise können Managementsysteme dazu verwendet werden, Benutzer mit Information zu versorgen (z. B. Werten von Variablen oder Parametern), die sich auf den Stand eines Prozesses und jedes der intelligenten Feldgeräte beziehen, das mit dem Prozess zusammenhängt oder in diesen eingebunden ist. Managementsysteme können auch dazu verwendet werden, einen Benutzer in die Lage zu versetzen, einen Prozess zu überwachen und ihn zu steuern, indem nötigenfalls intelligente Geräte innerhalb des Prozesses umkonfiguriert werden.
-
Ein Managementsystem kann eine oder mehrere Kernanwendungen sowie Zusatzanwendungen umfassen, die beispielsweise von einzelnen Herstellern intelligenter Geräte bereitgestellt werden, um Veränderungen an einem bestimmten intelligenten Gerät vorzunehmen oder Daten daraus auszulesen. Eine Kernanwendung kann beispielsweise ein grafische Benutzeroberfläche umfassen, die hierarchische Ansichten von Geräten in einer Anlage oder einem Prozess bereitstellt. Eine Kernanwendung kann beispielsweise auch eine Grundfunktionalität bereitstellen, um Schnittstellen mit bestimmten Geräten herzustellen. Beispielsweise kann es eine Kernanwendung einem Benutzer ermöglichen, Daten aus HART-Geräten auf einer allgemeinen Ebene zu konfigurieren und/oder auszulesen. Eine Zusatzanwendung kann es einem Benutzer beispielsweise ermöglichen, Daten von Geräten zu konfigurieren und/oder auszulesen, die über ein anderes Protokoll als dasjenige (diejenigen) kommunizieren, das (die) die Kernanwendung unterstützt. Auch kann es eine Zusatzanwendung einem Benutzer beispielsweise ermöglichen, Daten von Geräten auf einer Ebene über die allgemeine Ebene hinaus, die von einer Kernanwendung unterstützt wird, zu konfigurieren und/oder auszulesen. Darüber hinaus kann eine Managementanwendung andere Anwendungen nutzen, wie etwa Textverarbeitungsprogramme, Tabellenkalkulationsprogramme, Internetsuchprogramme, usw. Beispielsweise kann ein Managementsystem ein Internetsuchprogramm dazu verwenden, um Wartungsdokumente, die von einem Gerätehersteller zur Verfügung gestellt werden, on-line anzuzeigen.
-
Anwendungen in einer Prozessanlage starten oftmals andere Anwendungen. Beispielsweise kann ein Managementsystem eine erste Anwendung starten, die von einem ersten Hersteller intelligenter Geräte zum Konfigurieren eines ersten intelligenten Geräts bereitgestellt wird. Das Managementsystem kann auch eine zweite Anwendung starten, die von einem zweiten Hersteller intelligenter Geräte zum Konfigurieren eines zweiten intelligenten Geräts bereitgestellt wird. Auf ähnliche Weise kann ein Managementsystem einen Web-Browser starten, um eine Internetseite anzuzeigen, die Information über ein bestimmtes Gerät liefert.
-
Verschiedene zu startende Anwendungen verfügen oft nicht über eine gemeinsame oder übereinstimmende Anwenderprogramm-Schnittstelle (API). Deshalb umfasst eine Ursprungsanwendung, die mehrere andere Anwendungen startet, oftmals mehrere kundenspezifische Starteinrichtungen. Das Entwickeln solch mehrerer Starteinrichtungen kann mühsam und zeitraubend sein. Falls zusätzlich die Bereitstellung einer neuen Anwendung gewünscht wird, die von einer bestehenden Ursprungsanwendung aus gestartet werden kann, wird typischerweise eine neue kundenspezifischen Starteinrichtung entwickelt und die Ursprungsanwendung modifiziert, um die neue kundenspezifische Starteinrichtung aufzunehmen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die hier beschriebenen Beispiele beziehen sich allgemein auf das Starten gewünschter Anwendungen in einer Prozessanlage über eine Ursprungsanwendung. Es kann gewünscht sein, dass eine Ursprungsanwendung mehrere gewünschte Anwendungen starten kann, wobei eine oder mehrere der gewünschten Anwendungen eine andere Anwenderprogramm-Schnittstelle hat bzw. haben. In einem Beispiel kann die Ursprungsanwendung mehrere gewünschte Anwendungen über ein Anwendungsstartprogramm, -unterprogramm, -objekt, usw. starten. Die Ursprungsanwendung stellt dem Anwendungsstartprogramm, -unterprogramm, -objekt, usw. eine Angabe der gewünschten Anwendung bereit, die gestartet werden soll, und das Anwendungsstartprogramm, -unterprogramm, -objekt, usw. startet dann die angegebene gewünschte Anwendung.
-
Eine zweckmäßige Benutzeroberfläche kann zum Konfigurieren der Prozessanlagenanwendung verwendet werden, um mehrere gewünschte Anwendungen über das Anwendungsstartprogramm zu starten. In einem Beispiel kann ein Benutzer dazu aufgefordert werden, mindestens eine gewünschte Anwendung anzugeben. Beispielsweise kann der Benutzer dazu aufgefordert werden, einen Namen für eine ausführbare Datei einer gewünschten Anwendung festzulegen, und kann auch dazu aufgefordert werden, einen Ort (z. B. einen Pfad) für die ausführbare Datei festzulegen. Zusätzlich kann der Benutzer dazu aufgefordert werden, eine Komponente in einer Prozessanlage anzugeben, mit der-die mindestens eine gewünschte Anwendung verknüpft werden soll. Im Falle einer Managementsystem-Anwendung kann der Benutzer dazu aufgefordert werden, einen Gerätetyp festzulegen, mit dem die gewünschte Anwendung verknüpft werden soll. Dann kann die mindestens eine gewünschte Anwendung mit der mindestens einen Komponente verknüpft werden. Beispielsweise kann eine Angabe der gewünschten Anwendung in einer Datei gespeichert werden, die mit einer bestimmten Komponente der Prozessanlage verknüpft ist.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die Merkmale und Vorteile der hier beschriebenen Beispiele lassen sich am besten mit Bezug auf die folgende ausführliche Beschreibung und die beigefügten Zeichnungen verstehen:
-
1 ist ein Blockschema einer beispielhaften Prozessanlage, welche die hier beschriebenen Vorgehensweisen zum Starten einer gewünschten Anwendung verwenden kann;
-
2 ist ein Blockschema eines beispielhaften Arbeitsplatzrechners, der in die beispielhafte Prozessanlage von 1 mitaufgenommen werden kann;
-
3 ist ein Blockschema einer beispielhaften Prozessanlagenanwendung, die ein Anwendungsstartprogramm verwenden kann;
-
4 ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Starten einer gewünschten Anwendung über ein Anwendungsstartprogramm;
-
5 ist ein Blockschema, das eine beispielhafte Vorgehensweise zum Starten einer gewünschten Anwendung über ein Anwendungsstartprogramm darstellt;
-
6 ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Konfigurieren einer Prozessanlagenanwendung zum Starten einer gewünschten Anwendung über ein Anwendungsstartprogramm;
-
7 ist eine beispielhafte Benutzeroberfläche zum Konfigurieren einer Prozessanlagenanwendung zum Starten einer gewünschten Anwendung über ein Anwendungsstartprogramm;
-
8 ist eine beispielhafte Benutzeroberfläche zum Konfigurieren einer Prozessanlagenanwendung zum Starten einer gewünschten Anwendung über ein Anwendungsstartprogramm;
-
9 ist eine beispielhafte Benutzeroberfläche zum Konfigurieren einer Prozessanlagenanwendung zum Starten einer gewünschten Anwendung über ein Anwendungsstartprogramm;
-
10 ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Konfigurieren einer Managementsystem-Anwendung zum Starten einer gewünschten Anwendung über Anwendungsstartprogramm;
-
11 ist eine beispielhafte Benutzeroberfläche für eine Managementsystem-Anwendung;
-
12 ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Starten einer gewünschten Anwendung über ein Anwendungsstartprogramm; und
-
13 ist ein Blockschema, das eine beispielhafte Vorgehensweise zum Starten einer gewünschten Anwendung über ein Anwendungsstartprogramm darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Der einfacheren Darstellung halber werden einige der folgenden Beispiele in Zusammenhang mit einer Management-Softwareanwendung in einer Prozessanlage beschrieben. Dem durchschnittlichen Fachmann wird jedoch klar sein, dass sich die hier beschriebenen Vorgehensweisen auch in anderen Aspekten einer Prozessanlage wie etwa einer Steuersystemanwendung, einer Geräte- oder Ausrüstungsverwaltungsanwendung, einer Simulationsanwendung, einem Dokumentationssystem, Arbeitsablaufverwaltungssystem, Unternehmensbetriebsmittelplanungssystem, Beschaffungssystem, usw. einsetzen lassen.
-
Systemübersicht
-
1 ist ein Blockschema einer beispielhaften Prozessanlage 10. Die Prozessanlage 10 umfasst einen oder mehrere Knoten 12, 14, 16, 18 und 20. In der beispielhaften Prozessanlage von 1 umfasst jeder der Knoten 12, 14 und 16 eine Prozesssteuerung 12a, 14a, 16a, die über Eingabe-/Ausgabegeräte (E/A-Geräte) 24, bei denen es sich beispielsweise um Foundation Fieldbus-Schnittstellen, HART-Schnittstellen, usw. handeln kann, an ein oder mehrere Feldgeräte 22 und 23 angeschlossen sind. Die Steuerungen 12a, 14a und 16a sind auch über einen Datenübertragungsweg 30, bei dem es sich beispielsweise um eine Ethernet-Verbindung handeln kann, mit einem oder mehreren Host- oder Bedienerarbeitsplatzrechnern 18a und 20a in den Knoten 18 und 20. gekoppelt. Während die Steuerknoten 12, 14, 16 und die damit verbundenen Eingabe-/Ausgabe- und Feldgeräte 22, 23 und 24 sich typischerweise mitten in der manchmal rauen Anlagenumgebung befinden und über diese verteilt sind, befinden sich die Bedienerarbeitsplatzrechnerknoten 18 und 20 für gewöhnlich in Kontrollräumen oder anderen weniger rauen Umgebungen, die für das die Rechner bedienende Personal leicht zugänglich sind.
-
Allgemein gesagt können die Arbeitsplatzrechner 18a und 20a der Knoten 18 und 20 dazu verwendet werden, Anwendungen abzuspeichern und auszuführen, die dazu hergenommen werden, um die Prozessanlage 10 zu konfigurieren und zu überwachen, und um die Geräte 22, 23 in der Prozessanlage 10 zu bedienen. Darüber hinaus kann eine Datenbank 32 an den Datenübertragungsweg 30 angeschlossen sein und als chronologische Datenaufzeichnungsvorrichtung und/oder Konfigurationsdatenbank wirken, die die aktuelle Konfiguration der Prozessanlage 10, wie sie auf die Knoten 12, 14, 16, 18 und 20 heruntergeladen und/oder darin gespeichert wurde, gespeichert hält.
-
Jede der Steuerungen 12a, 14a und 16a, bei denen es sich beispielsweise um den von Emerson Process Management vertriebenen Rechner Delta V handeln kann, kann eine Steueranwendung speichern und ausführen, die eine Steuerstrategie unter Verwendung einer Anzahl unterschiedlicher, unabhängig ausgeführter Steuermodule oder -blöcke implementiert. Die Steuermodule können jeweils aus dem bestehen, was gemeinhin als Funktionsblöcke bezeichnet wird, wobei jeder Funktionsblock Teil eines Unterprogramms eines Gesamtsteuerprogramms ist und mit anderen Funktionsblöcken (über Kommunikationseinrichtungen, die Verknüpfungen genannt werden) zusammenwirkt, um Prozesssteuerschleifen in der Prozessanlage 10 zu implementieren. Wie hinlänglich bekannt ist, erfüllen Funktionsblöcke typischerweise entweder eine Eingabefunktion (wie sie etwa mit einem Sender, einem Sensor oder einer anderen Prozessparametermessvorrichtung verbunden ist), eine Steuer-/Regelfunktion (wie sie etwa mit einem Steuer-/Regelprogramm verbunden ist, das eine PID-Regelung, eine Fuzzy-Regelung usw. durchführt), oder eine Ausgabefunktion, die den Betrieb irgendeines Geräts steuert (wie etwa eines Ventils, um irgendeine physikalische Aufgabe in der Prozessanlage 10 zu erfüllen). Natürlich gibt es auch hybride und andere Arten von Funktionsblöcken, die eingesetzt werden können. Obwohl ein Fieldbus-Protokoll und das Systemprotokoll Delta V Steuerbausteine und Funktionsblöcke verwenden können, die in einem objektorientierten Programmierprotokoll entworfen und implementiert sind, könnten die Steuerbausteine auch unter Verwendung irgendeines beliebigen Steuerprogrammierschemas entwickelt werden, das beispielsweise einen sequentiellen Funktionsblock, Kettenlogik, usw. umfasst, und sind nicht darauf beschränkt, so ausgelegt zu sein, dass sie einen Funktionsblock oder irgendeine andere bestimmte Programmiertechnik verwenden. Wie typisch ist, ist die Konfiguration der Steuermodule, wie sie in den Prozesssteuerknoten 12, 14 und 16 gespeichert ist, in der Konfigurationsdatenbank 32 gespeichert, auf die Anwendungen, die von den Arbeitsplatzrechnern 18a und 20a ausgeführt werden, zugreifen können.
-
In dem in 1 dargestellten System können die mit den Steuerungen 12a, 14a und 16a gekoppelten Feldgeräte 22 und 23 standardmäßige 4–20 mA-Geräte oder intelligente Feldgeräte sein, wie HART-, Profibus- oder Foundation Fieldbus-Feldgeräte, die einen Prozessor und einen Speicher umfassen. Einige dieser Geräte wie die Foundation Fieldbus-Feldgeräte (die in 1 mit der Bezugszahl 23 gekennzeichnet sind), können Module oder Teilmodule wie Funktionsblöcke abspeichern und ausführen, die mit der in den Steuerungen 12a, 14a und 16a implementierten Steuerstrategie zusammenhängen. Natürlich kann es sich bei den Feldgeräten 22, 23 um irgendwelche Arten von Geräten wie Sensoren, Ventile, Sender, Stellglieder, usw. handeln, und die E/A-Geräte 24 können irgendwelche Arten von E/A-Geräten sein, die irgendeinem beliebigen Kommunikations- oder Steuerprotokoll wie HART, Foundation Fieldbus, Profibus, usw. entsprechen.
-
Eine Management-Anwendung kann in einem oder mehreren der Arbeitsplatzrechner 18a und 20a gespeichert sein und davon ausgeführt werden. 2 ist ein Blockschema eines beispielhaften Arbeitsplatzrechners 18a (der Arbeitsplatzrechner 20a kann eine entsprechende oder ähnliche Einrichtung umfassen). Der Arbeitsplatzrechner 18a kann mindestens einen Prozessor 50, einen flüchtigen Speicher 54 und einen nichtflüchtigen Speicher 58 umfassen. Der flüchtige Speicher kann beispielsweise einen Direktzugriffspeicher (RAM) umfassen. Der nichtflüchtige Speicher kann beispielsweise eine oder mehrere Festplatten, einen oder mehrere Festwertspeicher (ROM), eine oder mehrere Kompaktplattenfestwertspeicher (CD-ROM), eine oder mehrere digitale Bildplatten (DVD), einen oder mehrere FLASH-Speicher usw. beinhalten. Der Arbeitsplatzrechner 18a kann auch ein Eingabe-/Ausgabegerät (E/A-Gerät) 62 umfassen. Der Prozessor 50, der flüchtige Speicher 54, der nichtflüchtige Speicher 58 und das E/A-Gerät 62 können miteinander über einen Adressen-/Datenbus 66 verbunden sein. Der Arbeitsplatzrechner 18a kann auch mindestens ein Display 70 und mindestens eine Eingabevorrichtung 74 umfassen. Die Eingabevorrichtung kann beispielsweise eine Tastatur oder mehrere Tastaturen, ein Tastaturfeld oder mehrere Tastaturfelder, eine Mausvorrichtung oder mehrere Mausvorrichtungen, usw. umfassen.
-
Das Display 70 und die Eingabevorrichtung 74 sind mit dem E/A-Gerät 62 gekoppelt. Zusätzlich ist der Arbeitsplatzrechner 18a über das E/A-Gerät 62 mit dem Datenübertragungsweg gekoppelt. Obwohl das E/A-Gerät 62 in 2 als ein Gerät dargestellt ist, kann es auch mehrere Geräte umfassen.
-
Eine Management-Anwendung kann beispielsweise als Ganzes oder teilweise im nichtflüchtigen Speicher 58 gespeichert sein und als Ganzes oder teilweise durch den Prozessor 50 ausgeführt werden.
-
Überblick über die Anwendungsstarteinrichtung
-
3 ist ein Blockschema einer beispielhaften Prozessanlagenanwendung 100. Der einfacheren Erläuterung halber wird 3 im Zusammenhang mit einer Managementsystemanwendung beschrieben. Es ist jedoch klar, dass die Prozessanlagenanwendung 100 irgendeine von verschiedenen Anwendungsarten sein kann, die in einer Prozessanlage verwendet werden (z. B. eine Steuer-/Regelsystemanwendung, eine Geräte- oder Ausrüstungsverwaltungsanwendung, eine Simulationsanwendung, usw.). Die Prozessanlagenanwendung 100 kann eine oder mehrere Kernanwendungen 104 umfassen, und kann auch eine oder mehrere Zusatzanwendungen 108 und/oder eine oder mehrere kundenspezifische Anwendungen 112 umfassen. In einer Managementsystemanwendung kann eine Kernanwendung 104 beispielsweise eine Grundfunktionalität bereitstellen, um mit bestimmten Arten von Geräten zu kommunizieren und diese zu konfigurieren (z. B. HART-Geräten, Fieldbus-Geräten, usw.), und/oder eine grafische Benutzeroberfläche bereitstellen, um Geräte in einer Prozessanlage darzustellen.
-
In einem Managementsystem kann eine Zusatzanwendung 108 beispielsweise eine Anwendung sein, die von einem Hersteller eines Geräts bereitgestellt wird und eine Betriebsmittelkommunikation und -konfiguration für ein Gerät ermöglicht, für das die Kernanwendung 104 keine solchen Betriebsmittel bereitstellt. Auf ähnliche Weise kann beispielsweise eine Zusatzanwendung 108 eine Anwendung sein, die von einem Hersteller eines Geräts bereitgestellt wird und eine Betriebsmittelkommunikation und -konfiguration für ein Gerät ermöglicht, die über die von der Kernanwendung 104 bereitgestellten hinausgehen. In einem Managementsystem kann eine kundenspezifische Anwendung beispielsweise eine Anwendung sein, die von einem Endverbraucher entwickelt wurde und eine Ebene von Betriebsmittelkommunikation und -konfiguration bietet, die von einer Kernanwendung 104 oder einer Zusatzanwendung 108 nicht bereitgestellt wird.
-
Die Prozessanlagenanwendung 100 kann auch eine oder mehrere Universalanwendungen 116 benutzen, wie etwa eine Textverarbeitungsanwendung, eine Tabellenkalkulationsanwendung, eine Internetsuchanwendung, usw. Die Prozessanlagenanwendung 100 kann darüber hinaus ein Anwendungsstarterprogramm 120 umfassen.
-
Eine Anwendung wie eine Kernanwendung 104 kann Anwendungen wie Zusatzanwendungen 108, kundenspezifische Anwendungen 112 und Universalanwendungen 116 über das Anwendungsstarterprogramm 120 starten. In dem in 3 dargestellten Beispiel verwendet die Kernanwendung 104 das Anwendungsstarterprogramm 120, um andere Anwendungen wie Zusatzanwendungen 108, kundenspezifische Anwendungen 112 und Universalanwendungen 116 zu starten. Die Kernanwendung 104 braucht aber das Anwendungsstarterprogramm 120 nicht zum Starten jeder Anwendung einzusetzen. Zusätzlich können in einigen Beispielen andere Anwendungen außer der Kernanwendung 104 das Anwendungsstarterprogramm 120 oder ein (nicht dargestelltes) gesondertes Anwendungsstarterprogramm ähnlich dem Anwendungsstarterprogramm 120 verwenden. Beispielsweise kann eine Zusatzanwendung 108 eine Universalanwendung 116 über ein gesondertes Anwendungsstarterprogramm (nicht dargestellt) starten.
-
Die Zusatzanwendungen 108, die kundenspezifischen Anwendungen 112 und die Universalanwendungen 116 können potentiell jeweils eine einzelne API haben. Auf diese Weise kann durch Verwendung des Anwendungsstarterprogramms 120 die Kernanwendung 104 mehrere Anwendungen, die mehrere APIs aufweisen, über potentiell nur eine einzelne API starten.
-
4 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren 150 zum Starten einer Anwendung über ein Anwendungsstarterprogramm darstellt. Der einfacheren Erläuterung halber wird der Ablauf von 4 mit Bezug auf 5 beschrieben, bei der es sich um ein Blockschema handelt, das einen beispielhaften Arbeitsablauf einer Ursprungsanwendung 180 darstellt, die das Anwendungsstarterprogramm 120 benutzt, um eine gewünschte Anwendung 184 zu starten. Zusätzliche Beispiele von Verfahren zum Einsatz eines Anwendungsstarterprogramm 120 werden nachstehend beschrieben.
-
Beim Block 154 startet eine Ursprungsanwendung 180 das Anwendungsstarterprogramm 120. Die Ursprungsanwendung 180 kann beispielsweise eine Kernanwendung einer Prozessanlagenanwendung sein. Beim Starten des Anwendungsstarterprogramms 120 kann die Ursprungsanwendung 180 dem Anwendungsstarterprogramm 120 eine Angabe über die bestimmte gewünschte Anwendung 184 bereitstellen, die gestartet werden soll. Zusätzlich kann das Ursprungsprogramm 180 dem Anwendungsstarterprogramm 120 eine Angabe über Startparameter bereitstellen, die dazu verwendet werden können, die gewünschte Anwendung 184 zu starten. Dem durchschnittlichen Fachmann wird klar sein, dass es sich bei der Angabe der gewünschten Anwendung 184 und der Angabe der Startparameter um eine einzelne Angabe oder mehrere Angaben handeln kann.
-
Das Starten des Anwendungsstarterprogramms 120 und das Bereitstellen der Angabe oder Angaben der gewünschten Anwendung 184 und der Startparameter können entsprechend einer API des Anwendungsstarterprogramms 120 durchgeführt werden. Dem durchschnittlichen Fachmann wird klar sein, dass die API des Anwendungsstarterprogramms 120 dazu ausgelegt sein kann, sich einem Teil der API der Ursprungsanwendung 180 teilweise anzupassen, der dem Programmstart entspricht.
-
Beim Block 158 kann das Anwendungsstarterprogramm 120 die Angabe oder Angaben der gewünschten Anwendung 184 und der Startparameter verwenden, um Information 188 abzufragen, die sich auf den Start der gewünschten Anwendung 184 bezieht, die der API der gewünschten Anwendung 184 entspricht. Die Information 188 kann beispielsweise einen Dateinamen der gewünschten Anwendung 184, einen Ort der gewünschten Anwendung 184 (z. B. einen Pfadnamen), Startparameter umfassen, die der gewünschten Anwendung 184 in einer Reihenfolge und Syntax zur Verfügung gestellt werden sollen, die der API der gewünschten Anwendung 184 (z. B. einer Befehlszeile), usw. entspricht. Die Information 188 kann beispielsweise in einer Datei, Datenbank, usw. gespeichert werden, so dass das Anwendungsstarterprogramm 120 die Angabe oder Angaben der gewünschten Anwendung 184 und die Hochfahrparameter zur Abfrage der Information 188 verwenden kann. Die Angabe(n) können beispielsweise den Namen einer Datei beinhalten, in der die Information 188 gespeichert ist, einen Ort in einer Datei, eine Datenbankabfrage zur Abfrage der Information 188 aus einer Datenbank, eine URL-Adresse, ein XML-Dokument, ein HTTP GET, usw.
-
Beim Block 162 verwendet das Anwendungsstarterprogramm 120 die Information 188, um die gewünschte Anwendung entsprechend einem API der gewünschten Anwendung 184 zu starten. Wenn die Startparameter bereitstehen, kann die gewünschte Anwendung 184 als „im Kontext gestartet” betrachtet werden. Ist die gewünschte Anwendung 184 beispielsweise ein Web Browser, kann dieser gestartet werden und zeigt eine bestimmte Internetseite an.
-
Konfigurieren der Prozessanlagenanwendung
-
6 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren 200 zum Konfigurieren einer Prozessanlagenanwendung darstellt, bei dem eine Ursprungsanwendung eine gewünschte Anwendung über ein Anwendungsstarterprogramm starten kann. Beim Block 204 kann ein Benutzer dazu aufgefordert werden, einen beschreibenden Namen für eine gewünschte Anwendung bereitzustellen. Der beschreibende Name kann beispielsweise bei der Bereitstellung einer grafischen Benutzeroberflächeneinrichtung verwendet werden, über die ein Benutzer einen Start der gewünschten Anwendung auslösen kann.
-
Beim Block 208 kann der Benutzer dazu aufgefordert werden, einen Dateinamen und einen Ort einer ausführbaren Datei der gewünschten Anwendung bereitzustellen. Beim Block 212 kann der Benutzer dazu aufgefordert werden, Startparameter für die gewünschte Anwendung bereitzustellen. Die Arten der Startparameter, die bereitgestellt werden können, können teilweise durch die API der gewünschten Anwendung bestimmt sein. Zusätzlich kann der Benutzer beispielsweise eine Reihenfolge, eine Syntax, usw. für die Startparameter festlegen, die der API der gewünschten Anwendung entsprechen.
-
Beim Block 216 kann der Benutzer dazu aufgefordert werden, eine oder mehrere Komponenten in einer Prozessanlage festzulegen, mit der oder denen die gewünschte Anwendung verknüpft werden sollte. Beispielsweise kann der Benutzer in einer Steuer-/Regelsystemanwendung eine oder mehrere Steuerungen, ein Modul oder mehrere Module, oder ein Gerät oder mehrere Geräte, usw. festlegen, die in einem Prozess Verwendung finden. In einer Managementsystemanwendung kann der Benutzer zum Beispiel ein spezielles Gerät, einen Gerätetyp usw. festlegen.
-
Beim Block 220 können die gewünschte Anwendung und Startparameter mit einer oder mehreren Komponenten verknüpft werden (die der Benutzer festzulegen beim Block 216 aufgefordert worden war). Zum Beispiel kann eine Textdatei erstellt werden, die den Dateinamen und -pfad der ausführbaren Datei und die Startparameter beinhaltet, die beim Starten der gewünschten Anwendung verwendet werden sollen. Die Textdatei kann einen eindeutigen Namen zugeteilt bekommen, der mit der Komponente bzw. den Komponenten verknüpft wird (die der Benutzer festzulegen beim Block 216 aufgefordert worden war).
-
Beim Block 224 kann die Prozessanlagenanwendung so konfiguriert werden, dass sie die Verknüpfung zwischen der gewünschten Anwendung (die der Benutzer festzulegen beim Block 208 aufgefordert worden war) und der Komponente bzw. den Komponenten (die der Benutzer festzulegen beim Block 216 aufgefordert worden war) wiederspiegelt. Beispielsweise kann eine Ursprungsanwendung der Prozessanlagenanwendung so konfiguriert werden, dass eine Benutzeroberflächeneinrichtung zum Auslösen eines Starts der gewünschten Anwendung bereitstellt wird. Die Benutzeroberflächeneinrichtung kann mit der Komponente bzw. den Komponenten verknüpft werden. Als konkretes Beispiel kann ein mit der Komponente bzw. den Komponenten verknüpftes Menü so konfiguriert werden, dass es einen Punkt mit dem beschreibenden Namen enthält, den der Benutzer festzulegen beim Block 204 aufgefordert worden war. Mit dem Beispiel fortfahrend, das mit Bezug auf Block 220 beschrieben wurde, kann der Menüpunkt mit der Textdatei verknüpft sein, die den Dateinamen und -pfad der ausführbaren Datei und die Startparameter enthält, die beim Starten der gewünschten Anwendung verwendet werden sollen.
-
Konfigurieren einer Managementsystemanwendung
-
Die 7 bis 9 sind eine beispielhafte Benutzeroberfläche, die zur Implementierung der Blöcke 204, 208, 212 und 216 von 6 für eine Managementsystemanwendung verwendet werden können. Insbesondere ist 7 eine beispielhafte Benutzeroberfläche 250, die dazu verwendet werden kann, einen Benutzer aufzufordern, einen beschreibenden Namen (Block 204 von 6), einen Dateinamen einer ausführbaren Datei für die gewünschte Anwendung (Block 208 von 6) und einen Ort der ausführbaren Datei (Block 212 von 6) bereitzustellen. Zum Beispiel kann der Benutzer einen beschreibenden Namen für die gewünschte Anwendung in das Feld 254 eintippen. Im Block 258 kann ein Benutzer einen Pfad und den Namen einer ausführbaren Datei eintippen. Zusätzlich kann ein Benutzer auf eine dem Fachmann hinlänglich bekannte Weise nach dem Pfad und dem Namen der ausführbaren Datei suchen, indem er die Taste 262 wählt.
-
8 ist eine beispielhafte Bedieneroberfläche 250, die dazu verwendet werden kann, einen Benutzer aufzufordern, Startparameter für die gewünschte Anwendung (Block 212 von 6) bereitzustellen. Die Bedieneroberfläche umfasst Felder 272a–272m und 274a–274m zum Festlegen der Parameter. Die Parameter können der gewünschten Anwendung geordnet übermittelt werden (z. B. „Argument 1, dann „Argument 2”, dann „Argument 3”, usw.). Auf diese Weise kann der Benutzer die Reihenfolge wählen, in der die Parameter übermittelt werden sollen, um beispielsweise der API der gewünschten Anwendung zu entsprechen. Ein Benutzer kann die Parameter in die Felder 272a–272m eintippen. Indem er zusätzlich die Felder 274a–274m verwendet, kann ein Benutzer der gewünschten Anwendung „Argumente” übermitteln. Ein Argument kann zum Beispiel einer Art von Information entsprechen, die einem Gerät entspricht. In einem Beispiel, bei dem die Managementsystemanwendung die vom Emerson Process Management vertriebene AMS-Wartungsvorhersagesoftware umfasst, können die Argumente einen AMS-Benutzernamen (den AMS-Anmeldenamen eines Benutzers) umfassen, einen OPC-Block Moniker (die Objektverknüpfung und -einbettung (OLE) für den Blockmoniker des Formats der Prozesssteuerung (OPC)), den Namen des Anlagenservers (den Namen des Servers für ein angeschlossenes Gerät), den Geräteanschlusszustand (der anzeigt, ob ein Gerät „einsatzfähig”, d. h. „angeschlossen” oder „nicht angeschlossen” ist), eine AMS-Blockmarkierung (eine Gerätesymbolmarkierung für ein Gerät, das dem Benutzer beispielsweise in der AMS-Geräteanschlussansicht oder der AMS-Anlagensetveransicht angezeigt wird), einen Geräteblockschlüssel (eine Zahl, die für Datenbankgeräteverweise verwendet wird, die für gewöhnlich für Datenbankzugriffe mit einer strukturierten Abfragesprache (SQL – structured query language) erforderlich sind), einen Datenbanknamen (der Name des Domain Name Servers (DNS) der Datenbank für ein Gerät), eine Hersteller-ID (eine Zahl, die einen Gerätehersteller angibt), einen Gerätetyp (eine Zahl, die einen Gerätetyp oder ein Gerätemodell angibt), eine HART-Revision (eine Zahl, die eine HART-Protokolländerung angibt, die durch ein Gerät unterstützt wird), eine Geräte-ID (eine Nummer, die ein spezielles Gerät für eine bestimmte Herstellerkennung und einen bestimmten Gerätetyp angibt), usw. Die Benutzeroberfläche 270 kann Tasten 276a–276m umfassen, um es einem Benutzer zu ermöglichen, ein Argument aus beispielsweise einem Pull-down-Menü wie dem Menü 278 auszuwählen. Indem über die Felder 274a–274m ein Argument oder mehrere Argumente spezifiziert wird bzw. werden, kann ein Benutzer die Art von Information genau festlegen, die der gewünschten Anwendung übermittelt werden soll, und muss nicht die spezielle Information spezifizieren.
-
Indem sie die Benutzeroberfläche 270 verwendet, kann eine Person eine geeignete Syntax festlegen, um die Information an die gewünschte Anwendung zu übermitteln. Beispielsweise kann ein Benutzer, indem er die Felder 280b–280m, 272a–272m und 282a–282m verwendet, Leerzeichen, Trennungszeichen und oder Anführungszeichen einfügen und eine „Befehlszeile” erstellen, die die Parameter in der geeigneten Syntax enthält. Das Feld 284 kann dem Benutzer eine Ansicht der Befehlszeile bei deren Erstellung bereitstellen, so dass der Benutzer beispielsweise überprüfen kann, ob die richtige Syntax verwendet wird.
-
9 ist eine beispielhafte Benutzeroberfläche 290, die dazu verwendet werden kann, einen Benutzer aufzufordern, ein Gerät oder mehrere Geräte festzulegen, mit denen die gewünschte Anwendung verknüpft werden sollte (Block 216 von 6). Die Benutzeroberfläche 290 kann eine Liste 292 der möglichen Geräte und/oder Gerätetypen enthalten. Ein Benutzer kann Geräte und/oder Gerätetypen auswählen, die mit der gewünschten Anwendung verknüpft werden sollen, indem er die Tasten 296a lind 298a wählt. Beispielsweise kann der Benutzer, indem er die Taste 296a wählt, alle in der Liste 292 stehenden Geräte und/oder Gerätetypen auswählen. Zusätzlich kann der Benutzer ein einzelnes Gerät oder mehrere einzelne Geräte und/oder Gerätetypen in der Liste 292 markieren, und dann dieses eine Gerät oder diese mehreren Geräte und/oder Gerätetypen wählen, indem er die Taste 298a wählt.
-
Die Benutzeroberfläche 290 kann auch eine Liste 294 von Geräten und/oder Gerätetypen enthalten, die zur Verknüpfung mit der gewünschten Anwendung ausgewählt wurden. Der Benutzer kann die Taste 296b verwenden, um die Auswahl aller Geräte und/oder Gerätetypen in der Liste 294 aufzuheben. Zusätzlich kann der Benutzer ein einzelnes Gerät oder mehrere einzelne Geräte und/oder Gerätetypen in der Liste 294 markieren und die Taste 298b wählen, um die Auswahl dieser Geräte und/oder Gerätetypen aufzuheben.
-
Da es die Benutzeroberflächen 250, 270 und 290 einem Benutzer ermöglichen können, die gewünschte Anwendung mit einem Gerätetyp zu verknüpfen, kann der Benutzer praktisch die gewünschte Anwendung mit potentiell mehreren Geräten verknüpfen. Somit braucht der Benutzer die gewünschte Anwendung nicht einzeln mit jedem Gerät zu verknüpfen. In anderen Beispielen kann es dem Benutzer ermöglicht werden, die gewünschte Anwendung mit einzelnen Geräten zu verknüpfen.
-
Mit dem mit Bezug auf die 7–9 beschriebenen Beispiel fortfahrend kann das Verknüpfen der gewünschten Anwendung und der Startparameter mit dem einen Gerät oder den mehreren Geräten (Block 220 von 6) ein Speichern einer Angabe über die Verknüpfung in einer Datei wie einer Konfigurationsdatei umfassen. Ist die Managementsystemanwendung in einem von Microsoft Corporation erhältlichen Betriebssystem WINDOWSTM implementiert (z. B. WINDOWS XPTM, WINDOWS 2000TM, WINDOWS NTTM, usw.) kann die Angabe bzw. können die Angaben beispielsweise in einer INI-Datei und/oder einer Registrierungsdatei gespeichert werden. Die über die mit Bezug auf die 7–9 beschriebene Benutzeroberfläche erhaltene Information kann beispielsweise in einer INI-Datei gespeichert sein.
-
10 ist ein Ablaufdiagramm eines beispielhaften Verfahrens 320 zum Konfigurieren der Managementsystemanwendung (Block 224 von 6). Beim Block 324 wird Information, die es dem Anwendungsstarterprogramm ermöglichen wird, das gewünschte Programm zu starten, entsprechend dem API-Standard des Ursprungsprogramms formatiert. Alternativ kann die Information entsprechend einer API formatiert werden, die kein Standard des Ursprungsprogramms ist. Beispielsweise könnte ein API-Standard des Anwendungsprogrammstarters verwendet werden.
-
In einem speziellen Beispiel können die ausführbare Datei und der Pfad der gewünschten Anwendung in einer Datei gespeichert werden. Zusätzlich können auch die Parameter, die beispielsweise über eine Benutzeroberfläche wie die Benutzeroberfläche 270 (8) in eine Befehlszeile eingebaut wurden, auch in der Datei gespeichert werden.
-
Beim Block 328 wird eine Ursprungsanwendung der Managementsystemanwendung so konfiguriert, dass sie eine Benutzeroberflächeneinrichtung oder mehrere Benutzeroberflächeneinrichtungen umfasst, um einen Start der gewünschten Anwendung auszulösen. Hat der Benutzer beispielsweise über die Benutzeroberfläche 290 (9) einen Gerätetyp oder mehrere Gerätetypen festgelegt, und der Prozess oder die Anlage umfasst mehrere Geräte dieses Typs oder dieser Typen, können mehrere Benutzeroberflächeneinrichtungen mit aufgenommen werden, die den mehreren Geräten entsprechen.
-
11 ist eine aus einer beispielhaften Ursprungsanwendung stammende Anzeige. In diesem Beispiel liefert die Ursprungsanwendung eine hierarchische Ansicht der Geräte in einem Prozess und/oder einer Anlage. Die Anzeige 350 umfasst einen Hierarchieabschnitt 354 und einen Inhaltsabschnitt 358. Wie dem Durchschnittsfachmann hinlänglich bekannt ist, liefert der Hierarchieabschnitt 354 eine hierarchische Übersicht eines Unternehmens, eines Prozesses und/oder einer Anlage. Anlagen, Bereiche innerhalb von Anlagen, Anlagenkomponenten, usw. können auf eine hierarchische Weise als Ordner oder Unterordner dargestellt werden. Indem ein Benutzer im Hierarchieabschnitt 354 beispielsweise mit einer Maus einen Ordner auswählt, kann er den Inhalt dieses Ordners im Inhaltsabschnitt 358 ansehen. In 11 wurde der Ordner „Boiler 1” im Hierarchieabschnitt 354 gewählt. Wie im Inhaltsabschnitt 358 zu sehen ist, umfasst der Ordner „Boiler 1” sechs Geräte.
-
In diesem Beispiel hat ein Benutzer über die Bedieneroberflächen 250, 270 und 290 (7–9) festgelegt, dass eine gewünschte Anwendung mit dem beschreibenden Namen „Valve Documentation” mit verschiedenen Gerätetypen verknüpft werden soll, die den Gerätetyp „DVC5000” einschließen. In 11 wurde das Gerät „FC-4000” ausgewählt, das vom Typ „DVC5000” ist. In diesem Beispiel wurde die Ursprungsanwendung so konfiguriert, dass sie in einem mit Geräten des Typs „DVC5000” verknüpften Menü einen Menüpunkt 366 enthält. Das Menü 362 kann angezeigt werden, indem beispielsweise mit einer Betätigung der linken Maustaste das Gerät „FC-4000” ausgewählt und dann die rechte Maustaste betätigt wird.
-
Wie dem Durchschnittsfachmann hinlänglich bekannt ist, kann die Ursprungsanwendung für Anwendungen, die für ein Betriebssystem des Typs WINDOWSTM ausgelegt sind, so konfiguriert werden, dass sie eine Benutzeroberflächeneinrichtung oder mehrere Benutzeroberflächeneinrichtungen wie einen Menüpunkt bereitstellt, indem eine Konfigurationsdatei wie eine mit der Ursprungsanwendung verknüpfte INI-Datei oder eine Registrierungsdatei modifiziert wird.
-
Beim Block 332 kann eine Ursprungsanwendung so konfiguriert werden, dass sie das Anwendungsstarterprogramm bei einer Betätigung der Benutzeroberflächeneinrichtung startet (Block 328). Zusätzlich kann die Ursprungsanwendung so konfiguriert werden, dass sie das Anwendungsstarterprogramm mit der bei Block 324 formatierten Information startet. Mit dem mit Bezug auf Block 324 beschriebenen Beispiel fortfahrend kann die Ursprungsanwendung so konfiguriert werden, dass sie beim Starten des Anwendungsstarterprogramms dem Anwendungsstarterprogramm den Namen und den Ort der bei Block 324 erstellten Datei angibt. Wie dem Durchschnittsfachmann hinlänglich bekannt ist, kann die Ursprungsanwendung für Anwendungen, die für ein Betriebssystem des Typs WINDOWSTM ausgelegt sind, konfiguriert werden, indem eine Konfigurationsdatei wie eine mit der Ursprungsanwendung verknüpfte INI-Datei oder eine Registrierungsdatei modifiziert wird.
-
Starten der gewünschten Anwendung
-
12 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren 400 in einer Prozessanlagenanwendung zum Starten einer gewünschten Anwendung darstellt. Der Ablauf von 12 wird mit Bezug auf die 11 und 13 beschrieben.
-
Beim Block 404 kann ein Benutzer eine Benutzeroberflächeneinrichtung in einer Ursprungsanwendung betätigen. Wieder mit Bezug auf 11 kann der Benutzer beispielsweise einen Menüpunkt wie etwa den Menüpunkt 366 wählen. Beim Block 408 kann die Ursprungsanwendung basierend auf der betätigten Benutzeroberflächeneinrichtung bestimmen, ob ein Anwendungsstarterprogramm gestartet werden sollte. Wird beispielsweise ein Menüpunkt von einem Benutzer ausgewählt, kann die Ursprungsanwendung basierend auf dem ausgewählten Menüpunkt bestimmen, ob das Anwendungsstarterprogramm gestartet werden soll.
-
Nun kann mit Bezug auf 13 die Ursprungsanwendung 450 eine erste Datei, Registrierung, usw., oder einen Teil einer Datei, Registrierung, usw. (erste Datei 454) prüfen, die mit dem bei Block 404 gewählten Menüpunkt verknüpft ist. Die erste Datei 454 kann den Namen und Pfad der ausführbaren Datei des Anwendungsstarterprogramms bereitstellen, wodurch angezeigt wird, dass das Anwendungsstarterprogramm gestartet werden sollte.
-
Wieder mit Bezug auf 12 kann beim Block 412 die Ursprungsanwendung basierend auf der bei Block 404 betätigten Benutzeroberflächeneinrichtung eine Angabe oder Angaben für eine zu startende gewünschte Anwendung und für Startparameter für die gewünschte Anwendung bestimmen. Wird beispielsweise ein Menüpunkt von einem Benutzer gewählt, kann die Ursprungsanwendung basierend auf dem ausgewählten Menüpunkt eine Angabe oder Angaben für die zu startende gewünschte Anwendung und für Startparameter für die gewünschte Anwendung bestimmen. In einem besonderen Beispiel kann die Ursprungsanwendung eine Konfigurationsdatei oder einen Teil einer Konfigurationsdatei, eine Registrierungsdatei, usw. prüfen, die mit dem Menüpunkt verknüpft sind. Diese Konfigurationsdatei, Registrierungsdatei, usw., kann einen Dateinamen und Pfad einer anderen Datei enthalten. Diese andere Datei kann Information bezüglich der gewünschten Anwendung sowie Startparameter für die gewünschte Anwendung enthalten.
-
Wieder mit Bezug auf 13 kann die Ursprungsanwendung 450 die erste Datei 454 prüfen, die mit dem bei Block 404 gewählten Menüpunkt verknüpft ist. Die erste Datei 454 kann einen Dateinamen und Pfad einer zweiten Datei 458 bereitstellen. Die zweite Datei kann den Namen und Pfad der ausführbaren Datei der gewünschten Anwendung enthalten, die gestartet werden soll. Zusätzlich kann die zweite Datei Startparameter für die gewünschte Anwendung in einem Format enthalten, das der API der gewünschten Anwendung entspricht. Zum Beispiel können die Startparameter in einem Format sein, das unter Verwendung der Benutzeroberfläche 270 von 8 erstellt wurde.
-
Wieder mit Bezug auf 12 kann die Ursprungsanwendung bei Block 416 das Anwendungsstarterprogramm starten, das der standardmäßigen API der Ursprungsanwendung (oder einer nicht standardmäßigem API) entspricht. Zusätzlich kann die Ursprungsanwendung über die API des Anwendungsstarterprogramms die Angabe(n) der zu startenden gewünschten Anwendung und ihre Startparameter bereitstellen. Im Beispiel von 13 kann die Ursprungsanwendung 450 das Anwendungsstarterprogramm 462 starten und ihm den Namen und Pfad der zweiten Datei 458 liefern.
-
Beim Block 420 kann das Anwendungsstarterprogramm die zu startende gewünschte Anwendung basierend auf der Angabe bzw. den Angaben bestimmen, die bei Block 416 bereitgestellt wurden. Im Beispiel von 13 kann das Anwendungsstarterprogramm die gewünschte Anwendung 466 bestimmen, indem die zweite Datei 458 geprüft wird. Beim Block 424 kann das Anwendungsstarterprogramm die Startparameter zum Starten der gewünschten Anwendung basierend auf der Angabe bzw. den Angaben bestimmen, die beim Block 416 bereitgestellt wurde(n). Im Beispiel von 13 kann das Anwendungsstarterprogramm 462 die Startparameter bestimmen, indem es die zweite Datei 458 prüft.
-
Beim Block 428 kann das Anwendungsstarterprogramm die gewünschte Anwendung der API der gewünschten Anwendung entsprechend starten. Zusätzlich kann das Anwendungsstarterprogramm der gewünschten Anwendung entsprechend der API der gewünschten Anwendung Startparameter zur Verfügung stellen. Im Beispiel von 13 kann das Anwendungsstarterprogramm 462 die gewünschte Anwendung starten, die in der zweiten Datei 458 festgelegt ist. Zusätzlich kann das Anwendungsstarterprogramm 462 der gewünschten Anwendung die Startparameter zur Verfügung stellen, die in der zweiten Datei 458 vorgesehen sind. Die Startparameter können in der zweiten Datei 458 der API der gewünschten Anwendung entsprechend formatiert sein. Beispielsweise kann ein Benutzer eine Benutzeroberfläche wie die Benutzeroberfläche 270 von 8 verwenden, um eine „Befehlszeile” zu erstellen, die entsprechend der API der gewünschten Anwendung formatiert ist.
-
Falls die Startparameter Argumente enthalten (z. B. Gerätekennung, Gerätetyp, usw.) kann das Anwendungsstarterprogramm den Wert dieser Argumente bestimmen und diese Werte dann beispielsweise in die Befehlszeile einbauen. In einem Beispiel kann die Ursprungsanwendung (oder irgendeine andere Anwendung) die Werte einer Menge von Argumenten (z. B. aller Argumente, aller Argumente, die möglicherweise vom Anwendungsstarterprogramm verwendet werden, aller Argumente, von denen bestimmt wurde, dass sie das Anwendungsstarterprogramm brauchen wird, usw.) dem Anwendungsstarterprogramm beim Starten übermitteln. Die Ursprungsanwendung (oder irgendeine andere Anwendung) kann auch die Werte der Menge von Argumenten in einer Datei abspeichern. Das Anwendungsstarterprogramm kann dann, wenn es Werte bestimmter Argumente zum Starten einer gewünschten Anwendung benötigt, diese Werte bestimmen, indem die benötigten Werte aus einer Menge von Werten abgefragt werden, die dem Anwendungsstarterprogramm übermittelt wurden oder in der Datei gespeichert sind. Das Anwendungsstarterprogramm kann dann die Werte dieser Argumente über die API der gewünschten Anwendung der gewünschten Anwendung zur Verfügung stellen.
-
Der durchschnittliche Fachmann wird erkennen, dass ein Anwendungsstarterprogramm als ein von der Ursprungsanwendung gesondertes Programm oder als Teilprogramm, Objekt, usw. der Ursprungsanwendung implementiert werden kann.
-
Die vorstehend beschriebenen Verfahren können als Software-Programme zur Ausführung durch einen Prozessor oder mehrere Prozessoren implementiert werden. Solche Programme können in Software eingebaut werden, die auf einem konkreten Medium wie einer CD-ROM, einer Diskette, einer Festplatte, einer DVD oder einem mit dem Prozessor verbundenen Speicher gespeichert ist, dem durchschnittlichen Fachmann wird aber sofort klar sein, dass das gesamte Programm oder Teile davon alternativ auch von einer anderen Vorrichtung als einem Prozessor ausgeführt werden kann bzw. können und/oder auf eine hinlänglich bekannte Weise in Firmware und/oder eine speziell dafür vorgesehene Hardware eingebaut werden könnte bzw. könnten. Obwohl die vorstehend beschriebenen Beispiele mit Bezug auf die Ablaufdiagramme der 4, 6, 10 und 12 beschrieben wurden, wird es dem durchschnittlichen Fachmann außerdem sofort klar sein, dass alternativ viele andere Verfahren zur Implementierung dieser Verfahren eingesetzt werden können. Beispielsweise kann die Reihenfolge der Ausführung der Blöcke verändert werden und/oder die Blöcke können verändert, weggelassen oder kombiniert werden.
-
Während die Erfindung für verschiedene Modifizierungen und alternative Aufbauweisen empfänglich ist, wurden bestimmte veranschaulichende Ausführungsformen davon in den Zeichnungen gezeigt und sind hier ausführlich beschrieben. Es sollte jedoch klar sein, dass die Offenbarung nicht auf die offenbarten spezifischen Formen beschränkt werden soll, sondern die Erfindung vielmehr alle Modifizierungen, alternativen Aufbauweisen und Entsprechungen abdecken soll, die in den Aussagegehalt und den Rahmen der wie in den beigefügten Ansprüchen definierten Offenbarung fallen.
-
Zusammenfassung
-
Eine Ursprungsanwendung in einer Prozessanlage kann mehrere gewünschte Anwendungen starten, wobei eine oder mehrere der gewünschten Anwendungen eine unterschiedliche Anwendungsprogramm-Schnittstelle aufweist bzw. aufweisen. In einem Beispiel kann die Ursprungsanwendung mehrere gewünschte Anwendungen über ein Anwendungsstarterprogramm starten. Die Ursprungsanwendung stellt dem Anwendungsstarterprogramm eine Angabe der gewünschten Anwendung bereit, die gestartet werden soll, und das Anwendungsstarterprogramm startet dann die angegebene gewünschte Anwendung.