-
Die Erfindung bezieht sich auf Feldgerät mit einem semi-permanenten elektronischen Speicher, der zum Speichern von Daten dient.
-
Ferner bezieht sich die Erfindung auf ein Verfahren zum Betreiben eines Feldgeräts, das über einen semi-permanenten elektronischen Speicher verfügt.
-
Die Erfindung bezieht sich außerdem auf ein Computerprogrammprodukt.
-
In Anlagen der Prozessautomatisierungstechnik werden heutzutage Feldgeräte zur Steuerung, Regelung oder Überwachung der dort ablaufenden Prozesse eingesetzt. Als Feldgeräte werden dabei im Prinzip alle Geräte bezeichnet, die prozessnah eingesetzt werden und die prozessrelevante Informationen liefern oder verarbeiten. Neben Messgeräten/Sensoren, Aktoren und Anzeige-/Bedieneinheiten werden als Feldgeräte allgemein auch solche Einheiten bezeichnet, die bspw. direkt an einem Feldbus angeschlossen sind und zur Kommunikation mit den übergeordneten Einheiten dienen, wie z. B. Remote I/Os, Gateways, Linking Devices und Funkeinheiten.
-
Um die Funktion dieser Geräte zu gewährleisten, werden heutzutage Mikrokontroller und/oder Mikroprozessoren eingesetzt, die bspw. Messwerte aus aufgenommenen Messdaten oder allgemein prozessrelevante Informationen verarbeiten. Solche Mikrokontroller oder Mikroprozessoren verfügen dabei über einen Speicher eines bestimmten Volumens, der zum Speichern dieser Informationen in Form Daten dient.
-
Ferner werden heutzutage in Feldgeräten in der Regel eine Vielzahl an Parametern bzw. Daten in insbesondere nichtflüchtigen Speichern gesichert. Dies hat den Vorteil, dass diese Parameter und Daten auch nach einem sog Powercycle, bei dem das Feldgerät zeitweilig ohne Energieversorgung ist, wieder zur Verfügung stehen.
-
Dabei unterscheiden sich diese Parameter/Daten oftmals in ihrer Kritikalität in Bezug auf die Funktion des Feldgerätes oder der Anlage bzw. eines Teils der Anlage. Bspw. sind sog. Schleppzeiger nicht für die Funktionalität oder zur Bestimmung eines Fehlers erforderlich. Andererseits muss bspw. in einem Feldgerät, das gemäß den Richtlinien des Standards der Funktionalen Sicherheit, insbesondere gemäß IEC 61508/IEC61511, d. h. einem Sicherheits-Integritätslevel, abgekürzt als SIL, arbeitet, sichergestellt sein, dass bspw. bestimmte der Einstellung des Feldgerätes dienende Parameter zuverlässig auf einen bestimmten Wert eingestellt sind.
-
Ein weiteres Problem bei der Verwendung von nichtflüchtigen Speichern, wie bspw. EEPROM-Speicher oder Flash-Speichern, besteht in der nur beschränkten Lebenszeit der Speicher. Insbesondere verfügen diese Speicher nur über eine bestimmte Anzahl an Schreibzyklen, während derer die Information in Form von Ladung zuverlässig in einem Transistor gespeichert werden kann. Es ist aus dem Stand der Technik bekannt geworden Daten alternierend in verschiedene Speicheradressen zu speichern, um damit die Lebensdauer des Speichers zu erhöhen. Dies erfordert aber natürlich einen größeren Speicher, d. h. ein größeres Speichervolumen, um alle Daten entweder alternierend in verschiedene Speicheradressen oder bspw. redundant in verschiedenen Speicheradressen zu speichern. Wie aber bereits festgestellt, sind nicht alle Daten zur Aufrechterhaltung des Betriebs eines Feldgerätes gleich wichtig oder überhaupt erforderlich.
-
Der Erfindung liegt die Aufgabe zugrunde, das zur Speicherung von Daten in einem Feldgerät erforderliche Speichervolumen zu reduzieren.
-
Die Aufgabe wird erfindungsgemäß dadurch gelöst, dass der elektronische Speicher in mehrere Speicherbereiche geteilt ist, wobei die Speicherbereiche getrennt voneinander konfigurierbar sind und dazu dienen, die Daten vermittels unterschiedlicher Speicherverfahren, die durch die Konfiguration der Speicherbereiche vorgegeben sind, zu speichern.
-
Der Speicher kann also in gleich große oder unterschiedlich große Speicherbereiche geteilt sein oder teilbar sein. Bei dem Speicherbereich kann es sich insbesondere um einen nur logisch zusammenhängen Abschnitt des Speichers handeln. Die Speicherbereiche können getrennt voneinander, also insbesondere jeder Speicherbereich einzeln, konfigurierbar sein. Die Konfiguration eines Speicherbereichs beinhaltet dabei die Festlegung eines bestimmten Speicherverfahrens, vermittels dem Daten, die zur Speicherung in einem dieser Speicherbereiche vorgesehen sind, gespeichert werden. Ferner bestehen neben der Konfiguration des Speicherverfahrens auch noch andere Konfigurationsmöglichkeiten zur Konfiguration der verschiedenen Speicherbereiche. So kann ein Speicherbereich dahingehend konfiguriert werden, dass bspw. eine Überprüfung auf Konsistenz der in diesem Speicherbereich gespeicherten Daten erfolgt.
-
Als Speicher kann bspw. ein EEPROM-Speicher oder ein FLASH-Speicher verwendet werden.
-
In einer Ausgestaltung des Feldgerätes handelt es sich bei wenigstens einem der Speicherbereiche um einen virtuellen Speicherbereich, insbesondere um ein virtuelles Laufwerk. Wie bereits erwähnt, kann es sich also bei einem oder mehreren der Speicherbereich nur um logisch zusammenhängende Speicherbereiche handeln. Diese Speicherbereiche können dann eben über einen virtuellen Adressraum – den virtuellen Speicher – bspw. in Form von sog. Pages verwaltet werden.
-
In einer weiteren Ausgestaltung des Feldgerätes handelt es sich bei wenigstens einem der Speicherverfahren um eine alternierende Speicherung der Daten an verschiedenen Speicheradressen und/oder um eine redundante Speicherung der Daten an verschiedenen Speicheradressen in einem der Speicherbereiche. Bei der alternierenden Speicherung, werden Daten wie bspw. Parameterwerte insbesondere bei einer Aktualisierung derselben abwechselnd in eine von zumindest zwei Speicheradressen geschrieben. Dadurch kann die Lebenszeit des Speichers verlängert werden. Die redundante Speicherung dient vor allem dazu, die Konsistenz der gespeicherten Daten zu überprüfen bzw. zu gewährleisten. Zu diesem Zweck können Daten die gleichen Daten an unterschiedlichen Speicheradressen in dem Speicher abgespeichert werden. Es kann also vorgesehen sein, dass bspw. einer der Speicherbereiche, in welche der Speicher geteilt ist, Daten redundant oder alternierend speichert, während in einem anderen der Speicherbereiche eine anderes Speicherverfahren verwendet wird. Dadurch kann bspw. die Degradation des physikalisch zugrunde liegenden Speichers aufgrund der Anzahl der Schreibvorgänge optimiert werden.
-
In einer weiteren Ausgestaltung des Feldgerätes, ist eine Steuereinheit vorgesehen, die dazu dient, einen ersten Teil der Daten einem ersten der Speicherbereiche und einen zweiten Teil der Daten einem zweiten der Speicherbereiche zuzuweisen. Insbesondere können die Daten so nach verschiedenen Datentypen, die für den Betrieb des Feldgerätes wichtig oder weniger wichtig sind, insbesondere solche die auch nach einem Powercycle noch konsistent zur korrekten Funktionsweise des Feldgerätes vorhanden sein müssen, aufgeteilt werden. In dem ersten der Speicherbereich, kurz dem ersten Speicherbereich, kann bspw. eine redundante Speicherung der Daten, die zur Speicherung in dem ersten Speicherbereich vorgesehen sind erfolgen. Die Steuereinheit kann zu diesem Zweck ebenfalls auch einem Mikroprozessor oder Mikrokontroller bestehen auf dem Listen oder andere entsprechende vorgaben hinterlegt sind die zur Einteilung der Daten in den ersten und/oder den zweiten Teil dienen. Ferner können natürlich mehr als zwei Speicherbereiche vorgesehen sein, in die der Speicher unterteilt ist. Dann kann die Steuereinheit für eine entsprechende Einteilung der Daten in die verschiedenen Daten aufgrund der darin hinterlegten Anweisungen dienen.
-
In einer weiteren Ausgestaltung des Feldgerätes dient die Steuereinheit ferner dazu, einen Prüfwert zu ermitteln, der zur Erkennung eines Fehlers bei der Datenübertragung und/oder bei der Datenspeicherung und/oder beim Auslesen der Daten aus dem ersten Speicherbereich dient. Selbstverständlich können auch anderer als der erste Speicherbereich so konfiguriert sein, dass die Datenkonsistenz ermittelt oder überprüft wird. Bei dem Prüfwert kann es sich bevorzugt um eine Prüfsumme gemäß dem CRC-Verfahren handeln (Akronym für Cyclic-Redundancy-Ceck). Dies ist besonders in Kombination mit der rendundaten Datenspeicherung in dem ersten Speicherbereich von Vorteil. Denn auf diese Weise kann die Datenkonsistenz einerseits durch vergleichen der unter der ersten und der zweiten Speicheradresse gespeicherten Daten erfolgen und zusätzlich eine Prüfsummenbildung erfolgen, die zufällige Datenfehler wie bspw. Bitfehler erkennt.
-
In einer weiteren Ausgestaltung des Feldgerätes ist der Prüfwert in dem ersten Speicherbereich, insbesondere zusammen mit den zugehörigen Daten auf die sich der Prüfwert bezieht bzw. aus denen er berechnet wurde, gespeichert. Der vor oder bei der Speicherung ermittelte Prüfwert kann zusammen mit dem Datenpaket für das der Prüfwert erstellt wurde abgespeichert werden.
-
In einer weiteren Ausgestaltung des Feldgerätes dient die Steuereinheit dazu, einen vor der Datenspeicherung in dem ersten Speicherbereich ermittelten Prüfwert mit einem nach der Datenspeicherung in dem ersten Speicherbereich ermittelten Prüfwert zu vergleichen. Somit kann eine während des Speicherns erfolgte Beschädigung an den Daten einfach festgestellt werden, indem der neu ermittelte Prüfwert mit dem vor dem Speichern ermittelten Prüfwert verglichen wird.
-
In einer weiteren Ausgestaltung des Feldgerätes handelt es sich bei dem ersten Teil der Daten um sicherheitsrelevante Daten, insbesondere um Parameter, die zur Einstellung des Feldgerätes dienen, welche sicherheitsrelevanten Daten in Abhängigkeit einer Anwendung des Feldgerätes vorgegeben sind. Bei den Daten kann es sich bspw. im Fall eines Sensors, um Parameter handeln, die dazu dienen, aus den aufgenommen Messdaten Messwerte bspw. gemäß einer Übertragungsfunktion zu bestimmen. Derartige Daten müssen stets in dem Feldgerät zur Anlagenüberwachung und Fehlererkennung vorhanden und verwendbar sein und insbesondere muss deren Konsistenz gesichert sein.
-
In einer weiteren Ausgestaltung des Feldgerätes erfolgt beim Speichern in dem zweiten Speicherbereich keine Prüfung hinsichtlich eines Fehlers bei der Datenübertragung und/oder der Datenspeicherung und/oder beim Auslesen der Daten aus dem zweiten Speicherbereich. In dem zweiten Speicherbereich können dann Daten wie bspw. graphische Elemente oder Hilfeanweisungen hinterlegt sein, bei denen sich ein Bitfehler nicht unmittelbar auf die Funktionsweise des Feldgerätes oder der Anlage sowie der Anlagenüberwachung auswirkt.
-
In einer weiteren Ausgestaltung des Feldgerätes dient die Steuereinheit dazu, in Abhängigkeit des Speicherverfahrens, das für den jeweiligen Speicherbereich vorgesehen ist, ein entsprechendes Speichervolumen in dem Speicher zu reservieren. Beispielsweise kann bei der Herstellung des Feldgerätes der Speicher des Feldgeräts durch den Hersteller, bspw. durch Aufspielen entsprechender Anweisungen bspw. in Form einer Firmware oder Software, konfiguriert werden. Insbesondere können die Daten die in einem bestimmten Speicherbereich gespeichert werden sollen vorgegeben werden. Ferner kann das Speicherverfahren, das in den jeweiligen Speicherbereich angewandt werden soll vorgegeben werden. Dabei kann dann in Abhängigkeit des ausgewählten Speicherverfahrens durch die Steuereinheit ein entsprechendes physikalisches Speichervolumen reserviert werden. Denn eine redundante Speicherung benötigt bspw. gegenüber einer gewöhnlichen, einfachen Speicherung unter einer einzigen Speicheradresse das doppelte Speichervolumen.
-
In einer weiteren Ausgestaltung des Feldgerätes befinden sich die Speicherbereiche des Speichers auf einer einzigen physikalisch zusammenhängenden Speichereinheit oder auf mehreren physikalisch voneinander getrennten Speichereinheiten. Die Speicherbereiche können bspw. vermittels der virtuellen Speicherung auf einer einzigen Speichereinheit, wie bspw. einem einzigen EEPROM oder FLASH angelegt werden.
-
Andererseits ist es durch die virtuelle Speicherung auch möglich die Speicherbereiche auf mehrere unterschiedliche Speichereinheiten zu verteilen.
-
Die Aufgabe wird hinsichtlich des Verfahrens dadurch gelöst, dass der Speicher in mehrere Speicherbereiche geteilt wird, die getrennt voneinander konfigurierbar sind und dass gemäß der Konfiguration vorgegebene unterschiedliche Speicherverfahren in den Speicherbereichen verwendet werden, um Daten in den Speicherbereichen zu speichern.
-
In einer Ausgestaltung des Verfahrens wird wenigstens ein virtueller Speicherbereich, insbesondere wenigstens ein virtuelles Laufwerk, verwendet.
-
In einer weiteren Ausgestaltung des Verfahrens werden die Daten in Abhängigkeit des Speicherbereichs alternierend an verschiedenen Speicheradressen und/oder redundant an verschiedenen Speicheradressen in einem der Speicherbereiche gespeichert.
-
In einer weiteren Ausgestaltung des Verfahrens wird ein erster Teil der Daten einem ersten der Speicherbereiche und ein zweiter Teil der Daten einem zweiten der Speicherbereiche zugewiesen. Dabei kann der erste Teil von Daten aus einer Auswahl der oder allen Parameter bestehen, durch die das Feldgerät konfigurierbar ist, d. h. durch die Einstellungen, insbesondere sicherheitsrelevante Einstellungen, an dem Feldgerät vornehmbar sind. Bei dem zweiten Teil der Daten kann es sich bspw. um Informationen bzgl. der Darstellung auf einer Anzeigeinheit, Text für sog. Hilfeseiten oder eben um Parameter die keine sicherheitsrelevante Funktion aufweisen handeln.
-
In einer weiteren Ausgestaltung des Verfahrens wird beim Speichern in dem ersten Speicherbereich zusätzlich ein Prüfwert zur Erkennung eines Fehlers bei der Datenübertragung und/oder bei der Datenspeicherung und/oder beim Auslesen der Daten ermittelt.
-
In einer weiteren Ausgestaltung des Verfahrens wird der Prüfwert zusammen mit dem ersten Teil der Daten, bzw. den Daten auf die sich der Prüfwert bezieht oder aus denen er berechnet wurde, in dem ersten Speicherbereich gespeichert. Für jeden Parameter oder jedes Datenpaket kann das im ersten Speicherbereich abgespeichert wird oder abgespeichert werden soll, wird dann ein entsprechender Prüfwert berechnet und abgespeichert.
-
In einer weiteren Ausgestaltung des Verfahrens wird in Abhängigkeit des Speicherverfahrens ein entsprechendes Speichervolumen für den jeweiligen Speicherbereich in dem Speicher reserviert.
-
In einer weiteren Ausgestaltung des Verfahrens wird beim Speichern in dem zweiten Speicherbereich keine Prüfung hinsichtlich eines Fehlers bei der Datenübertragung oder der Datenspeicherung durchgeführt.
-
Hinsichtlich des Computerprogrammprodukts wird die Aufgabe durch einen Programmcode, der auf einem Datenträger gespeichert ist, gelöst, welcher wenn er von einer Prozessoreinheit ausgeführt wird, das Verfahren in einer der vorgeschlagenen Ausgestaltungen löst.
-
Die Erfindung wird anhand der nachfolgenden Zeichnungen näher erläutert.
-
Es zeigt:
-
1: eine schematische Darstellung einer Ausführungsform der vorgeschlagenen Erfindung.
-
1 zeigt einen in zwei Speicherbereiche F1, F2 unterteilten Speicher F, der aus einer einzigen physikalischen Speichereinheit besteht. Der Speicher F ist dabei in einen ersten Speicherbereich F1 und einen zweiten Speicherbereich F2 unterteilt. Eine Steuereinheit S in die eine Software die aus Programmcode besteht geladen werden kann verwaltet den Speicher F. Dabei werden Daten D die der Steuereinheit zugehen, von dieser verarbeitet und/oder in den Speicher F geschrieben. In der Steuereinheit S können zu diesem Zweck Anweisungen hinterlegt sein, die dazu dienen, die Daten D in den ersten oder den zweiten Speicherbereich F1, F2 zu speichern. So können bspw. Daten D1, die zur Aufrechterhaltung des Betriebs des Feldgerätes notwendig sind in den ersten Speicherbereich F1 gespeichert werden. In dem ersten Speicherbereich F1 kann dafür eine redundante Speicherung der Daten D1 erfolgen. Zusätzlich kann eine Prüfung auf Konsistenz der Daten D1 erfolgen, wenn diese wieder aus dem ersten Speicher F1 ausgelesen werden. Dafür kann ein Cyclic Redundancy Check durchgeführt werden.
-
Bei dem Speicher F kann es sich um einen nichtflüchtigen Speicher wie bspw. einen EEPROM handeln, das in virtuelle Speicherbereiche F1, F2, insbesondere virtuelle Laufwerke, segmentiert, d. h. unterteilt, ist. Diese Speicherbereiche F1, F2 können dann entsprechend konfiguriert werden, indem bspw. Attribute gesetzt werden. Die Vergabe von Attributen ist dabei nicht auf das Speicherverfahren eingeschränkt, sondern kann auch eine Überprüfung der Datenintegrität oder die Festlegung einer Dateigröße für einen der Speicherbereiche F1, F2 beinhalten.
-
Bei der Erzeugung der Speicherbereiche F1. F2, bei denen es sich bevorzugt um virtuelle Speicherbereiche, insbesondere virtuelle Laufwerke, handelt, kann bspw. durch eine auf dem Feldgerät installierte Firmware dann entsprechend den Attributen des jeweiligen Speicherbereichs F1, F2 der benötigte Speicherplatz im nicht-flüchtigen Speicher F reserviert werden. Für die alternierende bzw. gespiegelte Speicherung bzw. Sicherung ist dies bspw. ein doppelt so großer Speicherbereich, als er für die Daten D1 an sich notwendig wäre. Sobald dann Daten D in einen der Speicherbereiche F1, F2 abgespeichert wird, entscheidet die Steuereinheit S in welcher Weise die Daten D gespeichert werden müssen.
-
Bspw. kann es bei einem Temperaturmessgerät eine Speicherung sog. dynamischer Daten benötigt werden. Bei den dynamischen Daten handelt es sich um Parameter, die sich aufgrund der gemessenen Temperatur ändern und persistent zu speichern sind. Ein solcher Parameter ist bspw. der Schleppzeiger für die gemessene Temperatur. Diese dynamischen Parameter könne bspw. in einem Minutentakt gespeichert werden.
-
Wird dann bspw. eine alternierende Speicherung angewendet, kann durch die Verwendung zweier EEPROM-Pages, in welche alternierend gespeichert wird, die Lebensdauer des Gerätes bzw. des EEPROMS verdoppelt werden.
-
Möglich ist natürlich auch die Verwendung einer größeren Anzahl an Pages. Bei der Anzahl der Pages kann es sich ebenfalls um ein konfigurierbares Attribut eines Speicherbereichs F1, F2 handeln.
-
Außerdem kann eine gespiegelte Speicherung von bestimmten Parametern vorgegeben sein, welche für den SIL-Betrieb des Feldgerätes in einer bestimmten Sicherheitsstufe gespeichert werden müssen. Dadurch kann ein schwächerer CRC durchgeführt werden, um die Konsistenz der gespeicherten Daten, bspw. der Daten D1, zu überprüfen. Insbesondere kann ein CRC-16, der bspw. in Hardware verwirklicht ist, anstelle eines CRC-32 verwendet werden. Beim Laden der gespeicherten Daten aus einem Speicherbereich werden die gespeicherten Daten mit den Daten in der gespiegelten Speicherung verglichen und somit verifiziert. Zusätzlich wird dabei die CRC-16-Prüfsumme verifiziert. Optional kann ein weiterer Speicherbereich angelegt werden, in dem die Datenkonsistenz in keiner Weise gesichert werden muss. Die zu speichernden Daten werden dann einfach in den Speicherbereich geschrieben, ohne dass zusätzliche Maßnahmen zur Sicherung der Daten in Kauf genommen werden müssen. Bei den Daten kann es ich um Daten handeln, die weder für den SIL-Betrieb noch für die Ausfallsicherung maßgeblich sind. Durch die vorgeschlagenen Maßnahmen kann eine Verbesserung der Leistungsfähigkeit und/oder eine bessere Ausnutzung des verfügbaren Speichers F erreicht werden.
-
Ferner kann eine Festlegung von verschieden großen Speichersegmenten in einem virtuellen Speicherbereich F1, F2 vorgegeben werden, um einer Fragmentierung des Speichers F vorzubeugen. Die Größe eines Speichersegments kann dabei bspw. an die Größe der zu speichernden Daten(-menge) angepasst werden, um eine möglichst optimale Ausnutzung des Speichers F zu erreichen.
-
Bezugszeichenliste
-
-
- F
- Speicher
- F1
- erster Speicherbereich
- F2
- zweiter Speicherbereich
- D
- Daten
- D1
- ersten Teil
- D2
- zweiter Teil
- S
- Steuereinheit
-
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
-
- IEC 61508 [0007]
- IEC61511 [0007]