-
Die vorliegende Erfindung betrifft eine Vorrichtung zum Installieren einer Anwendung für ein Gerät in einem Automatisierungssystem. Die vorliegende Erfindung betrifft des Weiteren ein Verfahren zum Installieren einer Anwendung für ein Gerät in einem Automatisierungssystem.
-
Häufige Anwendungen im Bereich der Automatisierungstechnik sind Steuer- oder Regelungsaufgaben. Diese Aufgaben erfordern fast immer mehrere Geräte, da z.B. Sensoren und Aktuatoren involviert sind. Um diese Aufgaben zu erfüllen, wäre es wünschenswert, auf diesen Geräten Apps, d.h. feingranulare, in sich abgeschlossene Software-Komponenten, zu installieren. Dies wird bislang aber nicht durchgeführt
-
Im Bereich der Automatisierungstechnik gibt es bislang wenige Freiheitsgrade, was die Entscheidung angeht, auf welche Geräte einzelne Funktionen gespielt werden können. Zum einen sind wenige Geräte in der Lage, Software auszuführen, zum anderen besteht häufig eine enge Kopplung zwischen der Soft- und Hardware, was die Auswahl der Geräte weiter einschränkt. Potentielle Wahlmöglichkeiten werden heute manuell vom Benutzer getroffen. Bei der Installation von Software wählt der Benutzer dabei ein bestimmtes Gerät, beispielsweise eine Steuerkomponente (Programmable Logic Controller, PLC), als Ziel aus. Wenn die anderen Geräte auch entsprechend an die PLC angeschlossen sind, kann das entsprechende Programm korrekt funktionieren. Wenn die anderen Geräte nicht an die PLC angeschlossen sind, kann das entsprechende Programm nicht korrekt funktionieren.
-
Vor diesem Hintergrund besteht eine Aufgabe der vorliegenden Erfindung darin, eine einfache Selektion von Geräten und die Installation von Anwendungen auf diesen Geräten in einem Automatisierungssystem bereitzustellen.
-
Demgemäß wird eine Vorrichtung zum Installieren einer Anwendung für ein Gerät in einem Automatisierungssystem vorgeschlagen. Die Vorrichtung weist eine Empfangseinheit zum Empfangen einer Benutzereingabe, wobei die Benutzereingabe ein Gerät in dem Automatisierungssystem und eine zu installierende Anwendung angibt, eine Bestimmungseinheit zum Bestimmen von Einrichtungen, die mit dem Gerät verbunden sind, eine Auswahleinheit zum Auswählen zumindest einer der bestimmten Einrichtungen basierend auf Informationen der zu installierenden Anwendung, und eine Installationseinheit zum Installieren der Anwendung auf der ausgewählten Einrichtung auf.
-
Die jeweilige Einheit, zum Beispiel Bestimmungseinheit oder Auswahleinheit, kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann die jeweilige Einheit als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor oder als Steuerrechner eines Fahrzeuges ausgebildet sein. Bei einer softwaretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein.
-
Durch die vorgeschlagene Vorrichtung kann die Selektion von Geräten, auf denen eine Anwendung installiert werden soll, vereinfacht und automatisiert werden. Auf diese Weise wird es einem Benutzer ermöglicht, auf intuitive Art und Weise anzugeben, welche Geräte genutzt werden sollen. Das bedeutet, dass der Benutzer ein Gerät angibt, auf dem die Anwendung installiert werden soll, und die Vorrichtung automatisch ermittelt, auf welchen Einrichtungen, die mit dem Gerät verbunden sind, die Anwendung dann tatsächlich installiert wird.
-
Die Vorrichtung, die eine Art Assistenzsystem darstellt, ermöglicht es daher, für ein App-basiertes Automatisierungssystem, Geräte (semi-)automatisch zu Apps zuzuordnen. Bei der Zuordnung können Informationen aus Engineering- oder Planungssystemen verwendet werden, welche einen Kontext für Geräte definieren, insbesondere Zusammenhänge zwischen Geräten und Nachbarschaftsinformationen. Auf diese Weise können einem Gerät, auf dem selbst keine Anwendung installiert werden kann, Einrichtungen zugeordnet werden, auf denen Anwendungen installiert werden können und die mit dem Gerät direkt oder indirekt verbunden sind.
-
Durch die Vorrichtung kann ein vereinfachter Installationsprozess realisiert werden, da eine manuelle Zuordnung von Geräten bzw. eine Auswahl von Geräten entfällt. Des Weiteren ist es möglich, Anwendungen auf logischen Konstrukten, wie einem Tank mit zugehörigen Einrichtungen wie z.B. Sensoren oder Ventilen, oder Gerätegruppen, wie einer Teilanlage, zu installieren. Diese logischen Konstrukte sind real nicht in der Lage eine Anwendung auszuführen, sind aber für den Benutzer intuitiv verständlich.
-
Unter einem Automatisierungssystem kann in diesem Zusammenhang ein Industrieautomatisierungssystem verstanden werden. Dies kann ein Fertigungssystem, ein Prozesstechniksystem oder irgendeine Art von System sein, in dem Anwendungen auf Geräten installiert werden sollen.
-
Gemäß einer Ausführungsform ist die Anwendung dazu eingerichtet, das Gerät durch die ausgewählte Einrichtung zu steuern.
-
Die Anwendung kann das Gerät entweder direkt durch die Einrichtungen oder auch indirekt durch eine Steuerung der ausgewählten Einrichtung steuern.
-
Gemäß einer weiteren Ausführungsform ist die Anwendung dazu eingerichtet, die mit dem Gerät verbundenen Einrichtungen zu steuern.
-
Da die Anwendung auf den mit dem Gerät verbundenen Einrichtungen installiert wird, kann die Anwendung diese Einrichtungen steuern. Indirekt kann somit auch eine Steuerung des Geräts erfolgen.
-
Gemäß einer weiteren Ausführungsform ist die Auswahleinheit dazu eingerichtet, mehrere Einrichtungen basierend auf Informationen der zu installierenden Anwendung auszuwählen, und ist die Installationseinheit dazu eingerichtet, die Anwendung auf jeder der ausgewählten Einrichtungen zu installieren.
-
Über eine Verbindung zu einem Anwendungssystem, beispielsweise einem App-Store oder einem Deploymentsystem, kann die Vorrichtung Installationsaufträge erhalten, d.h. die Information, welche Anwendung wo installiert werden soll.
-
Gemäß einer weiteren Ausführungsform definieren die Informationen der zu installierenden Anwendung, welches Gerät und/oder welche mit dem Gerät verbundenen Einrichtungen für die zu installierende Anwendung erforderlich sind.
-
Diese Informationen können insbesondere eine Liste von Geräten, Gerätetypen oder Einrichtungen beinhalten, welche von der Anwendung benötigt werden. Für alle erhaltenen Installationsaufträge können Gerätelisten erstellt werden, die jeweils alle Geräte/Einrichtungen enthalten, die für die zu installierende Anwendung relevant sind.
-
Gemäß einer weiteren Ausführungsform ist die Bestimmungseinheit dazu eingerichtet, mit einem Planungssystem des Automatisierungssystems zu kommunizieren, um die Einrichtungen, die mit dem Gerät verbunden sind, zu bestimmen.
-
Über eine Verbindung zu einem Engineering- bzw. Planungssystem kann die Vorrichtung Informationen über die Struktur des Automatisierungssystems erhalten. Diese Verbindung kann auf viele Arten realisiert sein, z.B. über eine gemeinsame Datenbank, welche von beiden Systemen, dem Automatisierungssystem und der Vorrichtung, genutzt wird oder über eine netzwerkbasierte Schnittstelle, welche vom Engineering- bzw. Planungssystem angeboten und von der Vorrichtung genutzt wird.
-
Die Vorrichtung kann auch mit mehreren solcher Engineering- bzw. Planungssysteme in Verbindung stehen, z.B. wenn verschiedene Gewerke in verschiedenen Tools erfasst werden (z.B. Verrohrung getrennt von Stromlaufplänen etc.).
-
Die extrahierten Daten können dabei in für die Vorrichtung verständlicher Form verfügbar sein. Dies kann entweder über ein standardisiertes Austauschformat oder über einen Adapter implementiert werden, der die Daten geeignet konvertiert.
-
Auf diese Weise kann Kontextwissen, das in einem Engineering-Werkzeug steckt, dazu genutzt werden, um die Auswahl von Geräten zu vereinfachen.
-
Gemäß einer weiteren Ausführungsform ist die Bestimmungseinheit dazu eingerichtet, direkte Informationen und/oder indirekte Informationen des Geräts durch das Planungssystem zu bestimmen.
-
Basierend auf den Informationen des Planungssystems kann die Vorrichtung einen Kontext für Geräte bestimmen. Dieser Kontext enthält alle Informationen, die zur Auswahl von Geräten im nächsten Schritt hilfreich sein können, beispielsweise Gerätetypen/-klassen, Installationsorte, etc. Neben diesen unmittelbar verfügbaren Informationen kann die Vorrichtung auch abgeleitete bzw. indirekte Informationen, insbesondere über logische Abhängigkeiten zwischen Geräten, und Nachbarschaftsinformationen ermitteln.
-
Aus einem Rohrleitungsplan kann z.B. abgeleitet werden, welche Rohre mit welchen Tanks verbunden sind. Über die Positionierung an den Rohren kann wiederum abgeleitet werden, welche Ventile oder Sensoren damit zu welchen Tanks gehören.
-
In ähnlicher Weise können Zusammenhänge zwischen Geräten erkannt werden, z.B. dass Sensoren redundant ausgeführt sind, da der gleiche Sensor mehrfach vorhanden ist, oder dass ein Paar aus Sensor und Aktuator zusammengehört, da der Sensor unmittelbar den Einfluss des Aktuators misst.
-
Optional können Kontexte auch manuell vom Benutzer definiert werden, z.B. über eine Schnittstelle.
-
Die Berechnung der Kontextinformationen kann auf Vorrat erfolgen, z.B. bei jeder strukturellen Änderung des Systems, oder zeitbasiert, d.h. „on Demand“, erfolgen, d.h. immer wenn ein Installationsauftrag ankommt, oder über einen gemischten Ansatz.
-
Gemäß einer weiteren Ausführungsform ist die Bestimmungseinheit dazu eingerichtet, anhand der indirekten Informationen logische Abhängigkeiten zwischen dem Gerät und weiteren Einrichtungen des Automatisierungssystems zu bestimmen.
-
Wie bereits erläutert können durch indirekte Informationen auch logische Abhängigkeiten bestimmt werden. Dabei kann beispielsweise bestimmt werden, dass Einrichtungen einem Gerät zuzuordnen sind, obwohl diese nicht physikalisch oder nicht in räumlicher Nähe angeordnet sind.
-
Gemäß einer weiteren Ausführungsform ist die Auswahleinheit dazu eingerichtet, eine Mehrdeutigkeit von Einrichtungen beim Auswählen zumindest einer Einrichtung zu erkennen.
-
Je nach Qualität und Umfang der erhaltenen Informationen aus den Engineering- bzw. Planungssystemen und je nach Art und Komplexität der Anwendung können Mehrdeutigkeiten entstehen, d.h. es können Situationen auftreten in denen nicht klar ist welches der vorhandenen Geräte oder der damit verbundenen Einrichtungen der Anwendung zugeordnet werden sollen, da mehrere Kandidaten in Frage kommen.
-
Gemäß einer weiteren Ausführungsform ist die Auswahleinheit dazu eingerichtet, bei einer erkannten Mehrdeutigkeit, diese Mehrdeutigkeit einem Benutzer anzuzeigen.
-
Es gibt verschiedene Möglichkeiten zum Umgang mit Mehrdeutigkeiten, z.B. kann die Auswahleinheit übergangen werden und von dem Benutzer eine manuelle Zuordnung von Geräten vorgenommen werden. Eine weitere Möglichkeit besteht darin, eine Schnittstelle aus der Vorrichtung heraus anzubieten, welche es dem Benutzer erlaubt, Mehrdeutigkeiten aufzulösen.
-
Über eine solche optionale Benutzerschnittstelle kann im Fall von Mehrdeutigkeiten der Benutzer um Hilfe gebeten werden. Über die Schnittstelle können Mehrdeutigkeiten geeignet aufbereitet dargestellt werden, z.B. indem die in Frage kommenden Kandidaten-Geräte in einem Plan dargestellt oder markiert werden. Der Benutzer kann dann z.B. über Drag&Drop oder andere Auswahlmechanismen die Mehrdeutigkeiten auflösen.
-
Eine weitere Möglichkeit in der Benutzerschnittstelle kann darin bestehen, dass es dem Benutzer erlaubt wird, selbst Kontexte zu definieren. Im Gegensatz zu einer individuellen Auflösung von Mehrdeutigkeiten können hierbei Kontexte wiederverwendet werden. Über die Erstellung eines Kontextes kann dabei vermieden werden, dass bei der Installation mehrerer Anwendungen wiederholt die gleichen Mehrdeutigkeiten aufgelöst werden müssen.
-
Gemäß einer weiteren Ausführungsform ist die Empfangseinheit dazu eingerichtet, eine weitere Benutzereingabe zu empfangen, wobei die weitere Benutzereingabe eine auszuwählende Einrichtung angibt.
-
Die Auflösung durch den Benutzer kann durch eine Benutzereingabe erfolgen. Diese kann durch irgendeine Benutzerschnittstelle empfangen werden.
-
Gemäß einer weiteren Ausführungsform ist die Anwendung eine Anwendungssoftware, insbesondere eine App (Applikation).
-
Unter einer Anwendungssoftware kann in diesem Zusammenhang eine App verstanden werden, die die Vorteile einer Mobile App bietet. Hierzu zählen leichte Installierbarkeit und eine leichte Entfernbarkeit, wenn sie nicht mehr benötigt wird.
-
Eine App stellt dabei ein abgeschlossenes Software-Modul dar, das auf Geräte heruntergeladen werden kann.
-
Des Weiteren wird ein Verfahren zum Installieren einer Anwendung für ein Gerät in einem Automatisierungssystem vorgeschlagen. Das Verfahren weist die folgenden Schritte auf:
Empfangen einer Benutzereingabe, wobei die Benutzereingabe ein Gerät in dem Automatisierungssystem und eine zu installierende Anwendung angibt, Bestimmen von Einrichtungen, die mit dem Gerät verbunden sind, Auswählen zumindest einer der bestimmten Einrichtungen basierend auf Informationen der zu installierenden Anwendung, und Installieren der Anwendung auf der ausgewählten Einrichtung.
-
Die für die vorgeschlagene Vorrichtung beschriebenen Ausführungsformen und Merkmale gelten für das vorgeschlagene Verfahren entsprechend.
-
Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung des wie oben erläuterten Verfahrens veranlasst.
-
Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z.B. Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt oder dem Computerprogramm-Mittel erfolgen.
-
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen.
-
Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschriebenen Ausführungsbeispiele der Erfindung. Im Weiteren wird die Erfindung anhand von bevorzugten Ausführungsformen unter Bezugnahme auf die beigelegten Figuren näher erläutert.
-
1 zeigt ein schematisches Blockdiagramm einer Ausführungsform einer Vorrichtung zum Installieren einer Anwendung für ein Gerät in einem Automatisierungssystem;
-
2 zeigt eine Ausführungsform eines Automatisierungssystems; und
-
3 zeigt ein schematisches Ablaufdiagramm eines Verfahrens zum Installieren einer Anwendung für ein Gerät in einem Automatisierungssystem.
-
In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist.
-
1 zeigt eine Vorrichtung 10 zum Installieren einer Anwendung für ein Gerät 21 in einem Automatisierungssystem 20.
-
Die Vorrichtung 10 weist hierzu eine Empfangseinheit 11, eine Bestimmungseinheit 12, eine Auswahleinheit 13 und eine Installationseinheit 14 auf.
-
Die Empfangseinheit 11 empfängt zunächst eine Benutzereingabe 1. Die Benutzereingabe 1 kann dabei ein Gerät 21 in dem Automatisierungssystem 20 und eine auf diesem Gerät 21 zu installierende Anwendung angeben.
-
Die Bestimmungseinheit 12 bestimmt nun, welche Einrichtungen 22, 23 in dem Automatisierungssystem 20 mit dem Gerät 21 verbunden sind. Die Verbindung zwischen dem Gerät 21 und den Einrichtungen 22, 23 kann eine direkte, physikalische Verbindung sein, kann aber auch eine logische Verbindung sein, beispielsweise von einem Steuerungssystem zu dem Gerät 21.
-
Die Auswahleinheit 13 wählt dann zumindest eine der Einrichtungen 22, 23 basierend auf Informationen der zu installierenden Anwendung aus. Dabei kann die Auswahleinheit 13 berücksichtigen, welche Einrichtungen 22, 23 beim Ausführen der Anwendung erforderlich sind.
-
Die Installationseinheit 14 installiert schließlich die Anwendung auf der ausgewählten Einrichtung 22, 23 oder auch auf mehreren Einrichtungen 22, 23.
-
Ein Beispiel eines solchen Automatisierungssystems 20 ist in 2 gezeigt.
-
Das Automatisierungssystem 20 ist hier ein System 20 mit zwei Lagertanks T1, T2. Jeder dieser Tanks T1, T2 weist eine Heizung H1, H2, einen Füllstandsensor L1, L2, einen Temperatursensor S1, S2, ein Zuführungsrohr R1, R2 sowie ein Ventil V1, V2 auf, das den Zufluss zu dem jeweiligen Tank T1, T2 über das entsprechende Zuführungsrohr R1, R2 stoppen kann.
-
In diesem Fall handelt es sich bei der zu installierenden Anwendung um eine Anwendungssoftware für eine geheizte Lagertank-Steuerung. Die Anwendung bzw. App soll dabei sicherstellen, dass der Tank T1 nicht überläuft und dass die enthaltene Flüssigkeit immer in einem bestimmten Temperaturband gehalten wird.
-
Selbst im einfachsten Fall benötigt diese App mehrere Geräte, nämlich einen Füllstandsensor L1, um das Überlaufen zu detektieren, Ventile V1, um den Zufluss zu stoppen oder Flüssigkeit über einen Ablauf zu entsorgen, und einen Temperatursensor S1 und eine Heizung/Kühlung H1 für die Regelung der Temperatur.
-
Idealerweise kann der Benutzer bei der Installation der App einfach einen bestimmten Tank in seiner Anlage auswählen und die App „auf“ diesem Tank installieren. In diesem Beispiel installiert der Benutzer die App in Tank T1. Diese abstrakte Beschreibung des Benutzers muss auf konkrete Geräte abgebildet werden, bevor die Installation der App beginnen kann. Dies wird durch die Vorrichtung 10, wie sie in 1 beschrieben ist, übernommen.
-
Die Vorrichtung 10 analysiert dazu die Planungsdokumente der Anlage 20 und entdeckt, welche Sensoren und Aktuatoren am Tank verbaut sind. In der Ausführungsform von 2 sind die Heizung H1, der Füllstandsensor L1 und der Temperatursensor S1 am Tank T1 angeschlossen. Die Vorrichtung 10 analysiert außerdem indirekte Zusammenhänge und entdeckt, dass Rohr R1 am Tank T1 angeschlossen ist, und damit das Ventil V1 (welches am Rohr R1 angeschlossen ist) ebenfalls dem Tank T1 zugeordnet werden kann. Basierend auf dieser Information und den Anforderungen der App trifft sie automatisch eine Auswahl der passenden Geräte und beschließt T1, L1, H1 und V1 zu verwenden und z.B. nicht die aus Hardwaresicht identischen Geräte L2 und V2, welchen mit Tank T2 assoziiert sind
-
3 zeigt ein Verfahren zum Installieren einer Anwendung für ein Gerät 21 in einem Automatisierungssystem 20. Das Verfahren weist die Schritte 301–304 auf.
-
In Schritt 301 wird eine Benutzereingabe 1 empfangen, wobei die Benutzereingabe 1 ein Gerät 21 in dem Automatisierungssystem 20 und eine zu installierende Anwendung angibt.
-
In Schritt 302 werden Einrichtungen 22, 23 bestimmt, die mit dem Gerät 21 verbunden sind.
-
In Schritt 303 wird zumindest eine der bestimmten Einrichtungen 22, 23 basierend auf Informationen der zu installierenden Anwendung ausgewählt.
-
In Schritt 304 wird die Anwendung auf der ausgewählten Einrichtung 22, 23 installiert.
-
Obwohl die vorliegende Erfindung anhand von Ausführungsbeispielen beschrieben wurde, ist sie vielfältig modifizierbar.
-
Bezugszeichenliste
-
- 1
- Benutzereingabe
- 10
- Vorrichtung
- 11
- Empfangseinheit
- 12
- Bestimmungseinheit
- 13
- Auswahleinheit
- 14
- Installationseinheit
- 20
- Automatisierungssystem
- 21
- Gerät
- 22, 23
- Einrichtung
- H1, H2
- Heizung
- L1, L2
- Füllstandsensor
- R1, R1
- Rohr
- S1, S2
- Temperatursensor
- T1, T2
- Tank
- V1, V2
- Ventil
- 301–304
- Verfahrensschritte