-
Die Erfindung betrifft eine Vorrichtung zur Sicherstellung einer fehlerfreien Datenkommunikation zwischen zumindest zwei elektronischen Komponenten eines Feldgeräts der Automatisierungstechnik.
-
Zur Erfassung von Prozessvariablen in der Automatisierungstechnik dienen Sensoren, die beispielsweise in Füllstandsmessgeräte, Durchflussmessgeräte, Druck- und Temperaturmessgeräte, Analysemessgeräte, usw. integriert sind. Die Geräte erfassen die entsprechenden Prozessvariablen Füllstand, Durchfluss, Druck, Temperatur, Analysedaten, wie pH-Wert, Trübung oder Leitfähigkeit. 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. Sensoren und Aktoren werden allgemein als Feldgeräte bezeichnet. Als Feldgeräte werden in Verbindung mit der Erfindung jedoch alle Geräte bezeichnet, die prozessnah eingesetzt werden und die prozessrelevante Informationen liefern oder verarbeiten.
-
Die in der Automatisierungstechnik, und zwar sowohl in der Prozess- als auch in der Fertigungsautomatisierungstechnik, eingesetzten Feldgeräte werden zunehmend intelligenter. Die zunehmende Intelligenz der Sensoren und Aktoren spiegelt sich in einer stetig zunehmenden Anzahl von unterschiedlichen Funktionalitäten oder Parametern.
-
Als Folge dieser stetig steigenden Zahl von unterschiedlichen Funktionalitäten oder Parametern wird es immer schwieriger sicherzustellen, dass die Software, die zur Steuerung und Auswertung herangezogen wird, in allen nur möglichen Konstellationen fehlerfrei arbeitet. Die Software, die die Steuerung und Auswertung der von den Sensorelementen oder Aktorelementen gelieferten Mess- oder Stellwerte vornimmt, findet sich großteils in einem Transmitter. Der Transmitter wird auch als Regel- und/oder Auswerteeinheit bezeichnet. Oftmals ist die Feldgeräte-Software auf unterschiedliche elektronische Komponenten des Transmitters oder des Sensors bzw. Aktors verteilt. Die einzelnen elektronischen Komponenten kommunizieren über Datenleitungen miteinander, wobei sie unterschiedliche Protokolle und zugehörige Schnittstellen nutzen. Um die in der Software versteckten Fehler zu erkennen und damit die Qualität der Regelung und Auswertung durch den Transmitter zu erhöhen, sind Testtools entwickelt worden, die standardisierte Integrationstests zu definierten Zeitpunkten der Software-Entwicklung vornehmen.
-
Dennoch lässt es sich nicht vermeiden, dass beim Ablaufen der Programme der Software schwer reproduzierbare Fehler auftreten. Als Folge eines schwer reproduzierbaren Fehlers kann beispielsweise kurzzeitig ein Störsignal auf einem Stromausgang oder ein unerwartetes Verhalten einer Sensorschnittstelle auftreten. Derartige Fehler sind nachfolgend fast nicht mehr nachzuweisen; sie sind – wie bereits gesagt – schwer reproduzierbar. Wenn die Identifizierung des Fehlers nicht möglich ist, ist es auch nicht möglich, den Fehler zu beheben. Hinzukommt, dass sich in einer Vielzahl der Fälle nur die Auswirkungen des Fehlers erkennen lassen, z.B. das bereits beschriebene Störsignal auf dem Stromausgang; es liegt jedoch keine Information darüber vor, was sich zum Zeitpunkt des Auftretens des Fehlers in dem Transmitter und/oder in der Firmware abgespielt hat.
-
Bislang gibt es kein Software-Tool, das in der Lage wäre, die zuvor beschriebenen Fehler zu identifizieren und mit dem korrespondierenden Zustand der Software bei Auftreten des Fehlers zur Deckung zu bringen. Darüber hinaus stehen in der Automatisierungstechnik nur begrenzte Energie- und damit Speicherressourcen zur Verfügung. Daher ist es nicht möglich, die gesamte Firmware der einzelnen elektronischen Komponenten des Transmitters im Debug-Mode zu kompilieren, um so die Ursache des Fehlers zu identifizieren.
-
Der Erfindung liegt die Aufgabe zugrunde, die Zuverlässigkeit eines Feldgeräts zu erhöhen.
-
Die Aufgabe wird erfindungsgemäß wie folgt gelöst, und zwar durch eine Vorrichtung der Automatisierungstechnik zur Sicherstellung einer fehlerfreien Datenkommunikation auf zumindest einer Datenleitung zwischen zumindest zwei elektronischen Komponenten mit mindestens einem Mikrocontroller oder mindestens einem Mikroprozessor, mit einem Busmonitor, der die Datenkommunikation auf der zumindest einen Datenleitung überwacht und so ausgestaltet ist, dass er einen Fehler oder ein vorgegebenes Ereignis erkennt, der/das bei der Kommunikation zwischen den zumindest zwei elektronischen Komponenten auf der Datenleitung auftritt, mit einem Datenlogger, der im Falle des Auftretens eines Fehlers oder eines vorgegebenen Ereignisses Daten des zumindest einen Mikrocontrollers oder Mikroprozessors, die in einem definierten Zeitbereich um das Auftreten des Fehlers oder des vorgegebenen Ereignisses liegen, abfragt und aufzeichnet, und mit einer Speichereinheit, die den aufgetretenen Fehler und die zeitlich korrelierenden Daten des Mikrocontrollers oder Mikroprozessors vorhält, wobei der aufgetretene Fehler und die zeitlich korrelierenden Daten des zumindest einen Mikrocontrollers oder Mikroprozessors Information über die Ursache des aufgetretenen Fehlers beinhalten. Erfindungsgemäß ist es daher möglich, einen auf einer Datenleitung auftretenden Fehler unmittelbar mit einem entsprechenden problematischen Programmpunkt in der Software eines Microcontrollers oder Microprozessors zu korrelieren. Nachfolgend lässt sich der Fehler in der Software des Microcontrollers oder Microprozessors dann gezielt beheben. Bevorzugt wird die erfindungsgemäße Vorrichtung während der Entwicklungsphase und/oder Testphase des Feldgeräts genutzt. Es versteht sich von selbst, dass die Vorrichtung auch während des Normalbetriebs des Feldgeräts zum Einsatz kommen kann, insbesondere wenn es sich um Feldgeräte handelt, bei denen während der Entwicklungsphase die erfindungsgemäße Vorrichtung nicht zum Einsatz kam. Beispiele für auftretende Fehler werden nachfolgend noch beispielhaft genannt. Bei dem Ereignis kann es sich z.B. um eine manuelle Eingabe, eine vorgegebene Anfrage oder eine vorgegebene Antwort handeln. Ebenso ist es möglich, dass es sich bei dem Ereignis um ein vorgegebenes periodisches oder aperiodisches Überprüfungssignal handelt.
-
Gemäß einer vorteilhaften Ausgestaltung der erfindungsgemäßen Vorrichtung ist eine Testeinheit vorgesehen, die auf der zumindest einen Datenleitung einen Fehler oder ein Ereignis auslöst und die die zeitlich mit dem Auftreten des Fehlers oder des Ereignisses korrelierenden Daten des Microcontrollers oder des Microprozessors als Reaktion des Microcontrollers oder des Microprozessors auf den Fehler oder auf das Ereignis aufzeichnet. Bei dieser Weiterbildung der Erfindung wird also gezielt ein Fehler provoziert, um zu überprüfen, wie der Microcontroller oder Microprozessor auf den Fehler reagiert.
-
Darüber hinaus wird vorgeschlagen, dass die Testeinheit zumindest in dem Fall eine Meldung generiert, wenn die Reaktion des Mikrocontrollers oder Microprozessors auf den Fehler oder das Ereignis nicht mit der vorhersagbaren Reaktion des Microcontrollers oder Microprozessors übereinstimmt.
-
Bei der Datenleitung kann es sich entweder um eine interne oder eine externe Datenleitung handeln. Hierbei verbindet eine interne Datenleitung über eine interne Schnittstelle zumindest zwei elektronische Komponenten eines Transmitters miteinander, während eine externe Datenleitung über eine externe Schnittstelle den Transmitter mit zumindest einem externen Modul verbindet.
-
Bei den elektronischen Komponenten des Transmitters handelt es sich insbesondere um eine Hauptelektronik, eine Sensor- oder Aktorelektronik oder um einen nicht-flüchtigen Konfigurationsspeicher, einen sog. NVRAM. Bei dem NVRAM handelt es sich bevorzugt um ein EEPROM. Bei der elektronischen Komponente kann es sich auch um ein I/O Modul handeln.
-
Bei den externen Modulen handelt es sich bevorzugt um eines der folgenden Module:
eine übergeordnete Steuereinheit oder ein Strommessgerät, insbesondere auf Basis von 4–20mA, das über eine Strom-Schnittstelle mit dem Transmitter verbunden ist;
eine Leitstelle oder ein Feldgerät, das über eine Feldbus-Schnittstelle oder eine Internet/Intranet-Schnittstelle mit dem Transmitter verbunden ist;
ein Bedientool, das über eine Service-Schnittstelle mit dem Transmitter verbunden ist;
ein Display oder eine Eingabe-/Ausgabeeinheit;
ein Sensor oder ein Aktor (abgesetzte Version).
-
In der Automatisierungstechnik erfolgt die Datenkommunikation oftmals über eine Feldbusschnittstelle, die eines der Kommunikationsprotokolle unterstützt, die in der Automatisierungstechnik standardisiert sind. Bei den Kommunikationsprotokollen handelt es sich beispielsweise um Profibus PA, Foundation Fieldbus oder HART.
-
Als interne Schnittstelle wird entweder eine serielle Schnittstelle verwendet, z.B. eine I2C-(Inter Integrated Circuit), eine SPI-(Serial Peripheral Interface), eine UART-(Universal Asynchronous Receiver Transmitter) Schnittstelle oder eine parallele Schnittstelle. Ebenso kann es sich bei der internen Schnittstelle um eine Schnittstelle handeln, über die eine Statusinformation ein- oder ausgegeben wird.
-
Gemäß einer vorteilhaften Ausgestaltung der erfindungsgemäßen Vorrichtung ist eine Messeinheit vorgesehen ist, die den Stromverbrauch von zumindest einer elektronischen Komponente des Transmitters oder von zumindest einem externen Modul überwacht. Diese Ausgestaltung ist wichtig, da insbesondere bei Zweidrahtgeräten nur eine begrenzte Leistung zur Verfügung steht.
-
Bei dem Fehler auf der externen Datenleitung oder der internen Datenleitung kann es sich insbesondere um einen der folgenden Fehler handeln:
eine zeitliche Verzögerung zwischen einer Anfrage und einer Antwort;
das Fehlen einer Antwort auf eine Anfrage; ein falscher Prüfwert (CRC: Cyclic Redundancy Code);
ein falscher Befehl;
eine falsche Statusinformation;
eine wiederholt auftauchende Anfrage oder eine ‘Besetzt‘-Antwort;
ein Alarmstrom – wobei der Alarmstrom bei einer 4–20mA Stromschleife kleiner als 3.6mA oder größer als 22mA ist;
ein Störsignal, das dem Stromwert aufgeprägt ist, wobei bevorzugt eine in der in der Automatisierungstechnik standardisierte 4–20mA Stromschleife verwendet wird (hierbei repräsentiert der Stromwert den Mess- oder den Stellwert);
eine falsche Adresse;
eine Stromaufnahme, die einen vorgegebenen Grenzwert übersteigt.
-
Die Erfindung wird anhand der nachfolgenden Figuren näher erläutert. Es zeigt:
-
1: ein Blockschaltbild eines Feldgeräts der Automatisierungstechnik und
-
2: ein Blockschaltbild eines Feldgeräts und eine bevorzugte Ausgestaltung der erfindungsgemäßen Vorrichtung.
-
1 zeigt ein Blockschaltbild eines Feldgeräts 1 der Automatisierungstechnik, wie es in Verbindung mit der erfindungsgemäßen Lösung bevorzugt verwendet wird. Das Feldgerät 1 besteht aus einem Sensorelement 2 zur Erfassung einer physikalischen oder chemischen Prozessgröße und einem Transmitter 3. Sensorelement 2 und Transmitter 3 sind über eine Sensorschnittstelle 17 und – im gezeigten Fall – über eine externe Datenleitung 8 miteinander verbunden. Die externe Datenleitung 8 zeigt an, dass das Sensorelement 2 von dem Transmitter 3 abgesetzt ist. Bei der integrierten Version ist das Sensorelement 2 über eine interne Datenleitung 7 mit dem Transmitter 3 in Kontakt.
-
Üblicherweise besitzt ein Transmitter 3 zumindest die in 1 dargestellten Komponenten: eine Hauptelektronik 4, eine Sensorelektronik 5, ein I/O Modul 6 zur Ausgabe eines Messwerts und einen nicht-flüchtigen Speicher 21, bei dem es sich bevorzugt um einen EEPROM handelt. Weiterhin weisen zumindest einige der Komponenten 3, 5, 6 21 eine gewisse Intelligenz auf: Jede Komponente besitzt zumindest einen Microcontroller 18 oder einen Microprozessor. Die Komponenten 3, 5, 6 21 sind untereinander über interne Datenleitungen 7 verbunden.
-
Die internen Schnittstellen, über die die einzelnen Komponenten 4, 5, 6, 21 des Transmitters 3 miteinander verbunden sind, sind in den Figuren 1 und 2 nicht gesondert dargestellt. Bei den internen Schnittstellen handelt es sich entweder um serielle Schnittstellen, wie I2C-, SPI-, UART-Schnittstellen oder um parallele Schnittstellen. Auch kann es sich bei der internen Schnittstelle um eine Schnittstelle handeln, über die eine Statusinformation ein- oder ausgegeben wird.
-
Darüber hinaus ist das Feldgerät mit verschiedenen externen Modulen verbindbar. Im gezeigten Fall sind als mögliche externe Module dargestellt:
eine übergeordnete Steuereinheit oder ein Strommessgerät 9, insbesondere auf Basis von 4–20mA, das über eine Strom-Schnittstelle 13 mit dem Transmitter 3 des Feldgeräts 1 verbunden ist;
eine Leitstelle 10 oder ein zweites Feldgerät 10, das über eine Feldbus-Schnittstelle 14 mit dem Transmitter 3 verbunden ist (es versteht sich von selbst, dass der Transmitter 3 auch über Internet oder Intranet mit einer entfernten übergeordneten Steuereinheit kommunizieren kann);
ein Bedientool 11, das über eine Service-Schnittstelle 15 mit dem Transmitter 3 verbunden ist;
ein Display 12 oder eine Eingabe-/Ausgabeeinheit;
ein Sensorelement 2 oder im Falle eines Stellglieds ein Aktorelement.
-
2 zeigt das aus 1 bereits bekannte Blockschaltbild eines Feldgeräts 1 in Verbindung mit einer bevorzugten Ausgestaltung der erfindungsgemäßen Vorrichtung. Über den Busmonitor 19a, 19b wird die Datenkommunikation auf den internen Datenleitungen 7 und den externen Datenleitungen 8 überwacht. Bei der gezeigten Ausführungsform überwacht der Busmonitor 19a die externen Schnittstellen bzw. externen Datenleitungen 8 und der Busmonitor 19b die internen Schnittstellen bzw. Datenleitungen 7. Der Busmonitor 19a, 19b ist so ausgestaltet, dass er einen Fehler erkennt, der bei der Kommunikation zwischen zumindest zwei elektronischen Komponenten 2, 4, 5, 6, 9, 10, 11, 12 auf zumindest einer der Datenleitungen 7, 8 auftritt.
-
Weiterhin ist ein Datenlogger 20 mit einem Timer 24 vorgesehen, der im Falle des Auftretens eines Fehlers – oder auch eines vorgegebenen Ereignisses – auf zumindest einer der Datenleitungen 7, 8 die entsprechenden Daten der Mikrocontroller 18 oder Mikroprozessoren, die in einem definierten Zeitbereich um das Auftreten des Fehlers oder des vorgegebenen Ereignisses liegen, abfragt und aufzeichnet. In einer Speichereinheit 26 werden die Information über den aufgetretenen Fehler und die zeitlich korrelierenden Daten der Mikrocontroller 18 oder Mikroprozessoren abgespeichert. Da die abgespeicherten Daten sowohl die Information über den aufgetretenen Kommunikationsfehler auf zumindest einer der Datenleitungen 7, 8 und die entsprechenden zeitlich korrelierenden Daten des zumindest einen Mikrocontrollers 18 oder Mikroprozessors beinhalten, ist es nun möglich, die Ursache für den auf einer Datenleitung 7, 8 aufgetretenen Fehler zu ermitteln. Insbesondere lässt sich erkennen, welcher Microcontroller 18 bzw. Microprozessor an welcher Stelle des Software-Programms einen Softwarefehler hat. Ist die Ursache bekannt, lässt sich der entsprechende Softwarefehler nachfolgend gezielt beheben.
-
Der Busmonitor 19 ist so ausgelegt, dass er zumindest die folgenden Fehler erkennt, die auf zumindest einer der internen oder externen Datenleitung 7, 8 auftreten:
- – Es tritt eine zeitliche Verzögerung zwischen einer Anfrage und einer Antwort auf.
- – Die Antwort auf eine Anfrage fehlt völlig.
- – Der Prüfwert (CRC: Cyclic Redundancy Code) ist fehlerhaft.
- – Es wird ein falscher Befehl oder eine falsche Statusinformation übermittelt.
- – Anfragen tauchen wiederholt auf, oder der Client antwortet, dass er besetzt ist (busy frame).
- – Es wird ein Alarmstrom gesetzt. Bei einer 4–20 mA Stromschleife wird z.B. ein Alarmstrom registriert, wenn der Stromwert kleiner als 3.6 oder größer als 22mA ist.
- – Es zeigt sich ein Störsignal auf dem den Mess- oder Stellwert repräsentierenden Stromwert.
- – Die Adresse ist fehlerbehaftet.
- – Die Stromaufnahme einer Komponente übersteigt einen vorgegebenen Grenzwert.
-
Weiterhin ist eine Testeinheit 22 vorgesehen. Diese ist so ausgestaltet, dass sie, z.B. manuell getriggert, auf zumindest einer der internen oder externen Datenleitungen 7, 8 einen Fehler oder ein Ereignis auslöst. Der Datenlogger 20 zeichnet die zeitlich mit dem Auftreten des Fehlers korrelierenden Daten von z.B. jedem einzelnen Microcontroller 18 oder Microprozessor als Reaktion auf den Fehler oder auf das Ereignis auf. Anhand der Reaktion des Microcontrollers 18 oder Microprozessors auf den provozierten Fehler, lässt sich ermitteln, ob der Microcontroller 18 bzw. der Microprozessor, so – wie spezifiziert – arbeitet.
-
Stimmt die Reaktion des Mikrocontrollers 18 oder Microprozessors auf den Fehler nicht mit der spezifizierten und vorhersagbaren Reaktion überein, so generiert die Testeinheit 22 eine Meldung. Darüber hinaus kann die Testeinheit 22 auch so ausgestaltet sein, dass sie von jedem Test ein Testprotokoll erstellt.
-
Zuvor wurde bereits erwähnt, dass einer der auf den Datenleitungen 7, 8 auftretenden Fehlern durch einen zu hohen Stromverbrauch einer der Komponenten 2, 4, 5, 6, 9, 10, 11, 12 ausgelöst wird. Zur Bestimmung des Stromverbrauchs der einzelnen Komponenten ist die Messeinheit 23 vorgesehen.
-
Bezugszeichenliste
-
- 1
- Feldgerät
- 2
- Sensorelement
- 3
- Transmitter
- 4
- Hauptelektronik
- 5
- Sensorelektronik
- 6
- I/O Modul
- 7
- Interne Datenleitung
- 8
- Externe Datenleitung
- 9
- Strommessgerät / übergeordnete Steuereinheit
- 10
- Feldgerät / Übergeordnete Steuereinheit
- 11
- Bedientool
- 12
- Display
- 13
- Stromschnittstelle
- 14
- Feldbusschnittstelle
- 15
- Service-Schnittstelle
- 16
- externe Schnittstelle
- 17
- Sensor-Schnittstelle
- 18
- Microcontroller / Microprozessor
- 19
- Busmonitor
- 20
- Datalogger
- 21
- Speichereinheit
- 22
- Testeinheit
- 23
- Messeinheit
- 24
- Timer
- 25
- Ausgabemodul
- 26
- Speicher- /Auswertemodul