-
Die Erfindung betrifft ein Verfahren zur Massendatenübertragung in einem Feldbussystem gemäß dem Oberbegriff des Anspruchs 1. Des Weiteren betrifft die Erfindung ein Feldbussystem gemäß dem Oberbegriff des Anspruchs 14.
-
In der Prozessautomatisierungstechnik werden vielfach Feldgeräte eingesetzt, die zur Erfassung und/oder Beeinflussung von Prozessvariablen dienen. Beispiele für derartige Feldgeräte sind Füllstandsmessgeräte, Massedurchflussmessgeräte, Druck- und Temperaturmessgeräte etc., die als Sensoren die entsprechenden Prozessvariablen Füllstand, Durchfluss, Druck bzw. Temperatur erfassen.
-
Als Feldgeräte werden im Prinzip alle Geräte bezeichnet, die prozessnah eingesetzt werden und die prozessrelevante Informationen liefern oder verarbeiten.
-
Eine Vielzahl solcher Feldgeräte wird von der Firma Endress + Hauser hergestellt und vertrieben.
-
Bei Feldgeräten ist es von Zeit zu Zeit erforderlich, die Betriebssoftware des Feldgeräts zu aktualisieren. Außerdem kann es notwendig werden, geänderte Parametrierdatensätze auf das Feldgerät aufzuspielen. Eine Möglichkeit ist, die benötigten Daten von einem Master aus mittels einer Massendatenübertragung über den Feldbus zu einem der Feldgeräte zu übertragen.
-
Es ist Aufgabe der Erfindung, die Durchführung einer Massendatenübertragung über einen Feldbus zu vereinfachen.
-
Gelöst wird diese Aufgabe durch die in den Ansprüchen 1 und 14 angegebenen Merkmale.
-
Vorteilhafte Weiterentwicklungen der Erfindung sind in den Unteransprüchen angegeben.
-
Ein erfindungsgemäßes Verfahren dient zur Massendatenübertragung in einem Feldbussystem, das einen Master sowie eine Mehrzahl von Feldgeräten umfasst, wobei der Master und die Feldgeräte an einen Feldbus angeschlossen sind. Das Verfahren umfasst das Auswählen von mindestens zwei Feldgeräten, welche als ausgewählte Feldgeräte an einer bevorstehenden Massendatenübertragung teilnehmen, durch den Master oder durch die Feldgeräte selbst. Außerdem umfasst das Verfahren das Senden von Datenpaketen durch den Master über den Feldbus, sowie das Empfangen der Datenpakete simultan durch die ausgewählten Feldgeräte.
-
Insbesondere bei umfangreichen Feldbussystemen erfordert es einen relativ hohen Zeitaufwand, nacheinander Massendatenübertragungen zu verschiedenen Feldgeräten aufzusetzen und die relativ umfangreichen Daten vom Master zu den Feldgeräten zu übertragen.
-
Entsprechend den Ausführungsformen der vorliegenden Erfindung wird daher vorgeschlagen, eine simultane Massendatenübertragung über den Feldbus zu mehreren an den Feldbus angeschlossenen Feldgeräten durchzuführen. Durch eine derartige simultane Massendatenübertragung zu mehreren verschiedenen Feldgeräten kann der Zeitbedarf für die Durchführung einer Datenaktualisierung deutlich verringert werden. Beispielsweise kann der Zeitaufwand für das Aufspielen einer neuen Softwareversion oder das Aufspielen von aktualisierten Parametrierdatensätzen deutlich verringert werden.
-
Nachfolgend ist die Erfindung anhand von in der Zeichnung dargestellten Ausführungsbeispielen näher erläutert.
-
Es zeigen:
-
1 ein Feldbussystem mit drei Feldgeräten und einer speicherprogrammierbaren Steuerung;
-
2 einen Überblick über die Komponenten eines Feldgeräts;
-
3 den grundsätzlichen Ablauf einer erfindungsgemäßen Massendatenübertragung als Blockschaltbild;
-
4A den Ablauf einer Massendatenübertragung, wobei die teilnehmenden Feldgeräte durch den Master ausgewählt werden;
-
4B den Austausch von Nachrichten im Feldbusprotokoll HART für den in 4A gezeigten Ablauf;
-
5A den Ablauf einer Massendatenübertragung, wobei die Feldgeräte selbst entscheiden, ob sie an der Massendatenübertragung teilnehmen oder nicht;
-
5B den Austausch von Nachrichten im Feldbusprotokoll HART für den in 5A gezeigten Ablauf;
-
6A eine alternativen Möglichkeit zur Durchführung der Massendatenübertragung; und
-
6B den Austausch von Nachrichten im Feldbusprotokoll HART für den in 6A gezeigten Ablauf.
-
In 1 ist ein Feldbussystem mit einem Master 100 und drei Feldgeräten 101, 102, 103 dargestellt. Der Master 100 und die Feldgeräte 101, 102, 103 sind an einen Feldbus 104 angeschlossen. Jedes der Feldgeräte 101, 102, 103 ist mit einer zugehörigen Feldbuseinheit 105–107 (beispielsweise einer Feldbuskarte) ausgestattet, welche die Schnittstelle zwischen dem jeweiligen Feldgerät und dem Feldbus 104 bildet.
-
Bei dem in 1 gezeigten Feldbussystem könnte es sich beispielsweise um eine Überfüllsicherung bei einem Flüssigkeitstank handeln. Das Feldgerät 101 misst den Füllstand in einem Behälter. Das Feldgerät 102 ist ein Ventil und regelt den Abfluss der Flüssigkeit aus dem Behälter. Weiterhin ist noch als Grenzstandschalter das Feldgerät 103 vorgesehen, welches den maximalen Füllstand im Behälter erfasst. Ein Steuerprogramm auf Seiten des Masters 100 regelt den Füllstand in dem Behälter. Der Master 100 kann beispielsweise als SPS-Einheit (speicherprogrammierbare Steuerung) oder als PLC-Einheit (Programmable Logic Controller) ausgebildet sein, und die Feldgeräte 101, 102, 103 sind als Slaves ausgelegt.
-
2 gibt einen Überblick über die Komponenten eines Feldgeräts. Das Feldgerät 200 umfasst einen Sensor 201 zur Erfassung der Messdaten, einen Prozessor 202, einen flüchtigen Speicher 203, beispielsweise ein RAM, sowie einen nichtflüchtigen Speicher 204, beispielsweise ein EEPROM (Electrically Erasable Programmable ROM). In dem flüchtigen Speicher 203 werden aktuelle Daten abgelegt, beispielsweise Messwerte, die nach dem Ausschalten des Feldgeräts 200 nicht mehr benötigt werden. Im nichtflüchtigen Speicher 204 dagegen sind diejenigen Daten abgelegt, die auch nach dem Ausschalten des Feldgeräts 200 erhalten bleiben sollen. Beispielsweise ist die zum Betrieb des Feldgeräts 200 erforderliche Betriebssoftware im nichtflüchtigen Speicher 204 abgelegt.
-
Das Feldgerät 200 ist über eine Feldbuskarte 205 mit dem Feldbus 206 verbunden. Über den Feldbus 206 kann das Feldgerät 200 mit einem Master 207 Daten austauschen. Insbesondere können die vom Sensor 201 erfassten Messwerte über den Feldbus 206 zum Master 207 übertragen werden.
-
Das Feldgerät 200 ist darüber hinaus mit einer Serviceschnittstelle 208 ausgestattet, über die vor Ort auf Daten des Feldgeräts 200 zugegriffen werden kann.
-
Von Zeit zu Zeit ist es erforderlich, die im nichtflüchtigen Speicher 204 abgelegte Betriebssoftware durch eine aktuellere Softwareversion bzw. eine an geänderte Einsatzbedingungen angepasste Version zu ersetzen. Darüber hinaus kann es notwendig sein, vordefinierte Parametrierdatensätze, die im nichtflüchtigen Speicher 204 abgelegt sind, jeweils durch eine aktualisierte Version zu ersetzen.
-
Zur Aktualisierung des nichtflüchtigen Speichers 204 wird vorzugsweise ein sogenanntes Flash-Update durchgeführt. Dazu werden die Daten, die später in den nichtflüchtigen Speicher 204 geschrieben werden sollen, zunächst in einen Bereich 209 des flüchtigen Speichers 203 geschrieben. Anschließend wird das eigentliche Flash-Update durchgeführt, bei dem die im Bereich 209 gespeicherten Inhalte in einen entsprechenden Bereich 210 des nichtflüchtigen Speichers 204 geschrieben werden. Die Durchführung des Flash-Updates wird durch eine Ladekomponente 211 (den sogenannten „Bootloader”) durchgeführt, die im oberen Teil des nichtflüchtigen Speichers 204 abgelegt ist. Die Ladekomponente 211 ist dafür verantwortlich, die im Bereich 209 des flüchtigen Speichers 203 abgelegten Daten im Rahmen eines Flash-Updates in den entsprechenden Bereich 210 des nichtflüchtigen Speichers 204 zu übertragen. Falls es sich bei dem nichtflüchtigen Speicher 204 beispielsweise um einen EEPROM handelt, kann dieser Schreibvorgang durch das Anlegen spezieller Programmierspannungen durchgeführt werden. Nach erfolgreichem Abschluss des Flash-Updates sind die Betriebssoftware bzw. die Betriebsparameter des Feldgeräts 200 wieder auf dem aktuellen Stand.
-
Um im Vorfeld des eigentlichen Flash-Updates die benötigten Daten in den Bereich 209 des flüchtigen Speichers 203 zu schreiben, können die benötigten Daten beispielsweise über die Serviceschnittstelle 208 eingespeist werden. Hierzu kann beispielsweise vor Ort ein Laptop an die Serviceschnittstelle 208 angeschlossen werden, mit dem dann eine aktualisierte Version der Betriebssoftware auf das Feldgerät 200 aufgespielt werden kann.
-
Eine weitere Möglichkeit ist, die benötigten Daten über den Feldbus 206 im Rahmen einer sogenannten Massendatenübertragung auf das Feldgerät 200 aufzuspielen. Hierzu wird der Master 207 über den Feldbus 206 und die Feldbuskarte 205 mit dem Feldgerät 200 verbunden. Vom Master 207 aus können dann die benötigten Daten über den Feldbus 206 in den Bereich 209 des flüchtigen Speichers 203 geschrieben werden. Sobald die benötigten Daten im Bereich 209 bereitstehen, wird durch die Ladekomponente 211 das eigentliche Flash-Update durchgeführt.
-
Eine Aktualisierung der Softwareversion bzw. der vorgegebenen Parametrierdatensätze über den Feldbus 206 hat den Vorteil, dass zentral vom Master 207 aus eine aktualisierte Softwareversion nacheinander auf diejenigen Feldgeräte aufgespielt werden kann, die die jeweilige Softwareversion benötigen. Insbesondere bei umfangreichen Feldbussystemen erfordert es einen relativ hohen Zeitaufwand, nacheinander Massendatenübertragungen zu verschiedenen Feldgeräten aufzusetzen und die relativ umfangreichen Dateien zu den Feldgeräten zu übertragen.
-
Entsprechend den Ausführungsformen der vorliegenden Erfindung wird daher vorgeschlagen, eine simultane Massendatenübertragung über den Feldbus zu mehreren an den Feldbus angeschlossenen Feldgeräten durchzuführen. Durch eine derartige simultane Massendatenübertragung zu mehreren verschiedenen Feldgeräten kann der Zeitbedarf für die Durchführung einer Datenaktualisierung deutlich verringert werden. Beispielsweise kann der Zeitaufwand für das Aufspielen einer neuen Softwareversion oder das Aufspielen von aktualisierten Parametrierdatensätzen deutlich verringert werden.
-
In 3 ist der grundsätzliche Ablauf einer erfindungsgemäßen Massendatenübertragung als Blockschaltbild dargestellt. Im Schritt 300 wird die Massendatenübertragung gestartet. Anschließend werden im Schritt 301 diejenigen Feldgeräte ausgewählt, die an der Massendatenübertragung teilnehmen sollen. Im Schritt 302 wird die eigentliche Datenübertragung über den Feldbus durchgeführt. Dabei werden die über den Feldbus übertragenen Daten von den ausgewählten Geräten empfangen. Im darauffolgenden Schritt 303 wird überprüft, ob es während der Datenübertragung zu Übertragungsfehlern gekommen ist. Wenn festgestellt wird, dass es zu Übertragungsfehlern gekommen ist, dann wird die Datenübertragung entsprechend dem Pfeil 304 ganz oder teilweise wiederholt. Beispielsweise ist es möglich, nur die fehlerhaft übertragenen Passagen erneut zu übermitteln. Wenn bei der im Schritt 303 durchgeführten Überprüfung auf Übertragungsfehler dagegen festgestellt wird, dass die Daten erfolgreich übertragen wurden, dann wird die Massendatenübertragung im Schritt 305 abgeschlossen.
-
In den 4A und 4B ist eine erste Möglichkeit dargestellt, wie Daten über den Feldbus simultan zu mehreren Feldgeräten übertragen werden können. Bei dem in 4A und 4B gezeigten Beispiel wird auf Seiten des Masters festgelegt, für welche der an den Feldbus angeschlossenen Feldgeräte die übertragenen Daten bestimmt sind. Die eigentliche Datenübertragung erfolgt dann mittels eines sogenannten Broadcasts, also mittels einer Datenübertragung an sämtliche an den Feldbus angeschlossenen Feldgeräte.
-
In 4A ist der Ablauf in Form eines Blockdiagramms dargestellt. In einem ersten Schritt 400 wählt der Master diejenigen Feldgeräte aus, welche die über den Feldbus übertragenen Daten empfangen sollen. Diese Auswahl kann auf Seiten des Masters vorgenommen werden, denn dem Master sind sämtliche an den Feldbus angeschlossenen Feldgeräte bekannt. In einem darauffolgenden Schritt 401 schickt der Master Nachrichten an die Adressen der ausgewählten Feldgeräte, um die Feldgeräte über die bevorstehende Datenübertragung zu informieren. In Schritt 402 gehen die ausgewählten Geräte dann in den Empfangsmodus. Im darauffolgenden Schritt 403 beginnt der Master mit der Massendatenübertragung. Dabei werden die zu übertragenden Daten in einzelne kleinere Datenpakete aufgeteilt, und diese Datenpakete werden dann vom Master nacheinander als Broadcast auf dem Feldbus gesendet. Hierzu können die Datenpakete beispielsweise an eine bestimmte Broadcast-Adresse adressiert werden, was gleichbedeutend damit ist, dass die Datenpakete an sämtliche an den Feldbus angeschlossenen Feldgeräte übermittelt werden.
-
Im Schritt 404 werden die vom Master gesendeten Datenpakete von den ausgewählten Feldgeräten empfangen, die sich im Empfangsmodus befinden. Vorzugsweise bestätigt zumindest eines der ausgewählten Feldgeräte den korrekten Empfang eines Datenpakets mittels einer entsprechenden Response-Nachricht. Dabei kann vorgesehen sein, dass sich die verschiedenen ausgewählten Feldgeräte beim Senden der Response-Nachricht rollierend in durchlaufender Reihenfolge abwechseln. Auf diese Weise kann der Master erkennen, ob es bei der Datenübertragung zu Übertragungsfehlern kommt, und welche der ausgewählten Geräte von den Übertragungsfehlern betroffen sind. Falls es zu einer fehlerhaften Datenübertragung gekommen ist, veranlasst der Master im Schritt 405 eine Neuübertragung der fehlerhaft übertragenen Datenpakete. Im Schritt 406 schickt der Master jeweils Abschlussnachrichten an die Adressen der ausgewählten Geräte.
-
Zusammenfassend kann festgestellt werden, dass bei dem in 4A gezeigten Übertragungsschema zunächst während einer Anfangsphase 407 eine Massendatenübertragung zu ausgewählten Feldgeräten aufgesetzt wird, anschließend während einer Übertragungsphase 408 die eigentliche Massendatenübertragung sowie eine eventuell notwendige Fehlerkorrektur durchgeführt wird, und anschließend während einer Abschlussphase 409 die Massendatenübertragung beendet wird. Das in 4A gezeigte Ablaufschema kann in sämtlichen gängigen Feldbusprotokollen implementiert werden, beispielsweise in den Feldbusprotokollen HART, Profibus, Foundation Fieldbus, etc.
-
In 4B ist gezeigt, wie der in 4A gezeigte allgemeine Ablauf im Feldbusprotokoll HART realisiert werden kann. Hierzu ist in 4B der Austausch von Nachrichten zwischen einem Master 410, einem ersten Feldgerät 411, einem zweiten Feldgerät 412 und einem dritten Feldgerät 413 gezeigt.
-
Es soll angenommen werden, dass der Master 410 für das zweite Feldgerät 412 und das dritte Feldgerät 413 eine Softwareaktualisierung vornehmen will. Hierzu informiert der Master 410 die beiden Feldgeräte 412 und 413 über die bevorstehende Massendatenübertragung. Im Schritt 414 übermittelt der Master 410 ein Kommando ”Transfer Service Control” (HART-Kommando 111) an die Geräteadresse des zweiten Feldgeräts 412. Mit dem Kommando ”Transfer Service Control” informiert der Master 410 das zweite Feldgerät 412 darüber, dass eine Massendatenübertragung bevorsteht, und dass das zweite Feldgerät 412 in den Empfangsmodus gehen und die Datenpakete empfangen soll. Im darauffolgenden Schritt 415 bestätigt das zweite Feldgerät 412 den Empfang dieses Kommandos durch Übermittlung einer Antwortnachricht zum Master 410. Auch das dritte Feldgerät 413 wird über die bevorstehende Massendatenübertragung unterrichtet. Hierzu übermittelt der Master 410 im Schritt 416 ein Kommando ”Transfer Service Control” an die Adresse des dritten Geräts 413, mit dem das dritte Feldgerät 413 darüber informiert wird, dass es die im Folgenden übertragenen Daten empfangen soll. Im Schritt 417 bestätigt das dritte Feldgerät 413 den Empfang dieses Kommandos mittels einer Antwortnachricht, die zum Master 410 zurückübertragen wird.
-
Anschließend kann mit der Massendatenübertragung begonnen werden. Hierzu wird die zu übertragende neue Softwareversion zunächst in einzelne Datenpakete aufgeteilt. In Schritt 418 werden die Datenpakete mittels des Kommandos ”Block Transfer” (HART-Kommando 112) als Broadcast auf dem Feldbus übertragen. Hierzu wird im Kommando ”Block Transfer” als Zieladresse die Broadcast-Adresse angegeben. Im Protokoll HART ist die Adresse ”00000” (5 Bytes des Werts 0) als Broadcast-Adresse festgelegt. Während der Massendatenübertragung befinden sich sowohl das zweite Feldgerät 412 als auch das dritte Feldgerät 413 im Empfangsmodus, was in 4B durch die vertikalen Balken 419, 420 veranschaulicht ist.
-
Entsprechend der Syntax des Feldbusprotokolls HART ist es wichtig, dass jedes vom Master 410 gesendete Kommando durch eine entsprechende Antwortnachricht von einem der Feldgeräte bestätigt wird. Gemäß einer bevorzugten Ausführungsform wird im Schritt 418 im Header des Kommandos ”Block Transfer” eine Adresse eines ausgewählten Feldgeräts spezifiziert, welches dann die Aufgabe hat, den korrekten Empfang des jeweiligen Datenpakets per Antwortnachricht zu bestätigen. Gemäß einer weiteren bevorzugten Ausführungsform wird die im Header angegebene Adresse des für die Bestätigung zuständigen Feldgeräts permanent durchgewechselt, um auf diese Weise von unterschiedlichen ausgewählten Feldgeräten nacheinander eine Antwortnachricht zu erhalten. Dieses Durchwechseln des für die Erzeugung der Antwortnachricht zuständigen Feldgeräts wird im Folgenden als ”rollierende Response” bezeichnet. Ein derartiges Durchwechseln des für die Erzeugung der Antwortnachricht zuständigen Geräts ermöglicht es dem Master 410, nach relativ kurzer Zeit zu erkennen, ob es bei der Übertragung der Daten zu den verschiedenen Feldgeräte zu Übertragungsproblemen kommt. Bei dem in 4B gezeigten Beispiel werden die Antwortnachrichten von den Feldgeräten entsprechend dem Prinzip der rollierenden Response erzeugt. Auf den Empfang des ersten Datenpakets hin übermittelt das zweite Feldgerät 412 im Schritt 421 eine Antwortnachricht zum Master 410. Im Schritt 422 bestätigt das dritte Feldgerät 413 den Empfang des zweiten Datenpakets. Der Empfang des dritten Datenpakets wird in Schritt 423 wieder vom zweiten Feldgerät 412 bestätigt, etc. Auf diese Weise kann der Master 410 mitverfolgen, dass die beiden ausgewählten Feldgeräte 412 und 413 die Datenpakete ohne Probleme empfangen.
-
Falls es bei der Datenübertragung zu einzelnen ausgewählten Feldgeräten zu Übertragungsproblemen kommt, können die fehlerhaft übertragenen Datenpakete im Anschluss an die eigentliche Datenübertragung erneut übermittelt werden.
-
Der Master 410 überträgt nacheinander als Broadcast sämtliche Datenpakete zu den ausgewählten Feldgeräten. Nachdem das letzte Datenpaket übermittelt ist, signalisiert der Master den ausgewählten Feldgeräten 412 und 413, dass die Massendatenübertragung beendet ist. Hierzu übermittelt der Master 410 in Schritt 424 ein Kommando ”Transfer Service Control” (HART-Kommando 111) an die Adresse des zweiten Feldgeräts 412. Mit dem Kommando ”Transfer Service Control” wird dem zweiten Feldgerät 412 mitgeteilt, dass die Massendatenübertragung abgeschlossen ist. Im Schritt 425 sendet das zweite Feldgerät 412 eine Antwortnachricht zum Master 410. Im Schritt 426 wird ein Kommando ”Transfer Service Control” (HART-Kommando 111) an die Adresse des dritten Feldgeräts 413 übermittelt, um über den Abschluss der Massendatenübertragung zu informieren. Das dritte Feldgerät 413 schickt daraufhin im Schritt 427 eine Antwortnachricht zum Master 410.
-
In den 5A und 5B ist eine weitere Möglichkeit zur Durchführung einer simultanen Massendatenübertragung per Broadcast an mehrere ausgewählte Feldgeräte gezeigt. Im Unterschied zu dem in 4A und 4B gezeigten Beispiel wird jetzt jedoch auf Seiten des jeweiligen Feldgeräts entschieden, ob das jeweilige Feldgerät die im Rahmen der Massendatenübertragung übermittelten Daten empfangen soll oder nicht.
-
In 5A ist das Verfahren in Form eines Ablaufdiagramms dargestellt. Im Schritt 500 schickt der Master als Broadcast über den Feldbus eine Nachricht an alle Feldgeräte, mit der die Feldgeräte über eine bevorstehende Massendatenübertragung informiert werden. Vorzugsweise umfasst die Nachricht einen Informationsheader, in dem nähere Angaben zu den übertragenen Daten enthalten sind. Allgemein kann der Informationsheader ein Kriterium enthalten, entsprechend dem die Feldgeräte entscheiden können, ob sie an der bevorstehenden Massendatenübertragung teilnehmen wollen oder nicht. Für den Fall einer Softwareaktualisierung kann der Informationsheader beispielsweise Informationen zu Typ und Version der Softwareaktualisierung enthalten. Außerdem kann im Informationsheader angegeben sein, für welche Typen von Feldgeräten die Softwareaktualisierung geeignet ist und für welche nicht. Im Schritt 501 wählen die Feldgeräte aus, ob sie die im Rahmen der Massendatenübertragung übermittelten Daten empfangen wollen oder nicht. Vorzugsweise wird diese Entscheidung anhand der im Informationsheader übermittelten Angaben getroffen.
-
Im darauffolgenden optionalen Schritt 502 wird der Master von denjenigen Geräten, die die Daten empfangen wollen, entsprechend informiert. Dieser Schritt 502 kann auch weggelassen werden. Zum Aufsetzen einer rollierenden Response ist es jedoch erforderlich, dass der Master die an der Massendatenübertragung teilnehmenden Feldgeräte kennt.
-
Im darauffolgenden Schritt 503 beginnt der Master, die zu übertragenden Daten in Datenpakete aufgeteilt als Broadcast auf den Feldbus zu übertragen. Im Schritt 504 empfangen diejenigen Feldgeräte, die sich für einen Empfang der Daten entschieden haben, die auf dem Feldbus übermittelten Datenpakete und speichern diese intern ab. Zur Bestätigung des korrekten Empfangs der Datenpakete kann vorgesehen sein, dass die empfangenden Feldgeräte entsprechende Antwortnachrichten zum Master übermitteln, und zwar vorzugsweise in Form einer ”rollierenden Response”. Im Schritt 505 überprüft der Master, ob die Datenübertragung für sämtliche empfangenden Feldgeräte erfolgreich war oder nicht. Vorzugsweise wird dies anhand der von den Feldgeräten empfangenen Antwortnachrichten ermittelt. Im Fall einer fehlerhaften Datenübertragung werden die fehlerhaft übertragenen Datenpakete erneut als Broadcast auf dem Feldbus übertragen.
-
Im Schritt 506 übermittelt der Master eine Abschlussnachricht per Broadcast an sämtliche Feldgeräte. Mit dieser Abschlussnachricht wird angezeigt, dass die Massendatenübertragung abgeschlossen ist.
-
Bei dem in 5A gezeigten Übertragungsschema wird zunächst während einer Anfangsphase 507 eine Massendatenübertragung zu ausgewählten Feldgeräten aufgesetzt, anschließend wird während einer Übertragungsphase 508 die eigentliche Massendatenübertragung sowie eine eventuell notwendige Fehlerkorrektur durchgeführt, und anschließend wird während einer Abschlussphase 509 die Massendatenübertragung beendet. Das in 5A gezeigte Ablaufschema kann in sämtlichen gängigen Feldbusprotokollen implementiert werden, beispielsweise in den Feldbusprotokollen HART, Profibus, Foundation Fieldbus, etc.
-
Anhand von 5B soll im Folgenden beschrieben werden, wie das in 5A gezeigte Ablaufschema im Feldbusprotokoll HART realisiert werden kann. Dazu ist in 5B der Austausch von Nachrichten zwischen einem Master 510, einem ersten Feldgerät 511, einem zweiten Feldgerät 512 und einem dritten Feldgerät 513 gezeigt.
-
Im ersten Schritt 514 übermittelt der Master 510 in einem Broadcast ein gerätespezifisches Kommando ähnlich dem Kommando ”Transfer Service Control” an die an den Feldbus angeschlossenen Feldgeräte 511, 512, 513. Dieses Kommando wird an die im Protokoll HART definierte Broadcastadresse „00000” adressiert. Mit diesem gerätespezifischen Kommando werden die Feldgeräte über eine bevorstehende Massendatenübertragung informiert, wobei der Header des gerätespezifischen Kommandos zusätzliche Informationen über die Art der bei der bevorstehenden Massendatenübertragung übertragenen Daten enthalten kann. Die Feldgeräte 511, 512, 513 können dann unter Berücksichtigung dieser Information entscheiden, ob sie die Daten empfangen wollen oder nicht. Die Entscheidung über den Empfang wird also auf Seiten der Feldgeräte 511, 512, 513 getroffen. Beispielsweise kann der Header Informationen zu Typ und Version einer neuen Softwareversion enthalten. Ausgehend von dieser Information kann jedes der Geräte 511, 512, 513 dann individuell entscheiden, ob es die zur Übertragung anstehende Softwareversion empfangen will oder nicht.
-
Im Header des im Schritt 514 übermittelten gerätespezifischen Kommandos kann die Adresse desjenigen Feldgeräts angegeben sein, das dafür zuständig ist, eine Antwortnachricht zur Bestätigung des Empfangs des Kommandos zum Master 510 zu senden. Im Beispiel von 5B übermittelt das Feldgerät 512 im Schritt 515 eine Antwortnachricht zum Master 510.
-
Optional kann vorgesehen sein, dass diejenigen Feldgeräte, die sich für einen Empfang der Daten entschieden haben, dies dem Master 510 vorab mitteilen. Bei dem in 5B gezeigten Beispiel haben sich die beiden Geräte 512 und 513 dafür entschieden, die Daten zu empfangen. Diese Entscheidung übermitteln die beiden Feldgeräte 512, 513 in den gestrichelt eingezeichneten Schritten 516, 517 zum Master 510. Auf diese Weise kann der Master 510 darüber in Kenntnis gesetzt werden, welche der Feldgeräte als empfangende Feldgeräte an der bevorstehenden Massendatenübertragung teilnehmen werden.
-
Im Schritt 518 beginnt die eigentliche Übertragung von Datenpaketen auf dem Feldbus. Hierzu sendet der Master 510 ein Kommando ”Block Transfer” (HART-Kommando 112) als Broadcast auf dem Feldbus. Das Kommando ”Block Transfer” wird an die im Protokoll HART festgelegte Broadcast-Adresse „00000” adressiert. Während der Massendatenübertragung befinden sich sowohl das zweite Feldgerät 512 als auch das dritte Feldgerät 513 im Empfangsmodus, was in 5B durch die vertikalen Balken 519, 520 veranschaulicht ist. Sobald ein Datenpaket von den ausgewählten Feldgeräten empfangen ist, sendet eines der ausgewählten Feldgeräte eine entsprechende Antwortnachricht zurück zum Master 510. Dabei ist es von Vorteil, wenn die verschiedenen teilnehmenden Feldgeräte die Antwortnachrichten abwechselnd entsprechend dem Prinzip der ”rollierenden Response” zum Master 510 übermitteln, denn auf diese Weise kann der Master 510 verfolgen, ob es bei irgendeinem der empfangenden Feldgeräte zu Übertragungsproblemen kommt. Bei dem in 5B gezeigten Beispiel wird der Empfang des ersten Datenpakets in Schritt 521 vom zweiten Feldgerät 512 bestätigt, und der Empfang des zweiten Datenpakets wird in Schritt 522 vom dritten Feldgerät 513 bestätigt. Dadurch bekommt der Master 510 abwechselnd Rückmeldungen von sämtlichen empfangenden Feldgeräten.
-
Zum Abschluss der Massendatenübertragung übermittelt der Master 510 im Schritt 523 als Broadcast ein gerätespezifisches Kommando ähnlich dem Kommando ”Transfer Service Control” an sämtliche an den Feldbus angeschlossenen Feldgeräte. In dem gerätespezifischen Kommando ist als Zieladresse die Broadcast-Adresse ”00000” angegeben. Eines der Feldgeräte, dessen Adresse im Header des gerätespezifischen Kommandos spezifiziert sein kann, ist dafür zuständig, im Schritt 524 zur Bestätigung des Empfangs eine Antwortnachricht zum Master 510 zu übermitteln.
-
In den 6A und 6B ist eine weitere Möglichkeit zur Durchführung einer simultanen Massendatenübertragung an mehrere Feldgeräte gezeigt. Im Unterschied zu den bisher diskutierten Beispielen erfolgt die Massendatenübertragung hier jedoch nicht per Broadcast. Stattdessen werden die verschiedenen Datenpakete jeweils an ein bestimmtes Feldgerät adressiert, und die anderen an der Massendatenübertragung teilnehmenden Feldgeräte können den Datenverkehr auf dem Feldbus mithören und das Datenpaket ebenfalls empfangen.
-
Der grundlegende Ablauf ist in 6A dargestellt. Der Master wählt in einem ersten Schritt 600 diejenigen Feldgeräte aus, die an der Massendatenübertragung als datenempfangende Feldgeräte teilnehmen sollen. Im darauffolgenden Schritt 601 sendet der Master Nachrichten an die Geräteadressen der ausgewählten Feldgeräte, um diese Feldgeräte über die bevorstehende Massendatenübertragung zu informieren. Daraufhin gehen die ausgewählten Feldgeräte im Schritt 602 in den Empfangsmodus. Im darauffolgenden Schritt 603 beginnt der Master mit der Massendatenübertragung. Dazu sendet der Master jedes der Datenpakete an die Geräteadresse von einem der ausgewählten Feldgeräte, und dieses Feldgerät empfängt das Datenpaket. Die anderen ausgewählten Feldgeräte verfolgen im Schritt 604 den Datenverkehr auf dem Feldbus und empfangen das übertragene Datenpaket ebenfalls. Im Schritt 605 sendet dasjenige Feldgerät, an das das Datenpaket adressiert war, eine Bestätigungsnachricht zum Master. Vorzugsweise wird die Adressen der Feldgeräts, an die die Datenpakete adressiert werden, ständig in einem rollierenden Verfahren unter den ausgewählten Feldgeräten durchgewechselt. Auf diese Weise erhält der Master Rückmeldungen von sämtlichen an der Massendatenübertragung teilnehmenden Feldgeräten. Anhand dieser Rückmeldungen kann der Master relativ zeitnah feststellen, wenn es bei der Datenübertragung zu einem der ausgewählten Feldgeräte zu Übertragungsfehlern kommt. In diesem Fall übermittelt der Master die fehlerhaft übertragenen Datenpakete im Schritt 606 noch einmal. Im Schritt 607 sendet der Master eine Abschlussnachricht an die ausgewählten Feldgeräte.
-
Bei dem in 6A gezeigten Übertragungsschema wird zunächst während einer Anfangsphase 608 eine Massendatenübertragung zu ausgewählten Feldgeräten aufgesetzt, anschließend wird während einer Übertragungsphase 609 die eigentliche Massendatenübertragung sowie eine eventuell notwendige Fehlerkorrektur durchgeführt, und anschließend wird während einer Abschlussphase 610 die Massendatenübertragung beendet. Das in 6A gezeigte Ablaufschema kann in sämtlichen gängigen Feldbusprotokollen implementiert werden, beispielsweise in den Feldbusprotokollen HART, Profibus, Foundation Fieldbus, etc.
-
In 6B ist gezeigt, wie das in 6A gezeigte Ablaufschema im Feldbusprotokoll HART realisiert werden kann. Dazu ist in 6B der Austausch von Nachrichten zwischen einem Master 611, einem ersten Feldgerät 612, einem zweiten Feldgerät 613 und einem dritten Feldgerät 614 gezeigt.
-
Zunächst wählt der Master 611 das zweite Feldgerät 613 und das dritte Feldgerät 614 als Teilnehmer einer bevorstehenden Massendatenübertragung aus und informiert die beiden Feldgeräte 613 und 614 über die bevorstehende Massendatenübertragung. Im Schritt 615 übermittelt der Master 611 ein Kommando ”Transfer Service Control” (HART-Kommando 111) an die Geräteadresse des zweiten Feldgeräts 613. Mit dem Kommando ”Transfer Service Control” informiert der Master 611 das zweite Feldgerät 613 darüber, dass eine Massendatenübertragung bevorsteht, und dass das zweite Feldgerät 613 in den Empfangsmodus gehen und die Datenpakete empfangen soll. Im Schritt 616 bestätigt das zweite Feldgerät 613 den Empfang dieses Kommandos durch Übermittlung einer Antwortnachricht zum Master 611. Auch das dritte Feldgerät 614 wird über die bevorstehende Massendatenübertragung unterrichtet. Hierzu übermittelt der Master 611 im Schritt 617 ein Kommando ”Transfer Service Control” an die Adresse des dritten Geräts 614, mit dem das dritte Feldgerät 614 darüber informiert wird, dass es die im Folgenden übertragenen Daten empfangen soll. Im Schritt 618 bestätigt das dritte Feldgerät 614 den Empfang dieses Kommandos mittels einer Antwortnachricht.
-
Anschließend beginnt der Master 611 mit der eigentlichen Datentübertragung. Im Schritt 619 wird das erste Datenpaket mittels des Kommandos ”Block Transfer” (HART-Kommando 112) über den Feldbus an die Geräteadresse des zweiten Feldgeräts 613 übertragen. Das zweite Feldgerät 613 befindet sich im Empfangsmodus und empfängt das erste Datenpaket, wie durch den vertikalen Balken 620 veranschaulicht ist. Außerdem ist auch das dritte Feldgerät 614 im Empfangsmodus und empfängt das erste Datenpaket durch Mithören auf dem Bus, was in 6B durch den vertikalen Balken 621 veranschaulicht ist. Auf diese Weise kann das dritte Feldgerät 614 das Datenpaket empfangen, obwohl das Datenpaket nicht an das dritte Feldgerät 614 adressiert ist. Nach dem Empfang des ersten Datenpakets sendet das zweite Feldgerät 613 im Schritt 622 eine Bestätigungsnachricht an den Master 611.
-
Im Schritt 623 wird das zweite Datenpaket mittels des Kommandos ”Block Transfer” (HART-Kommando 112) über den Feldbus an die Geräteadresse des dritten Feldgeräts 614 übertragen. Das dritte Feldgerät 614 befindet sich im Empfangsmodus und empfängt das zweite Datenpaket, wie durch den vertikalen Balken 624 veranschaulicht ist. Auch das zweite Feldgerät 614 ist im Empfangsmodus und empfängt das zweite Datenpaket durch Mithören auf dem Bus, wie durch den vertikalen Balken 625 veranschaulicht ist. Nach dem Empfang des ersten Datenpakets sendet das dritte Feldgerät 614 im Schritt 626 eine Bestätigungsnachricht an den Master 611.
-
Der Master 611 überträgt nacheinander sämtliche Datenpakete zu den ausgewählten Feldgeräten. Durch das Durchwechseln der Geräteadresse, an die ein Datenpaket adressiert wird, erhält der Master 611 Rückmeldungen von sämtlichen ausgewählten Feldgeräten, in 6B also vom zweiten Feldgerät 613 und vom dritten Feldgerät 614. Falls es bei der Datenübertragung zu einzelnen ausgewählten Feldgeräten zu Übertragungsproblemen kommt, können die fehlerhaft übertragenen Datenpakete im Anschluss an die eigentliche Datenübertragung erneut übermittelt werden.
-
Nachdem das letzte Datenpaket übermittelt ist, signalisiert der Master den ausgewählten Feldgeräten 613 und 614, dass die Massendatenübertragung beendet ist. Hierzu übermittelt der Master 611 in Schritt 627 ein Kommando ”Transfer Service Control” (HART-Kommando 111) an die Adresse des zweiten Feldgeräts 613. Mit dem Kommando ”Transfer Service Control” wird dem zweiten Feldgerät 613 mitgeteilt, dass die Massendatenübertragung abgeschlossen ist. Im Schritt 628 sendet das zweite Feldgerät 613 eine Antwortnachricht zum Master 611. Im Schritt 629 wird ein Kommando ”Transfer Service Control” (HART-Kommando 111) an die Adresse des dritten Feldgeräts 614 übermittelt, um über den Abschluss der Massendatenübertragung zu informieren. Das dritte Feldgerät 614 schickt daraufhin im Schritt 630 eine Antwortnachricht zum Master 611.