-
Die Erfindung bezieht sich auf ein Verfahren zum Datenaustausch über ein Bussystem, wobei eine zum Datenaustausch bestimmte Datenmenge aus mehreren Datenpaketen besteht, welche Datenpakete entsprechend einer vorgegebenen Reihenfolge von einem zweiten Teilnehmer des Bussystems an einen ersten Teilnehmer des Bussystems übertragen werden sollen.
-
Weiterhin bezieht sich die Erfindung auf ein Computerprogrammprodukt und eine Vorrichtung zur Durchführung des Verfahrens.
-
In der Prozess- ebenso wie in der Fabrikautomatisierungstechnik werden vielfach Feldgeräte eingesetzt, die zur Erfassung und/oder Beeinflussung von Prozessgrößen dienen. Zur Erfassung von Prozessgrößen dienen Messgeräte, wie beispielsweise Füllstandsmessgeräte, Durchflussmessgeräte, Druck- und Temperaturmessgeräte, pH-Messgeräte, Leitfähigkeitsmessgeräte, usw., welche die entsprechenden Prozessgrößen Füllstand, Durchfluss, Druck, Temperatur, pH-Wert bzw. Leitfähigkeit erfassen. Zur Beeinflussung der Prozessgrößen werden Aktoren verwendet, wie Ventile oder Pumpen, über die z. B. der Durchfluss einer Flüssigkeit in einer Rohrleitung oder der Füllstand eines Mediums in einem Behälter geändert wird. Als Feldgeräte werden auch alle Geräte bezeichnet, die prozessnah eingesetzt werden und die prozessrelevante Informationen liefern oder verarbeiten. Neben den zuvor genannten Messgeräten/Sensoren und Aktoren werden als Feldgeräte allgemein auch solche Einheiten bezeichnet, die direkt an einem Feldbus angeschlossen sind und zur Kommunikation mit der übergeordneten Einheit dienen, wie z. B. Remote I/Os, Gateways, Linking Devices und Wireless Adapter bzw. Funkadapter. Eine Vielzahl solcher Feldgeräte wird von der Endress + Hauser-Gruppe hergestellt und vertrieben.
-
In modernen Industrieanlagen erfolgt die Kommunikation zwischen zumindest einer übergeordneten Steuereinheit und/oder den Feldgeräten in der Regel über ein Bussystem, wie beispielsweise Profibus® PA, Foundation Fieldbus® oder HART®. Die Bussysteme können sowohl drahtgebunden als auch drahtlos ausgestaltet sein. Die übergeordnete Steuereinheit dient zur Prozesssteuerung, zur Prozessvisualisierung, zur Prozessüberwachung sowie zur Inbetriebnahme und Bedienung der Feldgeräte. Die von den Feldgeräten, insbesondere von Sensoren, erfassten Messwerte werden über das jeweilige Bussystem an eine (oder gegebenenfalls mehrere) übergeordnete Einheit(en) und/oder an andere Feldgeräte übermittelt.
-
Feldgeräte als auch übergeordnete Einheiten fungieren dabei also als Teilnehmer des Bussystems. Die Teilnehmer des Bussystems verfügen zu Kommunikationszwecken über Busadressen, so dass zwischen den Teilnehmern Daten bspw. in Form von adressierten Telegrammen ausgetauscht werden können. Daneben ist auch eine Datenübertragung, insbesondere zur Konfigurierung und Parametrierung von Feldgeräten sowie zur Ansteuerung von Aktoren, erforderlich. Vermittels bspw. des Profibus-Protokolls erfolgt ein Zugriff auf einen Parameter eines Teilnehmers über sog. Write- und Read-Dienste. So wird über den Befehl „Write.req” ein Parametrierauftrag bspw. an einen Slave übertragen. Der Master sendet den Befehl „Read.req”, um einen Parameterwert abzuholen.
-
Aus der Patentschrift
DE 102006054124 B4 ist ein Verfahren zur Datenübertragung zwischen zwei Teilnehmern eines Kommunikationssystems bekannt geworden, wobei eine Datennachricht von dem ersten Teilnehmer an den zweiten Teilnehmer übertragen wird und der zweite Teilnehmer eine Quittierungsnachricht an den ersten Teilnehmer zurücksendet, wobei sowohl die Datennachricht als auch die Quittierungsnachricht überprüft werden.
-
Nachteilig bei den zuvor genannten Verfahren ist, dass relativ viele Ressourcen, wie bspw. Speicherplatz, Auswerteeinheiten etc., benötigt werden, um eine Datenübertragung durchzuführen.
-
Der Erfindung liegt daher die Aufgabe zugrunde, ein gegenüber dem Stand der Technik effizienteren und gleichzeitig sicheren Datenaustausch zwischen Teilnehmern eines Bussystems zu ermöglichen.
-
Die Aufgabe wird hinsichtlich des Verfahrens erfindungsgemäß dadurch gelöst, dass zum Zweck des Datenaustauschs eine erste Datenabfrage von dem ersten Teilnehmer an den zweiten Teilnehmer gesendet wird, wobei als Erwiderung auf die erste Datenabfrage ein erstes Datenpaket von dem zweiten Teilnehmer an den ersten Teilnehmer gesendet wird, wobei, insbesondere nachdem der erste Teilnehmer das erste Datenpaket empfangen hat, eine zweite Datenabfrage von dem ersten Teilnehmer an den zweiten Teilnehmer über das Bussystem gesendet wird, wobei als Erwiderung auf die zweite Datenabfrage ein zweites Datenpaket von dem zweiten Teilnehmer an den ersten Teilnehmer gesendet wird, wobei es sich bei dem zweiten Datenpaket entweder um das erste Datenpaket oder um ein entsprechend der vorgegebenen Reihenfolge der Datenpakete auf das erste Datenpaket folgendes Datenpaket handelt, wobei die erste und die zweite Datenabfrage jeweils einen Parameter mit einem ersten oder einem zweiten Parameterwert enthalten, wobei in dem Fall, dass die Parameterwerte der ersten und zweiten Datenabfrage übereinstimmen, das erste Datenpaket gesendet wird, wobei in dem Fall, dass die Parameterwerte der ersten und zweiten Datenabfrage sich unterscheiden, das entsprechend der vorgegebenen Reihenfolge auf das erste Datenpaket folgende Datenpaket gesendet wird.
-
Es wird also vorgeschlagen, die Übertragung der Datenpakete anhand wenigstens eines Parameters, der vorzugsweise mindestens zwei unterschiedliche Parameterwerte, besonders bevorzugt genau zwei unterschiedliche Parameterwerte annehmen kann, durchzuführen. Andererseits kann auch ein Parameter verwendet werden, der mehr als zwei Parameterwerte annehmen kann, von denen aber nur zwei Paramterwerte verwendet werden, um die Datenübertragung durchzuführen. Zusammen mit einer Datenabfrage kann dann der erste oder zweite Parameterwert, insbesondere in demselben Telegramm wie die Datenabfrage, übertragen werden. Zur Bestimmung des als nächstes, insbesondere entsprechend der vorgegebenen Reihenfolge als nächstes, zu übertragenden Datenpakets können dann die Parameterwerte zweier aufeinander folgender Datenabfragen miteinander verglichen werden und ausgehend von dem Vergleich das nächste zu übertragende Datenpaket zur Verfügung gestellt, d. h. an den ersten Teilnehmer übermittelt werden. Durch die verwendeten Parameterwerte, die bspw. zusammen mit einer Datenabfrage an den zweiten Teilnehmer übertragen werden, kann insbesondere auch seitens des zweiten Teilnehmers sichergestellt werden, dass das zuletzt übertragene Datenpaket vollständig und/oder fehlerfrei an den ersten Teilnehmer übertragen wurde. Insbesondere kann dadurch auf einfache Art und Weise das zuletzt gesendete Datenpaket erneut versendet werden, ohne dass ein großer Aufwand bzgl. Adressierung, Überprüfung der Datenpakete etc. betrieben werden muss. Ein weiterer Vorteil des vorgeschlagenen Verfahrens ist, dass zwar bspw. die Gerätebeschreibung (engl. device description DD) und die Firmware z. B. eines Feldgerätes zur Durchführung des Verfahrens angepasst werden müssen, jedoch die vorhandenen Protokolle, Programme und/oder Programmierumgebungen nicht geändert zu werden brauchen. Auch kann im Fall einer fehlgeschlagenen Datenübertragung bzw. in dem Fall, dass ein und dasselbe Datenpaket mehrmals übertragen wird, eine Fehlermeldung ausgegeben bzw. einem Benutzer eine entsprechende Meldung angezeigt werden.
-
Das Bussystem kann dabei, wie eingangs erwähnt, ein kabelgebundenes oder ein drahtloses Netzwerk sein. Die Teilnehmer des Bussystems weisen zudem vorzugsweise jeweils mindestens eine Kommunikationsschnittstelle auf, die zur Datenübertragung über das Bussystem bzw. zur Kommunikation mit anderen Teilnehmern des Bussystems dient. Ganz allgemein kann dabei als Teilnehmer eines Bussystems eine Einheit verstanden werden, die über eine Adresse verfügt, über die Daten an die Einheit adressiert und übertragen werden können. Besonders bevorzugt handelt es sich bei dem Bussystem um einen Profibus, d. h. ein Bussystem bei dem das Profibus-Protokoll zur Datenübertragung verwendet wird. Bei dem Bussystem kann es sich aber bspw. auch um eines der aus dem Stand der Technik bekannten Bussysteme wie bspw. Foundation Fieldbus etc. handeln. Andererseits kann es sich aber auch um ein geräteinternes Bussystem, d. h. einen Datenbus, handeln, bei dem verschiedene Module eines Gerätes wie Teilnehmer eines Bussystems agieren.
-
In einer Ausgestaltung des Verfahrens kann der Parameter nur den ersten oder den zweiten Parameterwert annehmen und wird zur Durchführung, insbesondere zur Kontrolle, des Datenaustauschs verwendet. Dadurch dass nur zwei Parameterwerte verwendet werden, kann eine im Vergleich zu den aus dem Stand der Technik bekannten Verfahren resourcenschonende Datenübertragung, insbesondere mit einem geringen Speicherplatzbedarf, erfolgen.
-
In einer weiteren Ausgestaltung des Verfahrens wird die auszutauschende Datenmenge in Datenpakete geteilt und die Datenpakete werden entsprechend einer vorgegebenen Reihenfolge von dem zweiten Teilnehmer an den ersten Teilnehmer übertragen. Da die Datenpakete bspw. in Form von Telegrammen an den ersten Teilnehmer überfragen werden und in einem Telegramm je nach verwendetem Protokoll nur eine begrenzte Datenkapazität zur Verfügung steht, ist es erforderlich, bei einer Datenübertragung über ein Bussystem die Datenmenge in mehrere Datenpakete zu unterteilen. Weiterhin ist es erforderlich, diese Datenpakete gemäß einer vorbestimmten Reihenfolge zu übertragen, damit sie seitens des Empfängers, hier des ersten Teilnehmers, wieder zusammengesetzt werden können. Dadurch kann die, insbesondere lückenlose, serielle Übertragung der Datenmenge bzw. der Datenpakete sichergestellt werden.
-
In einer weiteren Ausgestaltung des Verfahrens werden die Datenpakete, die Teil einer von dem zweiten Teilnehmer an den ersten Teilnehmer zu übertragenden Datenmenge sind, die in dem zweiten Teilnehmer, insbesondere einer Speichereinheit des zweiten Teilnehmers, wenigstens zeitweise gespeichert. Bei der Datenmenge kann es sich bspw. um von einem Feldgerät, insbesondere einem Messgerät, aufgenommene prozessrelevante Daten wie bspw. Messdaten handeln. Diese Daten können bspw. zu Auswerte-, Weiterverarbeitungs- oder Vorverarbeitungszwecken an einen anderen Teilnehmer des Bussystems, hier den ersten Teilnehmer, übertragen werden, um daraus bspw. eine Hüllkurve der aufgenommenen Messdaten zu berechnen und/oder um die Daten einem Benutzer anzuzeigen.
-
In einer weiteren Ausgestaltung des Verfahrens werden die Datenpakete nummeriert, und die Reihenfolge, in welcher die Datenpakete an den ersten Teilnehmer übertragen werden, wird in Abhängigkeit der Datenabfragen und der übermittelten Parameterwerte festgelegt. Den Datenpaketen kann demnach eine Ordnungszahl oder anderweitige Kenngröße zugeschrieben werden, so dass eine Position eines Datenpakets in einer Folge von Datenpaketen angegeben werden kann. Die Nummerierung kann bspw. bei der Erstellung der Datenpakete insbesondere auch in den Datenpaketen selbst gespeichert werden. Anhand dieser Nummerierung kann die Reihenfolge, in welcher die Datenpakete übertragen werden bzw. übertragen werden sollen, festgelegt werden. Bei einem Fehler bei der Datenübertragung über das Bussystem werden, wie bereits erwähnt, zwei aufeinander folgende Datenabfragen bspw. mit demselben Parameterwert übertragen. Dies hat zur Folge, dass das zuletzt übertragene Datenpaket anhand der vorgenommenen Nummerierung ausgewählt und erneut gesendet werden kann.
-
In einer weiteren Ausgestaltung des Verfahrens umfasst der zweite Teilnehmer einen Zähler, wobei nach dem Empfang zweier hintereinander eintreffender Datenabfragen und entsprechender Parameterwerte, der Zähler geändert, insbesondere erhöht oder erniedrigt, wird, wenn die Datenabfragen unterschiedliche Parameterwerte beinhalten, und der Zähler unverändert bleibt, wenn die Datenabfragen denselben Parameterwert beinhalten. In Zusammenhang mit der Nummerierung der Datenpakete kann demnach ein Zähler vorgesehen sein, der das zu versendende Datenpaket anzeigt. So kann bspw. dasjenige Datenpaket gesendet werden bzw. zum Versenden vorgesehen sein, dessen Nummerierung mit dem momentanen Wert des Zählers übereinstimmt. Bei dem Zähler kann es sich auch um einen Zeiger (engl. Pointer) handeln, der eine spezielle Speicheradresse enthält, und der insbesondere nach dem Empfang einer Datenabfrage das als nächstes zu übertragende Datenpaket adressiert. Der Zähler kann dann in Abhängigkeit der zusammen mit einer Datenabfrage gesendeten Parameterwerte geändert, bspw. inkrementiert oder dekrementiert, werden oder unverändert verbleiben und so das als nächstes auf eine Datenabfrage des ersten Teilnehmers hin zu versendende Datenpaket anzeigen.
-
In einer weiteren Ausgestaltung des Verfahrens besteht zwischen dem Wert des Zählers und der Nummerierung der Datenpakete ein Zusammenhang, und auf eine Datenabfrage wird das jeweils dem gerade gültigen Wert des Zählers entsprechende Datenpaket übertragen.
-
In einer weiteren Ausgestaltung des Verfahrens wird durch den ersten Teilnehmer die Integrität des empfangenen Datenpakets überprüft und in Abhängigkeit des Ergebnisses der Überprüfung wird entweder der erste oder der zweite Parameterwert mit der folgenden Datenabfrage übertragen. Der Parameterwert, welcher zusammen mit einer Datenabfrage übermittelt wird, wird in dieser Ausgestaltung durch die Überprüfung des von dem ersten Teilnehmer empfangenen Datenpakets ermittelt. Die von dem zweiten Teilnehmer gesendeten und vom ersten Teilnehmer empfangenen Datenpakete unterliegen während der Übertragung über ein physikalisches Medium wie bspw. Kabelleitungen vor allem elektromagnetischen Störeinflüssen, welche die Daten, die bspw. digital in Form von Bits vorliegen, verfälschen können. Bspw. kann die Integrität eines von dem ersten Teilnehmer empfangenen Datenpakets vermittels einer Checksumme überprüft werden. Der zweite Teilnehmer benötigt demnach keine Auswerteeinheit oder einen redundanten Datenkanal, vermittels welchem die Übertragung eines gesendeten Datenpaketes überprüft oder sicherstellt wird.
-
Hinsichtlich des Computerprogrammprodukts wird die Aufgabe dadurch gelöst dass ein ausführbarer Programmcode vorgesehen ist, wobei beim Ausführen des Programmcodes ein Verfahren zum Datenaustausch nach wenigstens einem der vorherigen Ansprüche durchgeführt wird. Der Programmcode kann dafür auf einer computerlesbaren Speichereinheit gespeichert sein.
-
Hinsichtlich der Vorrichtung wird die Aufgabe dadurch gelöst, dass entsprechende Mittel zur Durchführung des Verfahrens nach wenigstens einer der vorherigen Ausgestaltungen zur Verfügung stehen. Die Vorrichtung kann bspw. einen ersten und einen zweiten Teilnehmer umfassen, welche über ein Bussystem miteinander verbunden sind. Zudem kann sowohl der erste als auch der zweite Teilnehmer über eine Recheneinheit verfügen, die zur Durchführung der Verfahrensschritte dient. Insbesondere kann die mit dem ersten Teilnehmer verbundene Recheneinheit mit einer ersten Kommunikationsschnittstelle in Verbindung stehen, welche Kommunikationsschnittstelle zum Übertragen der Datenanfragen über das Bussystem dient. Genauso kann auch der zweite Teilnehmer über eine zweite Kommunikationsschnittstelle verfügen, die zur Durchführung der Kommunikation über das Bussystem dient.
-
Die Erfindung wird anhand der nachfolgenden Zeichnungen näher erläutert.
-
Es zeigt:
-
1: eine vereinfachte Darstellung des Ablaufs bei einer Datenübertagung gemäß eines Verfahrens aus dem Stand der Technik,
-
2: eine vereinfachte Darstellung des Ablaufs bei einer Datenübertagung gemäß eines anderen Verfahrens aus dem Stand der Technik,
-
3: eine vereinfachte Darstellung des Ablaufs bei einer Datenübertagung gemäß eines wiederum anderen Verfahrens aus dem Stand der Technik,
-
4: eine schematische Darstellung des Ablaufs bei einer Datenübertragung gemäß einer Ausgestaltung der vorgeschlagenen Erfindung,
-
5: eine schematische Darstellung des Ablaufs bei einer Datenübertragung gemäß einer weiteren Ausgestaltung der vorgeschlagenen Erfindung,
-
6: eine schematische Darstellung eines Zustandsdiagramms betreffend den Ablauf einer Datenübertragung gemäß einer Ausgestaltung der vorgeschlagenen Erfindung.
-
1 zeigt ein Ablaufdiagramm gemäß eines aus dem Stand der Technik bekannten Verfahrens. Die zu übertragende Datenmenge ist in k Datenpakete geteilt, die jeweils n Bits umfassen, wobei k und n ganze Zahlen sind. Die Datenmenge umfasst demnach insgesamt k·n Bits, die an den ersten Teilnehmer zu übertragen sind. Zum Abrufen der Datenpakete sendet der erste Teilnehmer T1 eine erste Datenabfrage „Read Request” an den zweiten Teilnehmer T2. Dieser beantwortet die Datenabfrage mit einem ersten Datenpaket „(Data (1..n))”, welches die Bits 1 bis n der zu übertragenden Datenmenge enthält. Das erste Datenpaket wird in Form eines Telegramms „Response (Data (1..n))” übertragen. Nach Erhalt des ersten Datenpakets „(Data (1..n))” sendet der erste Teilnehmer eine zweite Datenabfrage „Read Request” an den zweiten Teilnehmer T2. Der zweite Teilnehmer T2 antwortet mit dem Übermitteln eines zweiten Datenpakets „(Data (n + 1..2n))”, welches die Bits n + 1 bis 2n der Datenmenge enthält. Auch das zweite Datenpaket wird dabei in Form eines Telegramms „Response (Data (n + 1..2n))” übertragen. Dabei wird immer dieselbe Datenabfrage „Read Request” benutzt. Bei dem ersten Teilnehmer kann es sich bspw. um einen Master handeln, der einen Record-Parameter vermittels der „Read Request” liest, welcher Record-Parameter bei jeder Leseoperation automatisch ein neues Datenpaket enthält. Der Nachteil dieser Methode liegt allerdings darin, dass bei der Übertragung verloren gegangene Daten oder Datenpakete, nicht erkannt werden.
-
2 zeigt ein Ablaufdiagramm eines weiteren aus dem Stand der Technik bekannten Verfahrens. Alternativ zu dem in 1 gezeigten Verfahren kann ein Master einen zweiten Parameter beschreiben, welcher als Index dient. Dabei wird über den Parameter „Write Request” ein Zähler über den Befehl „Counter++” erhöht. Der Zähler ist dazu in dem zweiten Teilnehmer T2 untergebracht. Verloren gegangene Daten/Datenpakete können somit durch einen erneuten „Read Request” wiederholt angefordert werden. Soll das nächste Datenpaket übertragen werden wird zwischen zwei „Read Request” Datenabfragen ein „Write Request” an den zweiten Teilnehmer übermittelt. Nachteilig dabei ist aber die ineffektive, da zeitaufwendige Übertragung, da zwei Parameterzugriffe, d. h. erst ein Schreibzugriff und dann ein Lesezugriff, erfolgen. In einigen Bussystemen BS eingesetzte Protokolle wie bspw. HART können gleichzeitig mit der Leseanfrage, d. h. mit dem „Read Request”-Telegramm, auch Daten, wie bspw. einen Zähler „Counter++” übertragen. Beim Profibus-Protokoll bspw. besteht diese Möglichkeit jedoch nicht.
-
Auch 3 zeigt schematisch ein weiteres aus dem Stand der Technik bekanntes Verfahren zur Datenübertragung. Ist die Datenmenge immer gleich und nicht sehr groß, besteht auch die Möglichkeit, jedes Datenpaket über einen eigenen Parameterwert abzurufen. Durch die Datenabfrage „Read Request” mit dem ersten Parameterwert „Parameter 1” wird dann das erste Datenpaket „(Data 1..n)” mit den ersten n Bits abgerufen, durch die zweite Datenabfrage „Read Request” mit dem zweiten Parameterwert „Parameter 2” die zweiten n Bits usw. Bei größeren Datenmengen ist diese Methode jedoch unpraktisch bis gar nicht praktikabel, da eine Vielzahl von Parameterwerten verwendet werden muss.
-
4 zeigt ein Ablaufdiagramm gemäß einer Ausgestaltung der vorgeschlagenen Erfindung. Die zu übertragende Datenmenge ist in mehrere hier gleich große Datenpakete k unterteilt. Die Datenpakete können aber auch unterschiedlicher Größe sein, d. h. eine unterschiedliche Anzahl an Bits enthalten. In dem in 4 gezeigten Ausführungsbeispiel beinhaltet ein Datenpaket n Bits. Die Datenmenge bzw. die Datenpakete können dabei in einer oder mehrere Speichereinheiten wie bspw. einem Datenpuffer des zweiten Teilnehmers vorliegen.
-
Zum Datenaustausch werden üblicherweise Telegramme zwischen dem ersten und dem zweiten Teilnehmer ausgetauscht. Die Telegramme sind je nach verwendetem Protokoll in unterschiedliche Sequenzen unterteilt, die verschiedenen Zwecken dienen. Eine Sequenz kann bspw. zur Identifizierung des Telgrammtyps dienen. Unter Telegrammtyp ist hierbei bspw. im Profibus-Protokoll die bereits erwähnten „Read.req”, „Read.res”, „Write.req” Telegramme etc. zu verstehen. Die Übertragung einer bestimmten Datenmenge kann erforderlich sein, wenn z. B. ein Benutzer eines Bedientools eine Funktion abruft, die Daten von einem anderen Teilnehmer des Bussystems benötigt. Da in einem Telegramm üblicherweise nur eine begrenzte Datenkapazität zur Datenübertragung zur Verfügung steht, muss die Datenmenge ggf. in mehrere Datenpakete unterteilt werden. Ein Datenaustausch beginnt dann gewöhnlich mit einer Datenabfrage, d. h. einem „Read Request”. Die Datenabfrage wird von dem ersten Teilnehmer T1 an den zweiten Teilnehmer T2 übermittelt und enthält einen ersten Parameter mit einem vorgegebenen Parameterwert „Parameter 1”. Bei dem Parameterwert kann es sich bspw. um eine geräteinterne Speicheradresse, einen Index oder Slot handeln.
-
Der zweite Teilnehmer T2 überträgt als Erwiderung auf die erste Datenabfrage „Read Request Parameter1” die ersten n Bits der Datenmenge in Form eines Datenpakets „(Data (1..n))”. Diese Bits werden vermittels eines „Response” Telegramms an den ersten Teilnehmer T1 übertragen. Das Datenpaket „Data (1..n)” wird dann durch den ersten TeilnehmerT1 überprüft. Ist das Datenpaket erfolgreich, d. h. ohne Integritätsverlust, an den ersten Teilnehmer T1 übertragen worden, so kann mit dem Datenaustausch fortgefahren und ein zweites Datenpaket übetragen werden. Der erste Teilnehmer sendet anschließend eine zweite Datenabfrage „Read Request” mit einem Parameter der den zweiten Parameterwert „Parameter 2”, der sich vom ersten Parameterwert „Parameter 1” unterscheidet, beinhaltet. Auch bei dem zweiten Parameterwert „Parameter 2” kann es sich um eine Adresse eines Speicherbereichs handeln. Alternativ kann es sich bei den Parameterwerten um einen Slot oder Index des zweiten Teilnehmers handeln. Als Erwiderung auf diese zweite Datenabfrage „Read Request” mit dem zweiten Parameterwert „Parameter 2” überträgt der zweite Teilnehmer T2 die Bits n + 1 bis 2n in einem zweiten Datenpaket „Data (n + 1..2n)” an den ersten Teilnehmer. Der erste Teilnehmer T1 überprüft auch dieses zweite von ihm empfangene Datenpaket indem bspw. eine entsprechende Checksumme gebildet wird. Ist die Übertragung des zweiten Datenpakets erfolgreich verlaufen, so sendet der erste Teilnehmer T1 eine weitere, dritte Datenabfrage „Read request Parameter 1” an den zweiten Teilnehmer T2. Diese dritte Datenabfrage enthält nun wieder den ersten Parameterwert „Parameter 1”. Der zweite Teilnehmer überträgt dann nach Empfang der dritten Datenabfrage das die Bits 2n + 1 bis 3n in einem dritten Datenpaket „Data (2n + 1..3n)” an den ersten Teilnehmer. Auf diese Art und Weise kann mit der Datenübertragung fortgefahren werden bis alle zu der Datenmenge gehörenden Datenpakete übertragen worden sind.
-
Der Fall dass ein Datenpaket nicht oder nicht vollständig sondern fehlerhaft übertragen wird ist in 5 dargestellt. Auch hier beginnt die Datenübertragung mit einer Datenabfrage in Form eines Telegramms. Allerdings tritt während der Übertragung ein Fehler auf, so dass das erste Datenpaket fehlerhaft an den ersten Teilnehmer übertragen wird. Durch eine Überprüfung des ersten Datenpakets vermittels des ersten Teilnehmers T1 wird der Fehler festgestellt. Daraufhin wird eine zweite Datenabfrage an den zweiten Teilnehmer T2 gesendet, die nun auch wie die vorgehende, erste Datenabfrage den ersten Parameterwert „Parameter 1” enthält. Der zweite Teilnehmer T2 überträgt dann die in dem vorhergehenden Datenpaket enthaltenen Daten, d. h. die Bits 1 bis n erneut. Ist die Datenübertragung der Bits 1 bis n geglückt, so sendet der erste Teilnehmer T1 eine Datenabfrage die den zweiten Parameterwert „Parameter 2” enthält. Daraufhin sendet der zweite Teilnehmer T2 das Datenpaket, welches entsprechend der vorgegebenen Reihenfolge der zur Übertragung bestimmten Datenpakete festgelegt ist.
-
6 zeigt ein Zustandsdiagramm das den Verfahrensablauf bzw. den Kontrollfluss eines Programms, welches das Verfahren implementiert, anhand von Zuständen und Zustandsübergängen wiedergibt.
-
Zustandsübergang 1: Das System S befindet sich im Zustand „A”. Es liegt eine Leseanforderung nach „Parameter 1” vor, die mit einem Datenpaket m beantwortet wird. Das System S bleibt im Zustand „A”, jede weitere Leseanforderung nach „Parameter 1” wird mit dem gleichen Datenpaket m beantwortet. Die eingeführte Ordnungszahl m ist dabei eine natürliche Zahl. Vermittels der Ordnungszahl können bspw. die zu übertragenden Datenpakete identifiziert werden, indem einer Ordnungszahl bspw. ein Datenpaket zugeordnet wird.
-
Zustandsübergang 2: Das System S befindet sich im Zustand „A”. Es liegt eine Leseanforderung nach „Parameter 2” vor, die mit dem nächsten Datenpaket I = m + 1 beantwortet wird. Das System S wechselt in den Zustand B”.
-
Zustandsübergang 3: Das System S befindet sich im Zustand „B”. Es liegt eine Leseanforderung nach „Parameter 2” vor, die mit dem gleichen Datenpaket I wie aus Zustandsübergang 2 beantwortet wird. Das System S bleibt im Zustand „B”, jede weitere Leseanforderung nach „Parameter 2” wird mit dem gleichen Datenpaket I beantwortet.
-
Zustandsübergang 4: Das System S befindet sich im Zustand „B”. Es liegt eine Leseanforderung nach „Parameter 1” vor, die mit dem nächsten Datenpaket m = I + 1 beantwortet wird. Das System S wechselt in Zustand „A”.
-
Bezugszeichenliste
-
- T1
- erster Teilnehmer
- T2
- zweiter Teilnehmer
- BS
- Bussystem
- S
- System
- 1
- Zustandsübergang 1
- 2
- Zustandsübergang 2
- 3
- Zustandsübergang 3
- 4
- Zustandsübergang 4
- A
- Zustand A
- B
- Zustand B
-
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 Patentliteratur
-
- DE 102006054124 B4 [0006]