-
Die Erfindung bezieht sich auf ein Verfahren zum Anpassen von Funktionalitäten eines Feldgeräts, wobei das Feldgerät ein Basisprogramm, insbesondere eine Firmware, und optional zumindest ein Anwendungsprogramm aufweist und ausführt, wobei das Basisprogramm eine Grundfunktionalität des Feldgeräts beinhaltet, und wobei das Anwendungsprogramm eine Zusatzfunktionalität des Feldgeräts beinhaltet.
-
Aus dem Stand der Technik sind bereits Feldgeräte bekannt geworden, die in industriellen Anlagen zum Einsatz kommen. In der Prozessautomatisierung ebenso wie in der Fertigungsautomatisierung werden vielfach Feldgeräte eingesetzt. Als Feldgeräte werden im Prinzip alle Geräte bezeichnet, die prozessnah eingesetzt werden und die prozessrelevante Informationen liefern oder verarbeiten. So werden Feldgeräte zur Erfassung und/oder Beeinflussung von Prozessgrößen verwendet. Zur Erfassung von Prozessgrößen dienen Messgeräte, bzw. Sensoren. Diese werden beispielsweise zur Druck- und Temperaturmessung, Leitfähigkeitsmessung, Durchflussmessung, pH-Messung, Füllstandmessung, etc. verwendet und erfassen die entsprechenden Prozessvariablen Druck, Temperatur, Leitfähigkeit, pH-Wert, Füllstand, Durchfluss etc. Zur Beeinflussung von Prozessgrößen werden Aktoren verwendet. Diese sind beispielsweise Pumpen oder Ventile, die den Durchfluss einer Flüssigkeit in einem Rohr oder den Füllstand in einem Behälter beeinflussen können. Neben den zuvor genannten Messgeräten und Aktoren werden unter Feldgeräten auch Remote I/Os, Funkadapter bzw. allgemein Geräte verstanden, die auf der Feldebene angeordnet sind.
-
Eine Vielzahl solcher Feldgeräte wird von der Endress+Hauser-Gruppe produziert und vertrieben.
-
Heutige Feldgeräte bestehen aus einer fest installierten Software-Funktionalität, welche nur durch Updates vom Hersteller erweitert werden kann und ein Komplett-Update des Feldgeräts erfordert. Dieses Gefüge erweist sich als zunehmend unflexibel. Soll das Feldgerät beispielsweise einen neuen Sensortyp unterstützen, so ist das eben erwähnte Komplett-Update notwendig. Darüber hinaus ist die Bedienung der Software eines Feldgeräts generisch aufgebaut, um viele Industrien und Anwendungsfälle mit einer Software abdecken zu können. Aus Herstellersicht ist dies sinnvoll, da eine einheitliche Software für alle Industrien weniger Entwicklungsarbeit bedeutet als jeweils speziell zugeschnittene Software. Aus Kundensicht ist dieser Ansatz jedoch weniger praktikabel, da die Software Bedienelemente aufweist, die für viele Kunden nicht relevant ist. Hier wäre eine Software und Benutzerschnittstelle wünschenswert, die nur die für die Kundenapplikation relevanten Elemente enthält. Dies steigert die Produktivität auf Kundenseite (beispielsweise durch weniger Einarbeitungsaufwand) und reduziert die Gefahr von Fehlbedienungen.
-
Die auf modernen Computersystemen (beispielsweise Desktop-PCs und Laptop-PCs, Server, Mobiltelefone und Tablet-PCs) installierte Software ist in ein mächtiges, komplexes General-Purpose-Betriebssystem mit allgemeiner Funktionalität (z.B. Netzwerkverbindungen, Dateizugriff) und (nachinstallierbare) Anwendungen aufgeteilt. Diese Aufteilung ermöglicht es, auf einfache Art und Weise eine neue Funktionalität hinzuzufügen. Auf einem kleinen eingebetteten System verbraucht ein General-Purpose-Betriebssystem mit separaten Anwendungen zu viele Ressourcen. Auf einem solchen kleinen eingebetteten System bilden stattdessen Betriebssystem und Anwendungen eine unveränderliche fest verbundene Einheit.
-
Eine Alternative zur Aufteilung in Betriebssystem und Anwendungen sind virtuelle Maschinen. Diese führen Programme aus, die in einem hardware-unabhängigen Bytecode-Format vorliegen. Allerdings verursacht die Umsetzung einer virtuellen Maschine Effizienzverluste im Vergleich zu einer nativen Ausführung der Anwendungen. Daher ist dieses Konzept für kleine eingebettete Systeme ebenfalls wenig geeignet, bzw. nur unter erheblichem Aufwand realisierbar. Allerdings ist diese Hardware-Unabhängigkeit für Feldgeräte-Anwendungen dringend notwendig. Feldgeräte sind langlebige Produkte und es ist davon auszugehen, dass Software-Erweiterungen ähnlich langen Lebenszyklen unterworfen sein werden. In der Zwischenzeit ist es allerdings möglich, dass Feldgeräte auf Basis neuer Hardware-Plattformen entwickelt werden. Bestehende Software-Erweiterungen sollen auch auf diesen neuen Plattformen einsetzbar sein.
-
Ausgehend von dieser Problematik liegt der Erfindung die Aufgabe zugrunde, ein Verfahren vorzustellen, welches es erlaubt, ein Feldgerät um eine oder mehrere Funktionalitäten zu erweitern, ohne dass der Einsatz von virtuellen Maschinen oder das Verwenden eines komplexen Betriebssystems notwendig ist.
-
Die Aufgabe wird durch ein Verfahren zum Anpassen von Funktionalitäten eines Feldgeräts gelöst, wobei das Feldgerät ein Basisprogramm, insbesondere eine Firmware, und optional zumindest ein Anwendungsprogramm aufweist und ausführt, wobei das Basisprogramm eine Grundfunktionalität des Feldgeräts beinhaltet, und wobei das Anwendungsprogramm eine Zusatzfunktionalität des Feldgeräts beinhaltet umfassend:
- - Übermitteln einer Konfiguration des Feldgeräts an eine Datenbank, insbesondere integriert in einem cloudfähigen System, wobei auf der Datenbank eine Vielzahl von weiteren Anwendungsprogrammen, welche jeweils zumindest eine Zusatzfunktionalität für das Feldgerät enthalten, und eine Vielzahl von Basisprogrammen für verschiedene Typen von Feldgeräten gespeichert sind, wobei die Konfiguration des Feldgeräts Informationen über das Basisprogramm des Feldgeräts, über eventuelle bereits auf dem Feldgerät befindliche Anwendungsprogramme, über den Typ des Feldgeräts und/oder über die Hardware des Feldgeräts aufweist, und wobei die weiteren Anwendungsprogramme in einem gemeinsamen Datenformat vorliegen, insbesondere als Quellcode oder als plattformunabhängiger Bytecode, wobei die Basisprogramme im gleichen Datenformat wie die Anwendungsprogramme oder in einem bereits auf das Feldgerät zugeschnittenen Format, insbesondere als relozierbarer Objektcode, vorliegen;
- - Auswählen von zumindest einem weiteren Anwendungsprogramm,
- - Erstellen eines Installationspakets, welches das ausgewählte weitere Anwendungsprogramm enthält, durch einen anhand der übermittelten Konfiguration des Feldgeräts ausgewählten Werkzeugkette, insbesondere umfassend einen Compiler und/oder einen Linker, wobei die Werkzeugkette das Installationspaket in einem auf dem Feldgerät ausführbaren Format erstellt; und
- - Übermitteln des Installationspakets an das Feldgerät und Ausführen des Installationspakets, wodurch das weitere Anwendungsprogramm auf das Feldgerät überspielt wird.
-
Der Vorteil des erfindungsgemäßen Verfahrens besteht darin, dass ein Feldgerät auf einfache Art und Weise um zusätzliche Funktionalitäten erweitert werden kann. Auf einer cloudfähigen Datenbank, welche mit einer Applikation interagiert, beispielsweise ein App-Store, sind eine Vielzahl von zusätzlichen Anwendungsprogrammen für Feldgeräte gespeichert. Ein solches Anwendungsprogramm, welches die Funktionalität des Feldgeräts erweitern soll, wird in ein auf dem Feldgerät ausführbares Installationspaket codiert. Zum Codieren wird eine Werkzeugkette, insbesondere ein Compiler, verwendet, welcher von der cloudfähigen Datenbank auf Basis der von dem Feldgerät übermittelten Konfiguration ausgewählt wird. Durch Ausführen des Installationspakets auf dem Feldgerät wird das weitere Anwendungsprogramm auf das Feldgerät aufgespielt, woraufhin die zusätzliche Funktionalität auf diesem verfügbar ist.
-
Als cloudfähiges System wird ein zur Cloud-Computing-Technologie kompatibles, zentralisiertes oder verteiltes Gesamtsystem verstanden, das zumindest die Datenbank und die zur Umsetzung des erfindungsgemäßen Verfahrens außerhalb des Feldgeräts notwendige Programmlogik beinhaltet. Unter Cloud Computing wird in diesem Fall das Speichern von Informationen und das Zugreifen auf die gespeicherten Informationen über das Internet verstanden.
-
Beispiele für Feldgeräte, welche im Zusammenhang mit dem erfindungsgemäßen Verfahren beschrieben werden, sind bereits im einleitenden Teil der Beschreibung beschrieben worden.
-
Gemäß einer vorteilhaften Weiterbildung des erfindungsgemäßen Verfahrens ist vorgesehen, dass das zu dem Typ des Feldgerät passende Basisprogramm zusätzlich zu dem Anwendungsprogramm in dem Installationspaket enthalten ist und wobei durch das Ausführen des Installationspakets auf dem Feldgerät das bereits auf dem Feldgerät befindliche Basisprogramm und evtl. bereits auf dem Feldgerät befindliche Anwendungsprogramme mit dem in dem Installationspaket enthaltenen Basisprogramm und Anwendungsprogramm überschrieben werden. Diese spezielle Verfahrensvariante des Zusammenstellens des Installationspakets wird als „statisches Binden“ bezeichnet.
-
Gemäß einer bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass die bereits auf dem Feldgerät befindlichen Anwendungsprogramme zusätzlich in dem Installationspaket enthalten sind. Da durch Ausführen eines durch das statische Binden erstellten Installationspakets im Allgemeinen die komplette Software eines Feldgeräts überschrieben wird, wird durch diese Ausführungsform des Verfahrens sichergestellt, dass die komplette Software, welche vor dem Ausführen des Verfahrens auf dem Feldgerät verfügbar war, auch nach dem Ausführen des Installationspakets verfügbar ist, inklusive des ausgewählten zusätzlichen Anwendungsprogramms.
-
Gemäß einer vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass zur Deinstallation eines Anwendungsprogrammes ein Installationspaket erstellt wird, welches das Basisprogramm des Feldgeräts und bis auf das zu deinstallierende Anwendungsprogramm alle auf dem Feldgerät enthaltenen Anwendungsprogramme enthält, wobei durch das Ausführen dieses Installationspakets auf dem Feldgerät das bereits auf dem Feldgerät befindliche Basisprogramm und die bereits auf dem Feldgerät befindliche Anwendungsprogramme mit dem in dem Installationspaket enthaltenen Basisprogramm und Anwendungsprogramm überschrieben werden.
-
In einer vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass die erstellten Installationspakete oder Teile der erstellten Installationspakete auf der Datenbank gespeichert werden. Durch ein solches sogenanntes „Cachen“ können einmal erstellte Installationspakete wiederverwendet werden, beispielsweise für das Feldgerät, für welches dieses erstellt wurde (beispielsweise zwecks eines Neuaufspielens der Software) oder für ein weiteres Feldgerät, welches dieselbe Konfiguration aufweist. Das Speichern erfolgt insbesondere in einem Cache der Datenbank.
-
In einer ersten Variante des erfindungsgemäßen Verfahrens ist vorgesehen, dass das Feldgerät über ein Kommunikationsnetzwerk, beispielsweise das Internet, mit der Datenbank in Kommunikationsverbindung steht und wobei das Feldgerät die Konfiguration über das Kommunikationsnetzwerk an die Datenbank übermittelt und/oder wobei die Datenbank das Installationspaket über das Kommunikationsnetzwerk an das Feldgerät übermittelt.
-
In einer zweiten Variante des erfindungsgemäßen Verfahrens ist vorgesehen, dass die Konfiguration des Feldgeräts auf ein Speichermedium oder auf ein Bediengerät übertragen wird und wobei das Speichermedium, bzw. das Bediengerät, die Konfiguration an die Datenbank übermittelt. Bei einem solchen Speichermedium handelt es sich beispielsweise um eine Speicherkarte oder um einen USB-Stick. Bei dem Bediengerät handelt es sich beispielsweise um eine Bedieneinheit im Sinne des „Field Xperts“, welcher von der Anmelderin produziert und vertrieben wird, um einen Laptop oder um ein mobiles Endgerät, insbesondere ein Smartphone oder ein Tablet-PC.
-
Gemäß einer vorteilhaften Ausgestaltung der zweiten Variante des erfindungsgemäßen Verfahrens ist vorgesehen, dass das Installationspaket auf das Speichermedium, bzw. auf die Bedieneinheit übertragen wird und wobei das Installationspaket von dem Speichermedium, bzw. von der Bedieneinheit, auf das Feldgerät übermittelt wird.
-
In einer vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass als Feldgerät ein Messumformer verwendet wird, an welchen Messumformer zumindest ein Sensorelement anschließbar ist. Der Messumformer kann auch Teil des Feldgeräts, bzw. eine Komponente des Feldgeräts sein. Ein Messumformer oder auch Transmitter genannt ist ganz allgemein ein Gerät, das eine Eingangsgröße entsprechend einer festen Beziehung in eine Ausgangsgröße umformt. In der Prozessautomatisierungstechnik wird an einen Messumformer etwa ein Sensorelement angeschlossen. Die Rohmesswerte des Sensorelements werden im Messumformer aufbereitet, etwa gemittelt oder mittels eines Kalibrierungsmodells in eine andere Größe umgewandelt, etwa die zu bestimmende Prozessgröße, und eventuell weitergeleitet, beispielsweise an ein Leitsystem.
-
Üblicherweise wird an den Messumformer ein Kabel zur Verbindung an das Sensorelement angeschlossen. Der Messumformer ist dabei ein separates Gerät mit einem separaten Gehäuse und verschiedenen Schnittstellen. Alternativ kann der Messumformer, etwa in Form eines Schaltkreises, gegebenenfalls als Mikrocontroller o.ä. in ein Kabel oder direkt in eine Steckverbindung integriert werden.
-
Die Verbindung Kabel zu Sensorelement erfolgt häufig über eine Steckverbindung, beispielsweise durch galvanisch entkoppelte, insbesondere induktive Schnittstellen. Somit können kontaktlos elektrische Signale übertragen werden. Durch diese galvanische Trennung zeigen sich Vorteile hinsichtlich Korrosionsschutz, Potentialtrennung, Verhinderung mechanischer Abnutzung der Stecker usw. Von der Anmelderin werden solche Systeme unter der Bezeichnung „Memosens“ vertrieben.
-
An den Messumformer können verschiedenste Sensorelemente angeschlossen werden. Unter der oben genannten Bezeichnung „Memosens“ werden von der Anmelderin Sensorelemente zur Messung von pH-Wert, Leitfähigkeit, Sauerstoff, Trübung und weitere vertrieben.
-
In einer vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass in dem weiteren Anwendungsprogramm zumindest eine der folgenden Zusatzfunktionalitäten des Messumformers enthalten ist:
- - Treiberpakete für das anzuschließende Sensorelement,
- - Verarbeiten von gemessenen Werten von physikalischen Messgrößen des Sensors,
- - Menüstrukturen.
-
Jedes dieser Sensorelemente erfordert vom Messumformer eine für ihn spezielle Software. Insbesondere muss ein entsprechender Gerätetreiber, kurz Treiber, im Messumformer vorgehalten werden. Ein solcher Gerätetreiber kann als Teil eines Treiberpakets in Form des zusätzlichen Anwendungsprogramms auf das Feldgerät geladen werden.
-
In einer vorteilhaften Weiterbildung des erfindungsgemäßen Verfahrens ist vorgesehen, dass ein Benutzer auf eine Website der Datenbank zugreift und mittels der Website das Auswählen des zumindest einen weiteren Anwendungsprogramms vornimmt.
-
In einer alternativen vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass die Datenbank eine Schnittstelle aufweist, wobei ein Programm über die Schnittstelle auf die Datenbank zugreift und das Auswählen des zumindest einen weiteren Anwendungsprogramms vornimmt.
-
In einer besonders vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass das Verfahren durch Anschließen eines Sensors an das Feldgerät initiiert wird, wobei der Sensor eine Kennung des zumindest einen auszuwählenden weiteren Anwendungsprogramms aufweist und an das Feldgerät überträgt, und wobei der Mesumformer die Kennung an die Datenbank zwecks Auswählens des weiteren Anwendungsprogramms überträgt. Insbesondere ist es hierfür erforderlich, dass das Feldgerät über ein Kommunikationsnetzwerk mit der Datenbank in Kommunikationsverbindung steht.
-
Die Erfindung wird anhand der nachfolgenden Figuren näher erläutert. Es zeigen
- 1: eine schematische Übersicht über das erfindungsgemäße Verfahren;
- 2: ein erstes Ausführungsbeispiel für das Erstellen eines Installationspakets; und
- 3: ein zweites Ausführungsbeispiel für das Erstellen eines Installationspakets.
-
1 zeigt eine Gesamtübersicht über das erfindungsgemäße Verfahren. Die Grundidee ist, dass Anwendungsprogramme AP1, ..., APn auf einer zu einem Feldgerät FG separaten Datenbank DB in einem portablen, von einer konkreten Feldgeräte-Hardware unabhängigen Code (beispielsweise ein Quellcode oder ein Bytecode) vorliegen. Ebenso liegen die Basisprogramme BP1, ..., BPn aller Feldgerätemodelle auf der Datenbank DB vor, beispielsweise als Quellcode, hardwareunabhängiger Bytecode oder als bereits auf das Feldgerät FG zugeschnittener, relozierbarer Objektcode. Fordert ein Benutzer BE oder das Feldgerät FG selbst die Installation eines neuen Anwendungsprogramms AP1, ..., APn an, so wird aus dem entsprechenden portablen Code ein auf dem konkreten Ziel-Feldgerät FG lauffähiges Installationspaket IP erzeugt. Die Erstellung des Installationspakets erfordert hierfür, dass die konkrete Konfiguration KF des Ziel-Messumformers bekannt ist. Diese umfasst neben dem Typ des Feldgeräts FG und/oder Informationen über die Hardware des Feldgeräts FG beispielsweise auch das konkret eingesetzte Basisprogramm des Feldgeräts und/oder bereits auf dem Feldgerät FG installierte Anwendungsprogramme AP1, ..., APn.
-
Hierfür übermittelt das Feldgerät FG seine Konfiguration an die Datenbank DB. Dies kann beispielsweise dadurch geschehen, indem eine Kommunikationsverbindung über ein Kommunikationsnetzwerk zwischen der Datenbank DB und dem Feldgerät FG besteht.
-
Häufig werden jedoch Kommunikationsverbindungen zwischen Feldgeräten FG und Systemen außerhalb des Firmennetzwerks unterbunden. Alternativ wird im erfindungsgemäßen Verfahren daher ein Speichermedium SM oder eine Bedieneinheit verwendet. Der Benutzer BE weist das Feldgerät FG dazu an, seine Konfiguration KF auf das Speichermedium SM, bzw. auf die Bedieneinheit, zu speichern, und übermittelt von dort aus die Konfiguration KF an den App-Store.
-
Ebenso ist eine Datenübertragung der Installationspakete von der Datenbank DB zum Feldgerät FG notwendig. Auch hier muss eine ggf. fehlende Direktverbindung zwischen der Datenbank DB und dem Feldgerät FG durch einen Datenvermittler in Form des Speichermediums, bzw. der Bedieneinheit, überbrückt werden.
-
Nachdem die Übertragung erfolgt ist, wird das Installationspaket auf dem Feldgerät FG installiert, so dass das weitere Anwendungsprogramm AP1, ..., APn anschließend ausführbar ist.
-
Im Folgenden werden die Details der Erstellung und Ausführung des Installationspakets IP erläutert. Die konkrete Umsetzung der Erstellung des Installationspakets IP hängt davon ab, wie dessen Installation erfolgen soll. Bei der Ausführung des Installationspakets IP wird das weitere Anwendungsprogramm AP1, ..., APn mit dem Basisprogramm BP des Feldgeräts und gegebenenfalls weiteren bereits installierten Anwendungsprogrammen AP verbunden. Hierzu werden zwei grundsätzlich verschiedene Konzepte verwendet: das statische Binden und das dynamische Binden.
-
2 zeigt die Erstellung des Installationspakets und die Installation des weiteren Anwendungsprogramms AP1, ..., APn mittels statischen Bindens. 2 zeigt schematisch die Erstellung und Übertragung des Installationspakets. Der prinzipielle Aufbau und die Übermittlung entspricht derer aus 1 - aus Übersichtsgründen sind diverse in 1 gezeigte Elemente (Sensorelement SE, Benutzer BE und Speichermedium SM) nicht abgebildet. Diese Elemente können dennoch vorhanden und vorgesehen sein.
-
Beim statischen Binden werden die Anwendungsprogramme AP, AP1, ..., APn und das Basisprogramm BP des Feldgeräts fest miteinander zu einem Installationspaket verbunden. Das statische Binden findet auf Seite der Datenbank DB statt. Dazu werden der Code des ausgewählten weiteren Anwendungsprogramms AP1, ..., APn, das Basisprogramm des Feldgeräts BP, sowie bereits zuvor auf dem Feldgerät FG installierte Anwendungsprogramme AP zu dem Installationspaket IP neu übersetzt und dann zum Feldgerät FG übertragen.
-
Mögliche Übersetzungsverfahren sind beispielsweise:
- - Das Basisprogramm BP und die die Anwendungsprogramme AP, AP1, ..., APn liegen allesamt als Quellcode vor und werden zu einem Programm übersetzt; oder
- - Das Basisprogramm BP liegt als relozierbarer Objektcode vor; die Anwendungsprogramme AP1, ..., APn liegen als Quellcode vor, wobei die Anwendungsprogramme AP1, ..., APn durch einen Compiler übersetzt werden und anschließend ein Linker die übersetzten Anwendungsprogramme AP1, ..., APn und den relozierbaren Objektcode des Basisprogramms BP zu einem Programm verbindet
-
Die Übertragung kann beispielsweise als Delta zur bisher auf dem Feldgerät FG installierten Software AP, BP erfolgen. Anschließend führt das Feldgerät ein Komplett-Update durch und installiert die im Installationspaket IP befindlichen Anwendungsprogramme AP, AP1, ...., APn, sowie das Basisprogramm.
-
Der Übersetzungsvorgang auf Seite der Datenbank kann dabei gegebenenfalls noch optimiert werden, indem Zwischenergebnisse der Übersetzung in einem Cache der Datenbank DB zwischengepuffert werden. Fordern beispielsweise zwei Feldgeräte mit derselben Konfiguration dasselbe weitere Anwendungsprogramm AP1, ..., APn an, so ist bei Einsatz eines Caches nur eine Übersetzung in ein Installationspaket IP notwendig, sofern sich das Installationspaket IP als Ergebnis der ersten Übersetzung noch im Cache befindet.
-
Die Deinstallation eines Anwendungsprogramms AP, AP1, ...., APn kann auf ähnliche Weise erfolgen. Zur Deinstallation einer Anwendung AP, AP1, ...., APn werden nur das Basisprogramm BP, sowie alle bis auf das zu deinstallierende Anwendungsprogramm AP, AP1, ...., APn zuvor installierten Anwendungsprogramme in ein Installationspaket übersetzt. Anschließend wird dieses Installationspaket wieder zum konkreten Feldgerät FG übertragen. Die Erstellung des Installationspakets IP durch das statische Binden hat folgenden Vorteil: das Feldgerät FG hat nur die Aufgabe, das neue Image aufzuspielen. Da jedoch eine komplett neue Software BP, AP, AP1 aufgespielt wird, ist in der Regel ein Neustart des Feldgeräts notwendig. Eine Alternative bietet hier die Erstellung des Installationspakets IP mittels dynamischen Bindens.
-
3 zeigt die Erstellung des Installationspakets IP und die Installation des weiteren Anwendungsprogramms AP1, ..., APn mittels dynamischen Bindens. 2 zeigt schematisch die Erstellung und Übertragung des Installationspakets. Der prinzipielle Aufbau und die Übermittlung entspricht derer aus 1 - aus Übersichtsgründen sind diverse in 1 gezeigte Elemente (Sensorelement SE, Benutzer BE und Speichermedium SM) nicht abgebildet. Diese Elemente können dennoch vorhanden und vorgesehen sein.
-
Anstatt ein komplettes Installationspaket IP zu erzeugen, welches auch das Basisprogramm BP des Feldgeräts FG enthält, übersetzt die Datenbank den Code des ausgewählten weiteren Anwendungsprogramms AP1, ..., APn in ein Installationspaket IP in Form einer dynamischen Bibliothek. Die Datenbank überträgt nun nur noch die erzeugte dynamische Bibliothek. Ein dynamischer Linker auf dem Feldgerät kann diese anschließend dynamisch laden oder entfernen. Dadurch ist kein Neustart des Feldgeräts notwendig. Allerdings erfordert ein dynamischer Linker es, dass sowohl das Basisprogramm als auch das Installationspaket IP Symbolinformationen beinhalten. Diese werden gebraucht, um Referenzen von der dynamischen Bibliothek in das Basisprogramm BP aufzulösen. Symbole brauchen allerdings Platz, welcher auf einem sehr kleinen eingebetteten System, welches auf dem Feldgerät FG vorhanden ist, gegebenenfalls nicht zur Verfügung steht.
-
Der Pfeil von BPn zu WK ist in 3 optional, da die dynamische Bibliothek allein aus dem Quellcode der Anwendungen AP1, ..., APn erstellt werden kann. Allerdings kann es hilfreich sein, der Werkzeugkette WK ebenfalls das Basisprogramm BP zur Verfügung zu stellen. Beispielsweise kann eine Werkzeugkette WK dadurch vorab überprüfen, dass die aus einem Anwendungsprogramm AP erstellte dynamische Bibliothek nur Symbole referenziert, die im Basisprogramm BP vorhanden sind. Somit lässt sich vorab erkennen, ob der dynamische Linker auf dem Feldgerät FG das Anwendungsprogramm AP installieren kann.
-
Der im Rahmen der 2 behandelte Cache ist auf Seite der Datenbank ebenfalls einsetzbar: Fordern zwei Feldgeräte mit derselben Konfiguration dasselbe weitere Anwendungsprogramm AP1, ..., APn an, so lässt sich eine Neuübersetzung vermeiden, wenn das Installationspaket bereits erzeugt wurde und sich im Cache befindet.
-
Ein weiterer Vorteil von dynamischen Bibliotheken ist, dass die Datenbank keine Information darüber braucht, welche Anwendungsprogramme AP bereits auf dem Feldgerät FG installiert sind, da dynamische Bibliotheken unabhängig von bereits installierten Anwendungsprogrammen platzierbar sind.
-
Es kann vorgesehen sein, dass als Feldgerät FG ein Messumformer verwendet wird, bzw. dass der Messumformer Teil des Feldgeräts FG ist. Ein Messumformer oder auch Transmitter genannt ist ganz allgemein ein Gerät, das eine Eingangsgröße entsprechend einer festen Beziehung in eine Ausgangsgröße umformt. In der Prozessautomatisierungstechnik wird an einen Messumformer ein Sensorelement SE angeschlossen. Ein solches Sensorelement SE erfordert vom Messumformer ein für ihn spezielles Anwendungsprogramm. Insbesondere muss ein entsprechender Gerätetreiber, kurz Treiber, im Messumformer vorgehalten werden. Ein solcher Gerätetreiber kann als Teil eines Treiberpakets in Form des zusätzlichen Anwendungsprogramms AP1, ..., APn auf den Messumformer geladen werden.
-
Bezugszeichenliste
-
- AP
- Anwendungsprogramm
- AP1, ..., APn
- weitere Anwendungsprogramme
- API
- Schnittstelle zur Datenbank zur Auswahl von Anwendungsprogrammen durch ein Programm
- BE
- Benutzer
- BP
- Basisprogramm
- BP1, ..., BPn
- Basisprogramme auf der Datenbank
- DB
- Datenbank
- FG
- Feldgerät
- IP
- Installationspaket
- KF
- Konfiguration des Feldgeräts
- KF1, ..., KFn
- Weitere Konfigurationen von Feldgeräten
- SE
- Sensorelement
- SM
- Speichermedium
- WK
- Werkzeugkette