-
Die Erfindung betrifft ein System zum Zugriff von zumindest einem Client auf zumindest ein Feldgerät, das in ein Feldbussystem der Automatisierungstechnik eingebunden ist, wobei der Zugriff auf das Feldgerät über zumindest einen Kommunikationstreiber und zumindest einen Gerätetreiber für das Feldgerät erfolgt, wobei auf dem Client ein vorgegebenes Betriebssystem mit zumindest einer Rahmenapplikation für den Kommunikationstreiber und den Gerätetreiber oder für einen Kommunikationsclient vorgesehen ist.
-
In der Automatisierungstechnik, insbesondere in der Prozessautomatisierungstechnik werden vielfach Feldgeräte eingesetzt, die zur Erfassung und/oder Beeinflussung von Prozessvariablen dienen. Zur Erfassung von Prozessvariablen dienen Sensoren, die beispielsweise in Füllstandsmessgeräte, Durchflussmessgeräte, Druck- und Temperaturmessgeräte, pH-Redoxpotentialmessgeräte, Leitfähigkeitsmessgeräte, usw. integriert sind, welche die entsprechenden Prozessvariablen Füllstand, Durchfluss, Druck, Temperatur, pH-Wert bzw. Leitfähigkeit erfassen. Zur Beeinflussung von Prozessvariablen dienen Aktoren, wie zum Beispiel Ventile oder Pumpen, über die der Durchfluss einer Flüssigkeit in einem Rohrleitungsabschnitt bzw. der Füllstand in einem Behälter geändert werden kann. Als Feldgeräte werden im Prinzip alle Geräte bezeichnet, die prozessnah eingesetzt werden und die prozessrelevante Informationen liefern oder verarbeiten. Im Zusammenhang mit der Erfindung werden unter Feldgeräten also auch Remote I/Os, Funkadapter bzw. allgemein Geräte verstanden, die auf der Feldebene angeordnet sind. Eine Vielzahl solcher Feldgeräte wird von der Firma Endress + Hauser hergestellt und vertrieben.
-
In modernen Industrieanlagen erfolgt die Kommunikation zwischen zumindest einer übergeordneten Steuereinheit und den Feldgeräten in der Regel über ein Bussystem, wie beispielsweise Profibus® PA, Foundation Fieldbus® oder HART®. Die Bussysteme können sowohl drahtgebunden als auch drahtlos ausgestaltet sein. Die übergeordnete Steuereinheit dient zur Prozesssteuerung, zur Prozessvisualisierung, zur Prozessüberwachung sowie zur Inbetriebnahme und Bedienung der Feldgeräte und wird auch als Konfigurier-/Managementsystem bezeichnet. Programme, die auf übergeordneten Einheiten eigenständig ablaufen, sind beispielsweise das Bedientool FieldCare der Firmengruppe Endress + Hauser, das Bedientool Pactware, das Bedientool AMS von Fisher-Rosemount oder das Bedientool PDM von Siemens. Bedientools, die in Leitsystem-Anwendungen integriert sind, sind das PCS7 von Siemens, das Symphony von ABB und das Delta V von Emerson. Unter dem Begriff 'Bedienen von Feldgeräten' wird insbesondere das Konfigurieren und Parametrieren von Feldgeräten, aber auch die Diagnose zwecks frühzeitiger Erkennung von Fehlern an einem der Feldgeräte oder im Prozess verstanden. Im weitesten Sinn umfasst der Begriff ”Bedienen” auch die Anzeige von Information.
-
Die Integration von Feldgeräten in Konfigurier-/Managementsysteme erfolgt üblicherweise über Gerätebeschreibungen, die dafür sorgen, dass die Konfigurier-/Managementsysteme die von den Feldgeräten gelieferten Daten erkennen und interpretieren können. Bereit gestellt werden die Gerätebeschreibungen für jeden Feldgerätetyp bzw. für jeden Feldgerätetyp in unterschiedlichen Applikationen in der Regel von dem jeweiligen Gerätehersteller. Damit die Feldgeräte in unterschiedliche Feldbussysteme integriert werden können, müssen unterschiedliche Gerätebeschreibungen für die unterschiedlichen Feldbussysteme erstellt werden. So gibt es – um nur einige Beispiele zu nennen – HART-, Fieldbus Foundation- und Profibus-Gerätebeschreibungen. Die Anzahl der Gerätebeschreibungen ist sehr groß, – entspricht sie doch der großen Zahl der unterschiedlichen Feldgeräte bzw. Feldgerätetypen in den unterschiedlichen Applikationen und Bussystemen. Üblicherweise müssen die Gerätebeschreibungen in dem jeweiligen Konfigurier-/Managementsystem abgespeichert sein.
-
Zwecks Schaffung einer einheitlichen Beschreibungssprache für die Feldgeräte haben die Fieldbus Foundation (FF), die HART Communication Foundation (HCF) und die Profibus Nutzerorganisation (PNO) eine einheitliche elektronische Gerätebeschreibungssprache (Electronic Device Description Language EDDL) erstellt. Die EDDL bzw. die entsprechende Electronic Device Description EDD ist in der Norm IEC 61804-2 definiert.
-
Neben den zuvor beschriebenen Gerätebeschreibungen werden sog. Device Type Manager (DTM) oder Gerätetreiber eingesetzt, die als Laufzeitumgebung eine Rahmenapplikation benötigen. Gerätetreiber dienen zur vollumfänglichen Bedienung der Feldgeräte und entsprechen bevorzugt der FDT – Field Device Tool – Spezifikation. Die als Industriestandard geltende FDT-Spezifikation entspricht einer Schnittstellenspezifikation und wurde von der PNO – Profibus Nutzer Organisation – in Zusammenarbeit mit dem ZVEI – Zentralverband Elektrotechnik- und Elektroindustrie – entwickelt. Die jeweils aktuelle FDT-Spezifikation ist über den ZVEI bzw. die PNO bzw. die FDT-Group erhältlich.
-
Für die azyklische Kommunikation bei der Konfigurierung oder Diagnose von Feldgeräten kommt neben zumindest einem dem Feldgerät zugeordneten Gerätetreiber auch zumindest ein Kommunikationstreiber zum Einsatz. Oftmals dienen Kommunikationstreiber darüber hinaus zur Kommunikation mit einem zweiten Client für z. B. periodische Anfragen an die Feldgeräte.
-
Die robuste Implementierung von Kommunikationstreibern für den Dauerbetrieb (7 Tage/24 Stunden) ist schwer sicherzustellen. Darüber hinaus werden die Kommunikationstreiber durch die Synchronisationsaufgabe infolge des oftmals vorherrschenden MultiClient Betriebs zusätzlich gefordert. Die Funktionalität der Kommunikationstreiber ist daher ziemlich fehleranfällig. In vielen Fällen führen die Langzeit-/Dauerbelastungen zu Laufzeitproblemen und damit zu Fehlfunktionen in der Automatisierungsanlage. Erschwerend kommt hinzu, dass Fehlfunktionen in der Automatisierungsanlage relativ schwer zu lokalisieren sind, so dass die Fehlersuche und die Fehlerbehebung mit einigem Aufwand verbunden sind.
-
Die Erstellung der Rahmenapplikation erfolgt über entsprechende Hersteller. Die entsprechenden Kommunikationstreiber werden in der Regel von der Rahmenapplikation integriert. Hingegen werden die benötigten Kommunikationstreiber von beliebigen Herstellerfirmen von Kommunikations-Hardware bereitgestellt. Üblicherweise liegt die Herstellung der Kommunikationstreiber somit außerhalb der Entwicklungshoheit der Hersteller der Rahmenapplikation.
-
Die mangelnde Robustheit der Kommunikationstreiber führt dazu, dass die für die korrekte Funktion des Feldgeräts und damit für den korrekten Betrieb der Automatisierungsanlage notwendigen Funktionsmerkmale, die von den Kommunikationstreibern in der Rahmenapplikation bereitgestellt werden, nicht verfügbar sind. Werden die Funktionsmerkmale der Kommunikationstreiber in der Rahmenapplikation nicht mehr zuverlässig zur Verfügung gestellt, so ist die Kommunikation mit den Feldgeräten gestört. Wie bereits erwähnt, ist es mit relativ hohem Aufwand verbunden, die Quelle einer in der Automatisierungsanlage auftretenden Störung zu lokalisieren. Ein als Folge der Störung üblicherweise erforderlicher Neustart des Kommunikationstreibers ist ebenfalls sehr zeitaufwändig.
-
Der Erfindung liegt die Aufgabe zugrunde, ein System vorzuschlagen, das die Funktionsmerkmale eines Kommunikationstreibers mit erhöhter Zuverlässigkeit zur Verfügung stellt.
-
Die Aufgabe wird dadurch gelöst, dass ein Steuerungssoftwaremodul vorgesehen ist, das nach Ablauf einer vorgegebenen Zeitdauer oder aufgrund eines Diagnoseereignisses eine erste aktuell aktive Instanz des Kommunikationstreibers durch eine zweite neu aktivierte Instanz des Kommunikationstreibers ersetzt, wobei die neu aktivierte Instanz des Kommunikationstreibers mit den persistenten Konfigurationsdaten der abgelösten Instanz des Kommunikationstreibers initialisiert wird. Erfindungsgemäß wird erreicht, dass die Fehlerrate bei Zugriffen von einem oder von mehreren Clients auf die Feldgeräte gegen Null geht. Eine vorteilhafte Weiterbildung des erfindungsgemäßen Systems sieht vor, dass das Steuerungssoftwaremodul die aktuell aktive Instanz des Kommunikationstreibers deaktiviert, sobald die neu aktivierte Instanz des Kommunikationstreibers aktiviert ist. In einem begrenzten Zeitraum kann somit die aktuell aktive Instanz des Kommunikationstreibers offline und die neu aktivierte Instanz des Kommunikationstreibers online geschaltet werden. Hierdurch wird es ermöglicht, die zyklischen oder azyklischen Anfragen von einem Client oder von mehreren Clients an die Feldgeräte mit möglichst geringer Ausfallzeit zu bedienen. Die Robustheit des Systems wird erheblich gesteigert. Auch lassen sich nun im Fall der alternativen Ausgestaltung 2 infolge der begrenzten Lebenszeit einer Instanz des Kommunikationstreibers bzw. der Kommunikationstreiber Akkumulationsrisiken deutlich reduzieren, da Speicherresourcen oder Resourcen anderer Ausprägung (Handles, ...), die von der jeweils aktiven Instanz des Kommunikationstreibers belegt sind, mit dem Deaktivieren der aktiven Instanz und dem Umschalten auf die zweite Instanz des Kommunikationstreibers freigegeben werden.
-
In Verbindung mit dem erfindungsgemäßen System werden zwei alternative Ausgestaltungen vorgeschlagen:
- 1. Das Steuerungssoftwaremodul ist als Teil der Rahmenapplikation implementiert. Nach Ablauf einer vorgegebenen Zeitdauer oder bei Auftreten eines vorgegebenen Ereignisses, insbesondere eines Diagnoseereignisses wird die jeweils aktive Instanz des Kommunikationstreibers durch die neu aktivierte Instanz ablöst. Für diese Ausgestaltung muss die Rahmenapplikation um das Steuerungssoftwaremodul erweitert werden. Bei der Rahmenapplikation handelt es sich übrigens bevorzugt um eine Rahmenapplikation entsprechend der FDT-Spezifikation.
- 2. Das Steuerungssoftwaremodul ist Teil einer Proxy/Stub-Implementierung, die neben der Steuerung des Ablösens der jeweils aktiven Instanz durch die neu aktivierte Instanz auch die Instanz des Kommunikationstreibers bzw. die Instanzen der Kommunikationstreiber in verschiedenen Prozessen anlegt. Hierdurch wird die Umschaltung zwischen mehreren verschiedenen Prozessen möglich. Prozess bezieht sich in diesem Zusammenhang auf einen Prozess in der Informatatik. Hiernach ist ein Prozess ein im Ablauf befindliches Computerprogramm. Zum Prozess gehören das Programm samt Daten und Prozesskontext.
-
Während bei der zuerst genannten Alternative die Implementierung einer sog. HotSwap Komponente in der Rahmenapplikation erfolgt, wird bei der zweiten Alternative das Umschalten zwischen unterschiedlichen Instanzen in einem Proxy Kommunikations-Gerätetreiber gekapselt. Dieser kann somit auch anderen unbekannten, da abgeschotteten Rahmenapplikationen zur Verfügung gestellt werden. Dieser Proxy Kommunikationstreiber kann das Umschalten zwischen verschiedenen Gateway Stub Instanzen, die in verschiedenen Prozessen ablaufen, steuern. Alle Resourcen, die von den jeweiligen Instanzen der Kommunikationstreiber belegt werden, werden mit dem jeweiligen Prozess freigegeben. Hierdurch wird das Akkumulationsrisiko erheblich verringert. Mit dieser Variante ist es möglich, alle bisher unbeabsichtigt kummulierten Resourcen, wie z. B. Speicherlöcher, nicht wieder freigegebene Handles etc., die sich in einem Prozess angesammelt haben, freizugeben.
-
Eine vorteilhafte Ausgestaltung des erfindungsgemäßen Systems sieht mehrere Kommunikationsclients vor, die unabhängig voneinander auf das Feldgerät bzw. auf die Feldgeräte zugreifen. Bei einem derartigen Kommunikationsclient kann es sich beispielsweise um ein Condition Monitoring System – CMS – handeln.
-
In beiden Alternativen ist das Steuerungssoftwaremodul so ausgestaltet, dass es das Ablösen der ersten aktuell aktiven Instanz des Kommunikationstreibers durch eine zweite neu aktivierte Instanz steuert. Darüber hinaus ist das Steuerungssoftwaremodul so ausgestaltet, dass es Anfragen auf dem Bussystem mithört und für die Kommunikationsclients transparent an die jeweils aktive Instanz des Kommunikationstreibers weiterleitet.
-
Weiterhin wird vorgeschlagen, dass das Steuerungssoftwaremodul die während der Umschaltphase von der aktiven Instanz auf die neu aktivierte Instanz mitgehörten Anfragen des bzw. der Kommunikationsclients an das Feldgerät bzw. die Feldgeräte in zeitlich korrekter Reihenfolge sammelt und diese an die jeweils aktive Instanz weiterleitet.
-
Als besonders vorteilhaft wird die Weiterbildung des erfindungsgemäßen Systems erachtet, wenn eine optimale Zeitdauer, während der eine Instanz des Kommunikationstreibers aktiv ist, im Laufe einer Testphase des Kommunikationstreibers ermittelt wird. Alternativ ist vorgesehen, dass sich die optimale Zeitdauer automatisch über die Laufzeit anpasst. In beiden Fällen ist vorgesehen, dass es sich bei der Zeitdauer bzw. der optimalen Zeitdauer bevorzugt um eine voreingestellte Zeitdauer handelt, die kürzer ist als die mittlere Ausfallzeit des Kommunikationstreibers unter geeigneten bzw. entsprechenden Belastungstests.
-
Darüber hinaus ist eine Ausgabeeinheit vorgesehen, die die Auswertung des Verlaufs der automatisch adaptierten Umschaltzeiten und aller Diagnosemesswerte, welche der Anpassung der Umschaltzeiten zugrunde liegen, ausgibt.
-
Eine vorteilhafte Weiterbildung des erfindungsgemäßen schlägt vor, dass das Steuerungssoftwaremodul so konfiguriert ist, dass beim Umschalten zwischen zwei Instanzen ein Kommunikationsereignis ausgelöst wird.
-
Weiterhin ist in Verbindung mit dem erfindungsgemäßen System eine Eingabeeinheit vorgesehen, über die seitens des Feldbusbetreibers die vorgegebene Zeitdauer bzw. die vorgegebene optimale Zeitdauer in Abhängigkeit von Erfahrungswerten, die während des Betreibens des Feldbussystems gesammelt werden, von einem Benutzer manuell oder vom Steuerungssoftwaremodul automatisch angepasst wird.
-
Weiterhin wird vorgeschlagen, dass die Zeitdauer, bis eine Instanz des Kommunikationstreibers aktiv durch eine neue Instanz abgelöst wird, durch ein vordefiniertes oder konfigurierbares Diagnoseereignis bestimmt wird. Bei einem derartigen Diagnoseereignis handelt es sich beispielsweise um die Erreichung einer festgelegten Schwelle des Speicher- oder Handleverbrauchs eines Prozesses, in welchem die Kommunikationstreiber laufen, oder die Feststellung einer Häufung von Kommunikationsfehlern.
-
Die Erfindung wird anhand der nachfolgenden Figuren näher erläutert. Es zeigt:
-
1: eine schematische Darstellung eines Feldbussystems der Automatisierungstechnik, in dem das erfindungsgemäße System integriert ist,
-
2: eine erste Ausgestaltung des erfindungsgemäßen Systems,
-
3: eine zweite Ausgestaltung des erfindungsgemäßen Systems und
-
4: ein Sequenzdiagramm, das den Ablauf der Steuerung mittels des Steuerungssoftwaremoduls zeigt.
-
1 zeigt eine schematische Darstellung eines Feldbussystems FB der Automatisierungstechnik. Das erfindungsgemäße System ist beispielsweise in ein derartiges Feldbussystem FB integriert. Dargestellt ist ein Feldbussegment FS, bei dem vier Feldgeräte F1, F2, F3 und F4 – im Folgenden auch mit Fx bezeichnet – sowie eine übergeordnete Steuereinheit CONTROL an einen Feldbus FB angeschlossen sind. Der Feldbus FB arbeitet auf der Basis eines der in der Automatisierungstechnik gebräuchlichen Feldbusprotokolle. Beispielsweise läuft die Kommunikation über den HART, Profibus PA oder den Fieldbus Foundation Standard. Es versteht sich von selbst, dass diese Aufzählung von Feldbusprotokollen keineswegs eine Beschränkung darstellt.
-
Bei der übergeordneten Steuereinheit CONTROL handelt es sich beispielsweise um eine SPS (Speicherprogrammierbare Steuerung), eine PLS (Prozessleitsystem) oder eine DCS (Distributed Control Systems), eine verteilt angeordnete Steuerung. Die Feldgeräte F1, F2, F3, F4 dienen zur Bestimmung oder Überwachung einer physikalischen oder chemischen Prozessgröße. Konkrete Beispiele sind in der Beschreibungseinleitung bereits genannt worden. Die Kommunikation zwischen der übergeordneten Steuereinheit CONTROL und den Feldgeräten erfolgt zyklisch bzw. periodisch. In diesem Zusammenhang wird auch von periodischen Anfragen gesprochen.
-
Die übergeordnete Steuereinheit CONTROL ist mit einer Anzeigeeinheit AZ verbunden, die als Visualisierungssystem (z. B. zur Anzeige von Prozessparametern, etc.) dient. Die übergeordnete Steuereinheit CONTROL dient zur Prozesssteuerung, zur Prozessvisualisierung, zur Prozessüberwachung und/oder zur Inbetriebnahme der Feldgeräte.
-
An dem Feldbus FB ist in einem parallelen Zweig ein Feldbus-Interface FI bzw. eine Feldbuszugriffseinheit angeschlossen, über die zumindest ein Client C1, C2 auf die Feldgeräte Fx zugreifen kann. Die Kommunikation zwischen dem Client C1, C2 und den Feldgeräten Fx erfolgt azyklisch. Das Feldbus-Interface FI, das oftmals auch als Gateway bezeichnet wird, führt eine Protokollumsetzung zwischen dem Protokoll des übergeordneten Netzwerkes LAN und dem Protokoll des Feldbusses FB durch. Weiterhin kann die Feldbuszugriffseinheit FB auch einen Feldbus-Scan durchführen und so die in das Feldbussystem FB integrierten Feldgeräte Fx ermitteln.
-
Das übergeordnete Netzwerk LAN ist beispielsweise ein lokales Firmennetz, das als Ethernet-LAN ausgebildet ist. Dabei kann das übergeordnete Netzwerk LAN auch an das weltweite Internet angeschlossen sein. An dem übergeordneten Netzwerk LAN sind unterschiedliche, räumlich verteilt angeordnete Clients C1, C2 angeschlossen. Beispielsweise läuft auf dem Client C1 ein Condition Monitoring Programm, während auf dem Client 2 ein Konfigurier-/Managementsystem, z. B. FieldCare der Anmelderin, installiert ist. Sowohl an dem Feldbus FB als auch an dem übergeordneten Netzwerk LAN können selbstverständlich auch noch weitere Feldgeräte und/oder Netzwerke und/oder Clients angeschlossen sein.
-
2 zeigt eine erste Ausgestaltung des erfindungsgemäßen Systems zum Zugriff von zumindest einem Client C1, C2 auf zumindest ein Feldgerät F1, F2, F3, F4, das in ein Feldbussystem FB der Automatisierungstechnik eingebunden ist. Der Zugriff auf das Feldgerät Fx mit x = 1, 2, 3, ... erfolgt über zumindest einen Kommunikationstreiber CommDTM und zumindest einen Gerätetreiber DeviceDTMx für das Feldgerät Fx. Auf dem Client C1, C2 ist ein vorgegebenes Betriebssystem (z. B. Microsoft Windows, Apple Mac, Linux, ...) mit zumindest einer Rahmenapplikation FRAME für den Kommunikationstreiber CommDTM und den Gerätetreiber DeviceDTMx oder für einen Kommunikationsclient C1, C2 vorgesehen ist.
-
Erfindungsgemäß ist das Steuerungssoftwaremodul SSM vorgesehen, das nach Ablauf einer vorgegebenen Zeitdauer t1, t2 oder aufgrund eines Diagnoseereignisses eine erste aktuell aktive Instanz des Kommunikationstreibers CommDTM-Instanz 1 durch eine zweite neu aktivierte Instanz des Kommunikationstreibers CommDTM-Instanz 2 ersetzt, wobei die neu aktivierte Instanz des Kommunikationstreibers CommDTM-Instanz 2 mit den persistenten Konfigurationsdaten der abgelösten ersten Instanz des Kommunikationstreibers CommDTM-Instanz 1 initialisiert wird. Bei dem Steuerungssoftwaremodul SSM handelt es sich bevorzugt um ein transparentes GatewayDTM, das die Anfragen auf dem Feldbussystem FB mithören und transparent an die jeweils aktive Kommunikationstreiber-Instanz CommDTM-Instanz 1, CommDTM-Instanz 2 weiterreichen kann. Das transparente GatewayDTM kann auch als HotSwap Control Komponente bezeichnet werden.
-
Erfindungsgemäß wird also die erste bzw. die aktuell aktivierte Instanz des Kommunikationstreibers CommDTM-Instanz 1 durch das Steuerungssoftwaremodul SSM deaktiviert, sobald die zweite bzw. die neu aktivierte Instanz des Kommunikationstreibers CommDTM-Instanz 2 neu aktiviert ist. Für diese Ausgestaltung muss die Rahmenapplikation FRAME um das Steuerungssoftwaremodul SSM erweitert werden. Bei der Rahmenapplikation FRAME handelt es sich übrigens bevorzugt um eine Rahmenapplikation FRAME entsprechend der FDT-Spezifikation. Durch den steten Wechsel zwischen zwei Instanzen der Kommunikationstreiber CommDTM-Instanz 1, CommDTM-Instanz 2 lässt sich die Robustheit und die Zuverlässigkeit des bzw. der Kommunikationstreiber CommDTM erheblich erhöhen, so dass ein 7 Tage/24 Stunden Zugriff von dem Client C1 auf die Feldgeräte F1, F2, F3, F4 sichergestellt werden kann.
-
3 zeigt eine zweite Ausgestaltung des erfindungsgemäßen Systems. Das Steuerungssoftwaremodul SSM ist Teil einer Proxy/Stub-Implementierung, die neben der Steuerung des Ablösens der jeweils aktiven Instanz des Kommunikationstreibers CommDTM-Instanz 1 durch die neu aktivierte Instanz des Kommunikationstreibers CommDTM-Instanz 2 auch die Instanzen der Kommunikationstreiber in verschiedenen Prozessen Process 2, Process 3 anlegt. Es erfolgt also eine Umschaltung zwischen unterschiedlichen Prozessen Process 2, Process 3.
-
Jedem Client C1, hier einem 24/7 Condition Monitoring System – also einem jederzeit verfügbaren CMS, sind ein Kommunikationstreiber Proxy CommDTM Proxy und mehrere Gerätetreiber DeviceDTMx zur Bedienung der Feldgeräte Fx zugeordnet. Die Kommunikation zwischen dem Client C1 und den Feldgeräten Fx erfolgt über den Kommunikationstreiber Proxy CommDTM-Proxy, den Stub-Treiber GatewayDTM-Stub und den Kommunikationstreiber CommDTM. Der Stub-Treiber regelt die Kommunikationsverbindung der einzelnen Clients C1, C2 mit den Feldgeräten Fx so, dass sichergestellt ist, dass jederzeit nur ein Client C1, C2 oder – im Falle eines Kommunikationstreibers CommDTM, der diese Möglichkeit bietet – eine definierte Anzahl von Clients C1, C2 parallel auf ein ausgewähltes Feldgerät Fx zugreifen kann/können.
-
Unter Kommunikationstreiber Proxy wird ein Programmcode verstanden, der stellvertretend für einen anderen Programmcode steht. Beispielsweise ist dieser andere Programmcode auf einem entfernten Server bzw. einem entfernten Softwaresystem, installiert. Der Stub-Treiber bzw. der Gateway Stub GatewayDTM-Stub ist der lokale Anknüpfpunkt in den Prozessen Process1, Process2, um ausgelagerte Softwarekomponenten aus der Ferne ansprechen zu können. Die Funktionalität eines entfernten, nur über ein Netzwerk erreichbaren Softwaresystems (dies sind z. B. in 3 die Kommunikationsserver in den Prozessen 2 und 3) wird auf dem lokalen Client C1, C2 in Form eines Kommunikationstreiber Proxys CommDTM-Proxy erreichbar – so als wäre die Funktion des entfernten Softwaresystems lokal vorhanden. Statt die gewünschte Funktionalität jedoch tatsächlich zu implementieren, übersetzt der Kommunikationstreiber Proxy CommDTM-Proxy die Anfragen Requests in Netzwerkanrufe, kommuniziert mit dem entfernten Softwaresystem im Prozess Process 1 und delegiert die entsprechende Aktion an das entfernte Softwaresystem weiter. Für den nutzenden Client C1, C2 bleibt diese Aktion verborgen. Der Stub-Treiber, hier der Gatewaystub (GatewayDTM-Stub) übernimmt gleichfalls die Funktion eines Stellvertreters. Als Stellvertreter des Kommunikationstreibers Proxy (CommDTM-Proxy) können die Gateway Stubs (GatewayDTM-Stub) den Zugriff auf die in unterschiedlichen Prozessen Process1, Process2 angelegten Kommunikationstreiber CommDTM-Instanz 1, CommDTM-Instanz 2 steuern.
-
Wie im Falle der in 2 gezeigten Ausführungsform des erfindungsgemäßen Systems können auch bei dieser Ausführungsform infolge der begrenzten Lebenszeit eines Kommunikationstreibers CommDTM die Akkumulations-probleme und damit die Ausfallzeiten der Anfragen an die Feldgeräte Fx deutlich reduziert werden. Als Folge hiervon wird die Verfügbarkeit der Kommunikation auf dem Feldbussystem FB signifikant erhöht.
-
Während bei der zuerst genannten Alternative die Implementierung des Steuerungssoftwaremoduls SSM in Form einer sog. HotSwap Komponente in der Rahmenapplikation FRAME erfolgt, wird bei der zweiten Alternative das Steuerungssoftwaremodul, das das Umschalten zwischen zwei Instanzen des Kommunikationstreibers CommDTM-Instanz 1, CommDTM-Instanz 2 steuert, in einem Kommunikationstreiber Proxy CommDTM-Proxy gekapselt. Dieser kann somit auch anderen unbekannten, da abgeschotteten Rahmenapplikationen zur Verfügung gestellt werden. Der Kommunikationstreiber Proxy CommDTM-Proxy kann darüber hinaus das Umschalten zwischen verschiedenen Gateway Stub Instanzen, die in verschiedenen Prozessen Process 1, Process 2 ablaufen, steuern. Alle Resourcen, die von den jeweiligen Instanzen der Kommunikationstreiber CommDTM-Instanz 1, CommDTM-Instanz 2 belegt werden, werden mit der Freigabe des jeweiligen Prozesses Process 1, Process 2 gleichfalls freigegeben. Hierdurch lassen sich Akkumulationsrisiken weiter herabsetzen. Mit dieser Variante ist es möglich, alle Altlasten, die in einem Prozess Process 1, Process 2 vorhanden sind, loszuwerden.
-
In 4 ist ein Sequenzdiagramm dargestellt, das den Ablauf der Steuerung des erfindungsgemäßen Systems gemäß 2 mittels des Steuerungssoftwaremoduls SSM zeigt. Die Querbalken symbolisieren von links nach rechts die HotSwap Control Komponente, die erste Instanz des Kommunikationstreibers CommDTM-Instanz 1, die zweite Instanz des Kommunikationstreibers CommDTM-Instanz 2 und im gezeigten Fall den 24/7 Client C1. In dem Sequenzdiagramm werden von oben nach unten zeitlich die folgende Prozessschritte durchlaufen:
Über die aktuell aktive Instanz des Kommunikationstreibers CommDTM-Instanz 1 wird eine Anfrage vom 24/7 Client C1, C2 an eines der Feldgeräte Fx gerichtet und die entsprechende Antwort wird entsprechend an den Client C1 weitergeleitet. Nach Ablauf der Zeitdauer t1, während der die aktuell aktive Instanz des Kommunikationstreibers CommDTM-Instanz 1 aktiviert ist, schaltet das Steuersoftwaremodul SSM auf die zweite Instanz des Kommunikationstreibers CommDTM-Instanz 2 um. Die neu aktivierte Instanz des Kommunikationstreibers CommDTM-Instanz 2 wird mit den persistenten Konfigurationsdaten Dataset der abzulösenden Instanz des Kommunikationstreibers CommDTM-Instanz 1 initialisiert. Das Steuerungssoftwaremodul SSM sammelt während des Umschaltens die von dem Client C1 eingehenden Anfragen Requests. Alle ausstehenden Antworten, die noch über die erste Instanz des Kommunikationstreibers CommDTM-Instanz 1 erfolgen sollen, werden an den Client C1 weitergeleitet. Sobald alle ausstehenden Antworten von der ersten Instanz des Kommunikationstreibers CommDTM-Instanz 1 an den Client C1 geliefert worden sind, wird der Client C1 und anschließend die erste Instanz des Kommunikationstreibers CommDTM-Instanz 1 abgeschaltet bzw. offline gesetzt, während die zweite Instanz des Kommunikationstreibers CommDTM-Instanz 2 aktiviert bzw. online gesetzt wird. Bis zur Beendigung dieses Prozessschrittes werden eingehende Anfragen Requests des Clients C1 von dem Steuerungssoftwaremodul SSM abgearbeitet. Wenn die Bearbeitung abgeschlossen ist, wird die erste Instanz des Kommunikationstreibers CommDTM-Instanz 1 gelöscht und damit alle Resourcen freigegeben.
-
Nunmehr werden die Anfragen Requests von dem Client C1 an die Feldgeräte Fx über die zweite Instanz des Kommunikationstreibers CommDTM-Instanz 2 bearbeitet. Nach Ablauf der Zeitdauer t2 erfolgt dann wieder die Umschaltung von der nunmehr aktiven zweiten Instanz des Kommunikationstreibers CommDTM-Instanz 2 auf die neu aktivierte Instanz des Kommunikations-treibers CommDTM-Instanz 1. Die Festlegung und/oder die Einstellung der Zeitdauern t1, t2 bzw. der optimalen Zeitdauer Topt wurden/wurde bereits an vorhergehender Stelle beschrieben.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-