ZIERINGER THOMAS (DE)
KARWECK LARS (DE)
SCHMITT ERIC (FR)
WO2005064424A2 | 2005-07-14 | |||
WO2016138956A1 | 2016-09-09 |
DE102014101945A1 | 2015-06-25 | |||
DE102007054672A1 | 2009-05-20 |
Patentansprüche 1 . Elektronische Schaltung für ein Feldgerät der Automatisierungstechnik, aufweisend: - einen ersten digitalen Prozessor (1 ), insbesondere einen Signalprozessor, mit einem ersten Satz von Maschinenbefehlen der zum Ausführen eines auf dem Prozessor (1 ) ablaufenden Algorithmus (Comp) zum Berechnen eines Messwertes anhand von Rohmesswerten eingerichtet ist, wobei der erste Prozessor zum Ausführen des Algorithmus zumindest einen Teil des ersten Satzes von Maschinenbefehlen verwendet, wobei der erste Prozessor (1 ) ferner dazu eingerichtet ist, einen Testalgorithmus (Opcode) auszuführen, um anhand von Eingangsdaten (E) Ausgangsdaten (A) zu berechnen, wobei der Testalgorithmus (Opcode) in wenigstens einen Anfangsabschnitt (OPCT1 ) und einen Endabschnitt (OPCT2) unterteilt ist und der erste Prozessor (1 ) dazu eingerichtet ist, zumindest einen Teil des Algorithmus (Comp), vorzugsweise den gesamten Algorithmus (Comp), zwischen dem Anfangsabschnitt (OPCT1 ) und dem Endabschnitt (OPCT2) des Testalgorithmus (Opcode) auszuführen, wobei der Testalgorithmus (Opcode) zum Berechnen der Ausgangsdaten (A) zumindest einen Teil, vorzugsweise alle, Maschinenbefehle des Teils des ersten Satzes von Maschinenbefehlen, die zum Ausführen des Algorithmus (Comp) verwendet werden, verwendet, - einen zweiten digitalen Prozessor (2), insbesondere einen Mikroprozessor, mit einem zweiten Satz von Maschinenbefehlen zum Ausführen zumindest eines Verifikationsalgorithmus (OPCT), wobei dem zweiten Prozessor (2) die Eingangsdaten (E) und die Ausgangsdaten (A) des ersten Prozessors (1 ) zugeführt sind und der zweite Prozessor (2) dazu eingerichtet ist, den Verifikationsalgorithmus (OPCT) auszuführen, um anhand von den zugeführten Eingangsdaten (E) Verifikationsdaten (V) zu berechnen, wobei der Verifikationsalgorithmus (OPCT) zum Berechnen der Verifikationsdaten (V) auf die dem zumindest einen Teil, vorzugsweise allen, Maschinenbefehlen des Teils des ersten Satzes von Maschinenbefehlen, die zum Ausführen des Algorithmus (Comp) verwendet werden, entsprechenden Maschinenbefehle des zweiten Satzes verwendet, wobei der Verifikationsalgorithmus (OPCT) in dem zweiten Prozessor (2) fest codiert ist, so dass der Verifikationsalgorithmus (OPCT) nicht beim Starten des Feldgerätes in den zweiten Prozessor (2) geschrieben werden muss, und wobei die elektronische Schaltung, insbesondere der zweite Prozessor (2), dazu eingerichtet ist, anhand der durch den ersten Prozessor (1 ) berechneten Ausgangsdaten (A) und der durch den zweiten Prozessor (2) berechneten Verifikationsdaten (V) eine Überprüfung des ersten Prozessors (1 ) durchzuführen. 2. Elektronische Schaltung nach Anspruch 1 , wobei der erste und/oder zweite Prozessor dazu eingerichtet ist, den Testalgorithmus (Opcode) und/oder den Verifikationsalgorithmus (OPCT) zyklisch auszuführen, so dass eine zyklische Überprüfung des ersten Prozessors (1 ) erfolgt. 3. Elektronische Schaltung nach einem der Ansprüche 1 oder 2, wobei der Testalgorithmus (Opcode) und/oder der Verifikationsalgorithmus (OPCT) weniger auszuführende Schritte aufweist als der Algorithmus (Comp) zum Berechnen des Messwertes. 4. Elektronische Schaltung nach einem oder mehreren der vorhergehenden Ansprüche, wobei die elektronische Schaltung dazu eingerichtet ist, sich verändernde, insbesondere sich zeitlich verändernde Eingangsdaten (E) für den Testalgorithmus (Opcode) zu erzeugen und dem ersten Prozessor (1 ) zur Ausführung des Testalgorithmus (Opcode) und dem zweiten Prozessor (2) zu Ausführung des Verifikationsalgorithmus (OPCT) zuzuführen. 5. Elektronische Schaltung nach Anspruch 4, wobei die elektronische Schaltung weiterhin dazu eingerichtet ist, dass der erste Prozessor (1 ) und der zweite Prozessor (2) die Rohmesswerte oder davon abgeleitete Werte als Eingangsdaten (E) für den Testalgorithmus (Opcode) bzw. den Verifikationsalgorithmus (OPCT) verwenden. 6. Elektronische Schaltung nach Anspruch 4, wobei die elektronische Schaltung weiterhin dazu eingerichtet ist, dass der erste Prozessor (1 ) und der zweite Prozessor (2) ein Zufallssignal als Eingangsdaten (E) für den Testalgorithmus (Opcode) bzw. den Verifikationsalgorithmus (OPCT) verwenden. 7. Elektronische Schaltung nach Anspruch 4, wobei die elektronische Schaltung weiterhin dazu eingerichtet ist, dass der erste Prozessor (1 ) und der zweite Prozessor (2) ein Zählersignal als Eingangsdaten (E) für den Testalgorithmus (Opcode) bzw. den Verifikationsalgorithmus (OPCT) verwenden. 8. Verfahren zum Überprüfen, insbesondere zyklischen Überprüfen, eines ersten digitalen Prozessors (1 ), insbesondere eines digitalen Signalprozessors, mit einem ersten Satz von Maschinenbefehlen, durch einen zweiten digitalen Prozessor (2) mit einem zweiten Satz von Maschinenbefehlen, wobei das Verfahren die folgenden Schritte umfasst: - Ausführen, insbesondere zyklisches Ausführen, eines Algorithmus (Comp) zum Berechnen eines Messwertes auf dem ersten Prozessor (1 ), wobei zum Ausführen zumindest auf eine Teil des ersten Satzes von Maschinenbefehlen des ersten Prozessors (1 ) zugegriffen wird; - Ausführen, insbesondere zyklisches Ausführen, eines in wenigstens einen Anfangsabschnitt (OPCT1 ) und einen Endabschnitt (OPCT2) unterteilten Testalgorithmus (Opcode) auf dem ersten Prozessor (1 ), wobei zumindest ein Teil des Algorithmus (Comp), vorzugsweise der gesamte Algorithmus (Comp), zwischen dem Anfangsabschnitt (OPCT1 ) und dem Endabschnitt (OPCT2) des Testalgorithmus (Opcode) durch den erste Prozessor (1 ) ausgeführt wird, wobei durch den Testalgorithmus (Opcode) anhand von Eingangsdaten (E) Ausgangsdaten (A) berechnet werden, wobei zum Berechnen der Ausgangsdaten (A) zumindest einen Teil, vorzugsweise alle, Maschinenbefehle des Teils des ersten Satzes von Maschinenbefehlen, die zum Ausführen des Algorithmus (Comp) verwendet werden, verwendet wird bzw. werden; - Ausführen, insbesondere zyklisches Ausführen, eines Verifikationsalgorithmus (OPCT) auf dem zweiten Prozessor (2), insbesondere einem Mikroprozessor, wobei durch den Verifikationsalgorithmus (OPCT) anhand der Eingangsdaten (E) Verifikationsdaten (V) berechnet werden, wobei zum Berechnen der Verifikationsdaten (V) die dem zumindest einen Teil, vorzugsweise allen, Maschinenbefehlen des Teils des ersten Satzes von Maschinenbefehlen, die zum Ausführen des Algorithmus (Comp) verwendet werden, entsprechenden Maschinenbefehle des zweiten Satzes verwendet werden, wobei der Verifikationsalgorithmus (OPCT) in dem zweiten Prozessor (2) fest codiert ist, so dass der Verifikationsalgorithmus (OPCT) nicht beim Starten des Feldgerätes in den zweiten Prozessor (2) geschrieben werden muss; - Überprüfung, insbesondere zyklische Überprüfung, des ersten Prozessors (1 ) anhand der durch den ersten Prozessor (1 ) berechneten Ausgangsdaten (A) und der durch den zweiten Prozessor (2) berechneten Verifikationsdaten (V). 9. Verfahren nach einem der Ansprüche 8, wobei als Eingangsdaten (E) sich zeitlich verändernde Daten, insbesondere Daten eines Zählers oder eines Zufallsgenerators oder Daten des Rohmesswertes oder davon abgeleitete Daten, verwendet werden. 10. Verfahren nach einem der Ansprüche 8 oder 9, wobei der Testalgorithmus (Opcode) in mehrere Abschnitte, zumindest jedoch in einen Anfangsabschnitt (OPCT1 ) und einen Endabschnitt (OPCT2) geteilt wird und beim Ausführen der Algorithmus (Comp) zumindest teilweise, vorzugsweise vollständig, zwischen dem Anfangsabschnitt (OPCT1 ) und dem Endabschnitt (OPCT2) ausgeführt wird. 1 1 .Verfahren nach einem der Ansprüche 8 bis 10, wobei beim Ausführen des Testalgorithmus (Opcode) und/oder Verifikationsalgorithmus (OPCT) weniger Schritte von dem ersten und/oder zweiten Prozessor ausgeführt werden, als dies bei der Ausführung des Algorithmus (Comp) zur Berechnung des Messwertes nötig wäre. |
Die Erfindung bezieht sich auf eine elektronische Schaltung für ein Feldgerät der Automatisierungstechnik und Verfahren zum Überprüfen eines ersten digitalen Prozessors.
In der Prozessautomatisierungstechnik ebenso wie in der Fertigungsautomati- sierungstechnik werden vielfach Feldgeräte eingesetzt, die zur Erfassung und/oder Beeinflussung von Prozessgrößen dienen. Zur Erfassung von Prozessgrößen dienen Messgeräte bzw. Sensoren, wie beispielsweise Füllstandsmessgeräte, Durchflussmessgeräte, Druck- und Temperaturmessgeräte, pH-Redoxpotentialmessgeräte, Leitfähigkeitsmessgeräte, etc., welche die entsprechenden Prozessvariablen Füllstand, Durchfluss, Druck, Temperatur, pH-Wert bzw. Leitfähigkeit erfassen. Zur Beeinflussung von Prozessgrößen 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.
Eine Vielzahl solcher Feldgeräte wird von der Endress + Hauser-Gruppe hergestellt und vertrieben.
Derartige Feldgeräte weisen für gewöhnlich eine elektronische
Sensorschaltung auf, welche an sich bekannt sind. Die elektronische
Sensorschaltung wird bei den Feldgeräten eingesetzt, um Rohmesswerte weiterverarbeiten zu können. Beispielsweise wird über ein analoges elektrisches Wandlerelement eine Prozessgröße in Form von Rohmesswerten erfasst und die analogen Rohmesswerte über einen Analog-Digital-Konverter digitalisiert, um anschließend die digitalisierten Rohmesswerte über einen digitalen Prozessor mit Hilfe eines Algorithmus weiterverarbeiten zu können. Hierbei kann über den digitalen Prozessor eine Reihe von Operation mit den Rohmesswerten durchgeführt werden. Beispielsweise kann eine
Temperaturkompensation der Rohmesswerte durchgeführt werden, umso ein temperaturkompensiertes digitales Ausgangssignal in Form von Messwerten zu erhalten. Um derartige Feldgeräte in sicherheitskritischen Anwendungen einsetzen zu können, werden erhöhte Anforderungen an die Funktionsfähigkeit des
Feldgerätes gestellt, so dass ein Fehler des Feldgerätes nicht unbemerkt bleibt. Hierzu gehört beispielsweise die Zertifizierung von Feldgeräten nach dem so genannten SIL-Standard der internationalen Norm IEC 61508 zur funktionalen Sicherheit.
Für die Erreichung von SIL 2 werden in der Regel für eine möglichst hohe Fehlererkennung und Anteil so genannter sicherer Ausfälle (SFF nach dem englischen Safe Failure Fraction) Diagnosemaßnahmen in Form von redundanter Hardware und/oder Software eingesetzt. So befindet sich beispielsweise ein weiterer digitaler Prozessor neben dem digitalen Prozessor der Sensorelektronik zur Weiterverarbeitung der digitalisierten Rohmesswerte im Feldgerät. Auf diesem weiteren Prozessor läuft ebenfalls der Algorithmus ab, anhand dessen die Rohmesswerte weiterverarbeitet werden. Dem weiteren Prozessor sind die gleichen Eingangsdaten wie dem Prozessor der Sensorelektronik zugeführt, so dass die Ausgangsdaten des weiteren
Prozessors den Ausgangsdaten des Prozessors der Sensorelektronik entsprechen sollten. Auf diese Weise lässt sich ein einfacher Vergleich der beiden Ausgangsdaten vornehmen und somit der Prozessor der
Sensorelektronik überwachen.
Nachteilig hieran ist, dass der Algorithmus bei jedem Start des Feldgerätes in den weiteren Prozessor geschrieben werden muss. Dies muss insbesondere dann erfolgen, wenn sich der Algorithmus auf dem Prozessor der
Sensorelektronik ändert.
Es ist daher eine Aufgabe der Erfindung, eine Möglichkeit zum Überwachen eines digitalen Prozessors vorzuschlagen, die weniger aufwendig ist als die aus dem Stand der Technik bekannten Möglichkeiten.
Die Aufgabe wird erfindungsgemäß durch eine elektronische Schaltung gemäß dem unabhängigen Patentanspruch 1 und einem Verfahren zum Überprüfen eines ersten digitalen Prozessors gemäß dem unabhängigen Patentanspruch 8 gelöst. Hinsichtlich der elektronischen Schaltung wird die Aufgabe durch eine elektronische Schaltung für ein Feldgerät der Automatisierungstechnik gelöst, welche folgendes aufweist:
- einen ersten digitalen Prozessor, insbesondere einen Signalprozessor, mit einem ersten Satz von Maschinenbefehlen der zum Ausführen eines auf dem Prozessor ablaufenden Algorithmus zum Berechnen eines Messwertes anhand von Rohmesswerten eingerichtet ist, wobei der erste Prozessor zum Ausführen des Algorithmus zumindest einen Teil des ersten Satzes von Maschinenbefehlen verwendet, wobei der erste Prozessor ferner dazu eingerichtet ist, einen Testalgorithmus auszuführen, um anhand von Eingangsdaten Ausgangsdaten zu berechnen, wobei der Testalgorithmus in wenigstens einen
Anfangsabschnitt und einen Endabschnitt unterteilt ist und der erste Prozessor dazu eingerichtet ist, zumindest einen Teil des Algorithmus, vorzugsweise den gesamten Algorithmus, zwischen dem
Anfangsabschnitt und dem Endabschnitt des Testalgorithmus
auszuführen, wobei der Testalgorithmus zum Berechnen der
Ausgangsdaten zumindest einen Teil, vorzugsweise alle,
Maschinenbefehle des Teils des ersten Satzes von Maschinenbefehlen, die zum Ausführen des Algorithmus verwendet werden, verwendet, einen zweiten digitalen Prozessor, insbesondere einen Mikroprozessor, mit einem zweiten Satz von Maschinenbefehlen zum Ausführen zumindest eines Verifikationsalgorithmus, wobei dem zweiten
Prozessor die Eingangsdaten und die Ausgangsdaten des ersten Prozessors zugeführt sind und der zweite Prozessor dazu eingerichtet ist, den Verifikationsalgorithmus auszuführen, um anhand von den zugeführten Eingangsdaten Verifikationsdaten zu berechnen, wobei der Verifikationsalgorithmus zum Berechnen der Verifikationsdaten auf die dem zumindest einen Teil, vorzugsweise allen, Maschinenbefehlen des Teils des ersten Satzes von Maschinenbefehlen, die zum Ausführen des Algorithmus verwendet werden, entsprechenden Maschinenbefehle des zweiten Satzes verwendet, wobei der Verifikationsalgorithmus in dem zweiten Prozessor fest codiert ist, so dass der Verifikationsalgorithmus nicht beim Starten des Feldgerätes in den zweiten Prozessor geschrieben werden muss, und wobei die elektronische Schaltung, insbesondere der zweite Prozessor, dazu eingerichtet ist, anhand der durch den ersten Prozessor berechneten Ausgangsdaten und der durch den zweiten Prozessor berechneten
Verifikationsdaten eine Überprüfung des ersten Prozessors durchzuführen.
Erfindungsgemäß wird nicht der Algorithmus, der zum Berechnen eines Messwertes anhand von Rohmesswerten eingerichtet ist, zur Überprüfung auf dem zweiten Prozessor verwendet, sondern der auf dem ersten Prozessor ablaufende Testalgorithmus und der entsprechende auf dem zweiten
Prozessor ablaufende Verifikationsalgorithmus. Anhand des Testalgorithmus werden Ausgangsdaten berechnet, die mit Verifikationsdaten verglichen werden. Über den Verifikationsalgorithmus werden alle Maschinenbefehle des Teils des ersten Satzes von Maschinenbefehlen, die zum Ausführen des Algorithmus auf dem ersten Prozessor verwendet werden, überprüft. Der Verifikationsalgorithmus dient sozusagen als ein„Einheitsalgorithmus", der seitens des Herstellers für alle herzustellenden elektronischen Schaltungen, unabhängig davon, ob unterschiedliche Algorithmen auf den jeweils
hergestellten Schaltungen verwendet werden sollen, verwendet werden kann. Dies bietet den Vorteil, dass der Verifikationsalgorithmus nicht von dem ersten zu dem zweiten Prozessor übertragen werden muss, wie dies gemäß dem Stand der Technik gemacht wird. Vielmehr ist der Verifikationsalgorithmus fest auf dem zweiten Prozessor codiert, d.h. in einen dem zweiten Prozessor zugeordnete nicht-flüchtigen Speicherbereich abgelegt. Dies kann bspw. bei der Fertigung der elektronischen Schaltung erfolgen, sodass der Hersteller bei der Herstellung der elektronischen Schaltungen immer den
Verifikationsalgorithmus als„Einheitsalgorithmus" auf den zweiten Prozessor aufspielt bzw. in dem zugeordneten Speicher ablegt, unabhängig davon, ob unterschiedliche Algorithmen auf den jeweils hergestellten Schaltungen verwendet werden.
Durch Aufteilen des Testalgorithmus in wenigstens zwei Abschnitte und Ausführen des Algorithmus zwischen den Abschnitten kann beim Ausführen auf dem ersten Prozessor zusätzlich sichergestellt werden, dass der
Algorithmus vollständig ausgeführt wird und ein sonst benötigter
Sequenzcounter kann eingespart werden.
Eine vorteilhafte Ausgestaltung der erfindungsgemäßen elektronischen Schaltung sieht vor, dass der erste und/oder zweite Prozessor dazu
eingerichtet ist, den Testalgorithmus und/oder den Verifikationsalgorithmus zyklisch auszuführen, so dass eine zyklische Überprüfung des ersten
Prozessors erfolgt.
Eine weitere vorteilhafte Ausgestaltung der erfindungsgemäßen
elektronischen Schaltung sieht vor, dass der Testalgorithmus und/oder der Verifikationsalgorithmus weniger auszuführende Schritte aufweist als der Algorithmus zum Berechnen des Messwertes.
Eine weitere vorteilhafte Ausgestaltung der erfindungsgemäßen
elektronischen Schaltung sieht vor, dass die elektronische Schaltung dazu eingerichtet ist, sich verändernde, insbesondere sich zeitlich verändernde Eingangsdaten für den Testalgorithmus zu erzeugen und dem ersten
Prozessor zur Ausführung des Testalgorithmus und dem zweiten Prozessor zu Ausführung des Verifikationsalgorithmus zuzuführen. Insbesondere kann die Ausgestaltung vorsehen, dass die elektronische Schaltung weiterhin dazu eingerichtet ist, dass der erste Prozessor und der zweite Prozessor die Rohmesswerte oder davon abgeleitete Werte als Eingangsdaten für den Testalgorithmus bzw. den Verifikationsalgorithmus verwenden oder, dass die elektronische Schaltung weiterhin dazu eingerichtet ist, dass der erste
Prozessor und der zweite Prozessor ein Zufallssignal als Eingangsdaten für den Testalgorithmus bzw. den Verifikationsalgorithmus verwenden oder, dass die elektronische Schaltung weiterhin dazu eingerichtet ist, dass der erste Prozessor und der zweite Prozessor ein Zählersignal als Eingangsdaten für den Testalgorithmus bzw. den Verifikationsalgorithmus verwenden.
Hinsichtlich dem Verfahren wird die Aufgabe durch ein Verfahren zum
Überprüfen, insbesondere zyklischen Überprüfen, eines ersten digitalen Prozessors, insbesondere eines digitalen Signalprozessors, mit einem ersten Satz von Maschinenbefehlen, durch einen zweiten digitalen Prozessor mit einem zweiten Satz von Maschinenbefehlen gelöst, wobei das Verfahren die folgenden Schritte umfasst:
- Ausführen, insbesondere zyklisches Ausführen, eines Algorithmus zum Berechnen eines Messwertes auf dem ersten Prozessor, wobei zum Ausführen zumindest auf eine Teil des ersten Satzes von
Maschinenbefehlen des ersten Prozessors zugegriffen wird;
- Ausführen, insbesondere zyklisches Ausführen, eines in wenigstens einen Anfangsabschnitt und einen Endabschnitt unterteilten
Testalgorithmus auf dem ersten Prozessor, wobei zumindest ein Teil des Algorithmus, vorzugsweise der gesamte Algorithmus, zwischen dem Anfangsabschnitt und dem Endabschnitt des Testalgorithmus durch den erste Prozessor ausgeführt wird, wobei durch den
Testalgorithmus anhand von Eingangsdaten Ausgangsdaten berechnet werden, wobei zum Berechnen der Ausgangsdaten zumindest einen Teil, vorzugsweise alle, Maschinenbefehle des Teils des ersten Satzes von Maschinenbefehlen, die zum Ausführen des Algorithmus verwendet werden, verwendet wird bzw. werden;
- Ausführen, insbesondere zyklisches Ausführen, eines
Verifikationsalgorithmus auf dem zweiten Prozessor, insbesondere einem Mikroprozessor, wobei durch den Verifikationsalgorithmus anhand der Eingangsdaten Verifikationsdaten berechnet werden, wobei zum Berechnen der Verifikationsdaten die dem zumindest einen Teil, vorzugsweise allen, Maschinenbefehlen des Teils des ersten Satzes von Maschinenbefehlen, die zum Ausführen des Algorithmus verwendet werden, entsprechenden Maschinenbefehle des zweiten Satzes verwendet werden, wobei der Verifikationsalgorithmus in dem zweiten Prozessor fest codiert ist, so dass der Verifikationsalgorithmus nicht beim Starten des Feldgerätes in den zweiten Prozessor geschrieben werden muss; Überprüfung, insbesondere zyklische Überprüfung, des ersten Prozessors anhand der durch den ersten Prozessor berechneten Ausgangsdaten und der durch den zweiten Prozessor berechneten Verifikationsdaten.
Eine vorteilhafte Ausführungsform des erfindungsgemäßen Verfahrens sieht vor, dass als Eingangsdaten sich zeitlich verändernde Daten, insbesondere Daten eines Zählers oder eines Zufallsgenerators oder Daten des
Rohm esswertes oder davon abgeleitete Daten, verwendet werden.
Eine weitere vorteilhafte Ausführungsform des erfindungsgemäßen Verfahrens sieht vor, dass der Testalgorithmus in mehrere Abschnitte, zumindest jedoch in einen Anfangsabschnitt und einen Endabschnitt geteilt wird und beim Ausführen der Algorithmus zumindest teilweise, vorzugsweise vollständig, zwischen dem Anfangsabschnitt und dem Endabschnitt ausgeführt wird.
Eine weitere vorteilhafte Ausführungsform des erfindungsgemäßen Verfahrens sieht vor, dass beim Ausführen des Testalgorithmus und/oder
Verifikationsalgorithmus weniger Schritte von dem ersten und/oder zweiten Prozessor ausgeführt werden, als dies bei der Ausführung des Algorithmus zur Berechnung des Messwertes nötig wäre.
Die Erfindung wird anhand der nachfolgenden Zeichnungen näher erläutert. Es zeigt:
Fig. 1 : ein schematisches Blockdiagramm eines Feldgeräts mit einer aus dem Stand der Technik bekannten elektronischen Schaltung, und
Fig. 2: ein schematisches Blockdiagramm eines Ausführungsbeispiels eines Feldgeräts, welches eine erfindungsgemäß eingerichtete elektronische
Schaltung umfasst.
Das in Fig. 1 dargestellte Feldgerät 100 umfasst eine elektronische Schaltung, die sich aus einem Sensormodul 10 und einem Hauptelektronik-Modul 20 zusammensetzt, und einer zueinander komplementär ausgebildete digitale Kommunikationsschnittstelle 16, 24. Das Sensormodul 10 umfasst ein Wandlerelement 1 1 , beispielsweise ein kapazitiv oder resistiv arbeitendes Druckwandlerelement, und eine
Sensorelektronik 12, wobei Rohmesswerte in Form eines Primärsignals von dem Wandlerelement an einen analogen Sensoreingang 14 der
Sensorelektronik 12 geführt sind. Diese Rohmesswerte werden von der
Sensorelektronik 12 digitalisiert und anschließend durch einen ersten digitalen Prozessor 1 , beispielsweise einen digitalen Signalprozessor, mittels eines auf diesem Prozessor 1 ablaufenden Algorithmus Comp in entsprechende
Messwerte weiterverarbeitet bzw. aufbereitet. Typischerweise erfolgt mittels des auf dem digitalen Signalprozessor 1 ablaufenden Algorithmus Comp eine Temperaturkompensation des Rohmesswertes. Der aufbereitete Messwert wird über eine erste digitale Kommunikationsschnittstelle 16 dem
Hauptelektronik-Modul zur Verfügung gestellt. Das Hauptelektronik-Modul 20 umfasst in dem dargestellten
Ausführungsbeispiel einen Logikeinheit, einen Stromregler 32, ein HART- Modem 34 und eine Kommunikationsschnittstelle, bspw. eine Stromsenke 36. Die Logikeinheit 22 umfasst einen zweiten digitalen Prozessor, beispielsweise einen Mikroprozessor, eine zweite digitale Kommunikationsschnittstelle 24, welche mit der ersten digitalen Kommunikationsschnittstelle 16 kommuniziert. Über diese digitale Kommunikationsschnittstelle wird beispielsweise im normalen Messbetrieb der digitale Messwert übertragen, und die Logikeinheit 22 veranlasst den Stromregler 32 über eine dritte digitale
Kommunikationsschnittstelle 26, die Stromsenke 36 so zu regeln, dass sie ein analoges Stromsignal stellt, welches den digitalen Messwert oder eine davon abgeleitete Messgröße repräsentiert.
Weiterhin umfasst die Logikeinheit 22 eine vierte digitale
Kommunikationsschnittstelle 30, über welche das HART-Modem 34
angesteuert wird, um dem analogen Stromsignal digitale Informationen aufzumodulieren, beispielsweise Statusinformationen.
Die aus dem Stand der Technik bekannten elektronischen Schaltungen sind derartig eingerichtet, dass auf dem ersten Prozessor 1 der Algorithmus Comp unter zumindest teilweiser Verwendung der für den ersten Prozessor 1 zur Verfügung stehenden Maschinenbefehle ausgeführt wird. Um den eingangs erwähnten SIL-Maßnahnnen gerecht zu werden, ist auf dem zweiten Prozessor 2 ebenfalls der Algorithmus Comp aufgespielt. Dieser berechnet unter
Zuhilfenahme der Maschinenbefehle des zweiten Prozessors 2 die
ausgangsseitigen Verifikationsdaten V. Die durch den zweiten Prozessor 2 erhaltenen Verifikationsdaten V werden anschließend mit den durch den ersten Prozessor 1 erhaltenen Ausgangsdaten A verglichen, um eine
Überprüfung des ersten Prozessors 1 zu ermöglichen. Fig. 2 zeigt ein schematisches Blockdiagramm eines Ausführungsbeispiels eines Feldgeräts, welches eine erfindungsgemäß eingerichtete elektronische Schaltung umfasst. Das in Fig. 1 dargestellte Feldgerät 100 und insbesondere auch die elektronische Schaltung entsprechen hinsichtlich ihrer physikalischen Ausgestaltung im Wesentlichen dem Ausführungsbeispiel aus Fig. 1 .
Unterschiedlich ist, dass der erste Prozessor 1 derartig eingerichtet ist, dass auf diesem sowohl der Algorithmus Comp als auch ein Testalgorithmus Opcode unter Zuhilfenahme zumindest eines Teils der Maschinenbefehle des ersten Prozessors 1 abläuft. Der Testalgorithmus Opcode dient dazu, anhand von Eingangsdaten E Ausgangsdaten A zu berechnen. Er ist derartig ausgebildet, dass durch ihn alle Maschinenbefehle bzw. alle Opcodes, die zum Ausführen des Algorithmus Comp benötigt werden, zumindest einmal verwendet werden. Ferner ist der Testalgorithmus Opcode in wenigstens einen Anfangsabschnitt OPCT1 und einen Endabschnitt OPCT2 unterteilt und der erste Prozessor 1 derartig eingerichtet, dass zumindest ein Teil des
Algorithmus Comp, vorzugsweise der gesamte Algorithmus Comp zwischen dem Anfangsabschnitt OPCT1 und dem Endabschnitt OPCT2 ausgeführt wird. Denkbar ist auch, dass der Testalgorithmus Opcode und der Algorithmus Comp jeweils in eine Vielzahl von Abschnitten C1 ...Cn bzw. S1 ...Sn unterteilt sind und der erste Prozessor 1 alternierend einen Teil des Testalgorithmus und anschließend einen Teil des eigentlichen Algorithmus ausführt, bis der gesamte Algorithmus bzw. der gesamte Testalgorithmus durchlaufen ist.
Als Eingangsdaten E für den Testalgorithmus Opcode können insbesondere sich zeitlich verändernde Daten verwendet werden. Beispielsweise können die vom Wandlerelement 1 1 stammenden Rohmesswerte oder davon abgeleitete Werte verwenden werden. Ebenfalls möglich ist, dass ein Zufallssignal, bspw. eine durch einen Zufallsgenerator erzeugtes Zufallssignal, oder ein
Zählersignal als Eingangsdaten zu verwenden.
Der zweite Prozessor 2 ist derartig eingerichtet, dass auf diesem ein
Verifikationsalgorithmus OPCT unter Zuhilfenahme zumindest eines Teils der Maschinenbefehle des zweiten Prozessors 2 abläuft. Der
Verifikationsalgorithmus OPCT dient genauso wie der Testalgorithmus Opcode dazu, dass anhand der zugeführten Ausgangsdaten A, die als
Eingangsdaten dienen, Verifikationsdaten V berechnet werden. Er ist derartig ausgebildet, dass durch ihn auf zumindest einen Teil, vorzugsweise alle, Maschinenbefehle, die zum Ausführen des Algorithmus Comp auf dem ersten Prozessor 1 benötigt werden, entsprechenden Maschinenbefehle des zweiten Prozessors 2 zugegriffen wird. Im Wesentlichen entspricht der
Verifikationsalgorithmus also dem Testalgorithmus mit dem Unterschied, dass der Verifikationsalgorithmus auf die Rechnerarchitektur des zweiten
Prozessors angepasst ist und auf dem zweiten Rechner vorzugsweise nicht in Abschnitte unterteilt ist. Typischerweise, jedoch nicht notwendigerweise, weisen der Testalgorithmus und/oder der Verifikationsalgorithmus weniger auszuführende Schritte als der eigentliche Algorithmus Comp auf.
Die elektronische Schaltung ist ferner dazu eingerichtet, die durch den ersten Prozessor anhand des Testalgorithmus berechneten Ausgangsdaten und die durch den zweiten Prozessor anhand des Verifikationsalgorithmus
berechneten Verifikationsdaten zu vergleichen und in dem Fall, dass eine Abweichung festgestellt wird, ein Fehlermeldung auszugeben.
Hinsichtlich der Erfüllung der eingangs beschriebenen SIL-Maßnahmen, kann vorgesehen sein, dass die Überprüfung zyklisch, d.h. wiederkehrend im laufenden Messbetrieb des Feldgerätes 100, durchgeführt wird. Bezugszeichenliste
100 Feldgerät
1 Erster digitaler Prozessor
2 Zweiter digitaler Prozessor
10 Sensormodul
1 1 Wandlerelement
12 Sensorelektronik
14 Kommunikationsschnittstelle
16 Kommunikationsschnittstelle
20 Hauptelektronik-Modul
22 Logikeinheit
24 Kommunikationsschnittstelle
26 Kommunikationsschnittstelle
30 Kommunikationsschnittstelle
32 Stromregler
36 Stromsenke
34 HART Modem
Comp Algorithmus zum Berechnen des Messwertes
Opcode Testalgorithmus
E Eingangsdaten
A Ausgangsdaten
OPCT Verifikationsalgorithmus
OPCT1 Anfangsabschnitt des Verifikationsalgorithmus
OPCT2 Endabschnitt des Verifikationsalgorithmus
V Verifikationsdaten
C1 ...Cn Programmsequenz bzw. Teil des Testalgorithmus
S1 ...Sn Programmsequenz bzw. Teil des Algorithmus