DE102010003741A1 - Verfahren zum Datenaustausch - Google Patents

Verfahren zum Datenaustausch Download PDF

Info

Publication number
DE102010003741A1
DE102010003741A1 DE102010003741A DE102010003741A DE102010003741A1 DE 102010003741 A1 DE102010003741 A1 DE 102010003741A1 DE 102010003741 A DE102010003741 A DE 102010003741A DE 102010003741 A DE102010003741 A DE 102010003741A DE 102010003741 A1 DE102010003741 A1 DE 102010003741A1
Authority
DE
Germany
Prior art keywords
data
subscriber
data packet
transmitted
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102010003741A
Other languages
English (en)
Inventor
Markus Kilian
Andrea Seger
Bert Von Stein
Christian Wandrei
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Endress and Hauser SE and Co KG
Original Assignee
Endress and Hauser SE and Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Endress and Hauser SE and Co KG filed Critical Endress and Hauser SE and Co KG
Priority to DE102010003741A priority Critical patent/DE102010003741A1/de
Priority to US13/080,698 priority patent/US8554966B2/en
Publication of DE102010003741A1 publication Critical patent/DE102010003741A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

Verfahren zum Datenaustausch über ein Bussystem (BS), wobei eine zum Datenaustausch bestimmte Datenmenge, aus mehreren Datenpaketen besteht, welche Datenpakete entsprechend einer vorgegebenen Reihenfolge von einem zweiten Teilnehmer (T2) des Bussystems (BS) an einen ersten Teilnehmer (T1) des Bussystems (BS) übertragen werden sollen, wobei zum Zweck des Datenaustauschs eine erste Datenabfrage von dem ersten Teilnehmer (T!) an den zweiten Teilnehmer (T2) gesendet wird, wobei als Erwiderung auf die erste Datenabfrage ein erstes Datenpaket von dem zweiten Teilnehmer (T2) an den ersten Teilnehmer (T1) gesendet wird, wobei, insbesondere nachdem der erste Teilnehmer (T1) das erste Datenpaket empfangen hat, eine zweite Datenabfrage von dem ersten Teilnehmer (T1) an den zweiten Teilnehmer (T2) über das Bussystem (BS) gesendet wird, wobei als Erwiderung auf die zweite Datenabfrage ein zweites Datenpaket von dem zweiten Teilnehmer (T2) an den ersten Teilnehmer (T1) 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.

Description

  • 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]

Claims (10)

  1. Verfahren zum Datenaustausch über ein Bussystem (BS), wobei eine zum Datenaustausch bestimmte Datenmenge, aus mehreren Datenpaketen besteht, welche Datenpakete entsprechend einer vorgegebenen Reihenfolge von einem zweiten Teilnehmer (T2) des Bussystems (BS) an einen ersten Teilnehmer (T1) des Bussystems (BS) übertragen werden sollen, wobei zum Zweck des Datenaustauschs eine erste Datenabfrage von dem ersten Teilnehmer (T1) an den zweiten Teilnehmer (T2) gesendet wird, wobei als Erwiderung auf die erste Datenabfrage ein erstes Datenpaket von dem zweiten Teilnehmer (T2) an den ersten Teilnehmer (T1) gesendet wird, wobei, insbesondere nachdem der erste Teilnehmer (T1) das erste Datenpaket empfangen hat, eine zweite Datenabfrage von dem ersten Teilnehmer (T1) an den zweiten Teilnehmer (T2) über das Bussystem (BS) gesendet wird, wobei als Erwiderung auf die zweite Datenabfrage ein zweites Datenpaket von dem zweiten Teilnehmer (T2) an den ersten Teilnehmer (T1) 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, und 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.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Parameter nur den ersten oder den zweiten Parameterwert annehmen kann und zur Durchführung, insbesondere zur Kontrolle, des Datenaustauschs verwendet wird.
  3. Verfahren nach wenigstens einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die auszutauschende Datenmenge in Datenpakete geteilt wird und dass die Datenpakete entsprechend einer vorgegebenen Reihenfolge von dem zweiten Teilnehmer an den ersten Teilnehmer übertragen werden.
  4. Verfahren nach wenigstens einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Datenpakete Teil einer von dem zweiten Teilnehmer (T2) an den ersten Teilnehmer (T1) zu übertragenden Datenmenge sind, die in dem zweiten Teilnehmer (T2), insbesondere einer Speichereinheit des zweiten Teilnehmers, wenigstens zeitweise gespeichert werden.
  5. Verfahren nach wenigstens einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Datenpakete nummeriert werden, und dass die Reihenfolge, in welcher die Datenpakete an den ersten Teilnehmer (T1) übertragen werden, in Abhängigkeit der Datenabfragen und der übermittelten Parameterwerte festgelegt wird.
  6. Verfahren nach wenigstens einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der zweite Teilnehmer (T2) einen Zähler umfasst, wobei nach dem Empfang zweier hintereinander eintreffender Datenabfragen und entsprechender Parameter, der Zähler geändert, insbesondere erhöht oder erniedrigt, wird, wenn die Datenabfragen unterschiedliche Parameter beinhalten, und den Zähler unverändert bleibt, wenn die Datenabfragen denselben Parameter beinhalten.
  7. Verfahren nach wenigstens einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass zwischen dem Wert des Zählers und der Nummerierung der Datenpakete ein Zusammenhang besteht, und dass auf eine Datenabfrage das jeweils dem gerade gültigen Wert des Zählers entsprechende Datenpaket übertragen wird.
  8. Verfahren nach wenigstens einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass durch den ersten Teilnehmer (T1) die Integrität des empfangenen Datenpakets überprüft wird und in Abhängigkeit des Ergebnisses der Überprüfung entweder der erste oder der zweite Parameterwert mit der folgenden Datenabfrage übertragen wird.
  9. Computerprogrammprodukt mit ausführbarem Programmcode, wobei beim Ausführen des Programmcodes ein Verfahren zum Datenaustausch nach wenigstens einem der vorherigen Ansprüche durchgeführt wird.
  10. Vorrichtung zur Durchführung des Verfahrens nach wenigstens einem der vorherigen Ansprüche.
DE102010003741A 2010-04-08 2010-04-08 Verfahren zum Datenaustausch Ceased DE102010003741A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102010003741A DE102010003741A1 (de) 2010-04-08 2010-04-08 Verfahren zum Datenaustausch
US13/080,698 US8554966B2 (en) 2010-04-08 2011-04-06 Method for data exchange

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102010003741A DE102010003741A1 (de) 2010-04-08 2010-04-08 Verfahren zum Datenaustausch

Publications (1)

Publication Number Publication Date
DE102010003741A1 true DE102010003741A1 (de) 2011-10-13

Family

ID=44657919

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010003741A Ceased DE102010003741A1 (de) 2010-04-08 2010-04-08 Verfahren zum Datenaustausch

Country Status (2)

Country Link
US (1) US8554966B2 (de)
DE (1) DE102010003741A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018122002A1 (de) * 2018-09-10 2020-03-12 Endress+Hauser SE+Co. KG Verfahren zur vorausschauenden Überwachung der Datenübertragung auf zumindest einer Kommunikationsverbindung zwischen zwei Feldgeräten

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140100819A1 (en) * 2011-06-01 2014-04-10 Halliburton Energy Services, Inc. Oil field system data recorder for failure reconstruction
DE102013206661A1 (de) * 2013-04-15 2014-10-16 Robert Bosch Gmbh Kommunikationsverfahren zum Übertragen von Nutzdaten sowie entsprechendes Kommunikationssystem

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19629868A1 (de) * 1996-07-24 1998-02-05 Kloeckner Moeller Gmbh Verfahren zur Übertragung binärer Daten und Schnittstellenbausteine zur Durchführung des Verfahrens
US20060161687A1 (en) * 2005-01-19 2006-07-20 Opticom Pty Ltd. Synchronised operation of serially connected devices
DE102006054124B4 (de) 2006-11-15 2009-05-28 Phoenix Contact Gmbh & Co. Kg Verfahren und System zur sicheren Datenübertragung

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999824B2 (en) * 1997-08-21 2006-02-14 Fieldbus Foundation System and method for implementing safety instrumented systems in a fieldbus architecture
CA2314573C (en) * 2000-01-13 2009-09-29 Z.I. Probes, Inc. System for acquiring data from a facility and method
US6985831B2 (en) * 2000-01-13 2006-01-10 Zed.I Solutions (Canada), Inc. System for acquiring data from facilities and method CIP
WO2006029899A1 (de) * 2004-09-16 2006-03-23 Beckhoff Automation Gmbh Datenübertragungsverfahren und automatisierungssystem zum einsatz eines solchen datenübertragungsverfahrens
WO2006038193A2 (en) * 2004-10-05 2006-04-13 Csi Technology, Inc. Transferring arbitrary binary data over a fieldbus network
ES2387139T3 (es) * 2008-06-04 2012-09-14 Vega Grieshaber Kg Determinación de longitudes de telegramas
US8160104B2 (en) * 2008-08-11 2012-04-17 Research In Motion Ltd. System and method for communicating using an in-vehicle system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19629868A1 (de) * 1996-07-24 1998-02-05 Kloeckner Moeller Gmbh Verfahren zur Übertragung binärer Daten und Schnittstellenbausteine zur Durchführung des Verfahrens
US20060161687A1 (en) * 2005-01-19 2006-07-20 Opticom Pty Ltd. Synchronised operation of serially connected devices
DE102006054124B4 (de) 2006-11-15 2009-05-28 Phoenix Contact Gmbh & Co. Kg Verfahren und System zur sicheren Datenübertragung

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018122002A1 (de) * 2018-09-10 2020-03-12 Endress+Hauser SE+Co. KG Verfahren zur vorausschauenden Überwachung der Datenübertragung auf zumindest einer Kommunikationsverbindung zwischen zwei Feldgeräten

Also Published As

Publication number Publication date
US20110252169A1 (en) 2011-10-13
US8554966B2 (en) 2013-10-08

Similar Documents

Publication Publication Date Title
DE102009045386A1 (de) Verfahren zum Betreiben eines Feldbus-Interface
DE102008019053B4 (de) Verfahren zum Betreiben einer Anlage der Prozessautomatisierungstechnik
DE102014108457B3 (de) Netzwerkverteiler
DE102011086630A1 (de) Verfahren zum Bedienen eines Feldgerätes
DE102008001886A1 (de) Verfahren zum Austausch von Parametrier- und Konfigurierdaten zwischen einem Konfigurier- oder Managementsystem und einem Feldgerät
DE102009046041A1 (de) Anordnung zur Bedienung von Feldgeräten in der Automatisierungstechnik mittels eines Konfigurier-/Managementsystems
EP1649328A1 (de) Verfahren zur automatischen anpassung eines busfähigen feldgerätes der prozessautomatisierungstechnik an das auf dem feldbus verwendete busprotokoll
DE102014105207A1 (de) Verfahren zum Betreiben eines Kommunikationsnetzwerks und Kommunikationsnetzwerk
DE102010003741A1 (de) Verfahren zum Datenaustausch
EP2018603A1 (de) Verfahren zum parametrieren eines feldgerätes der prozessautomatisierungstechnik durch nachbildung der azyklischen dienste
DE102013107905A1 (de) Feldbuszugriffseinheit und Verfahren zum Betreiben derselben
DE102007052031B4 (de) Verfahren zum Betreiben eines Parametrier-Gerätes
DE102009027168B4 (de) Verfahren zum Ermitteln einer übermittelten Telegramm-Datenlänge
EP2710436B1 (de) Verfahren und vorrichtung zur parametrierung eines as-i-slaves
WO2011072958A1 (de) Verfahren zum zuweisen einer polling-adresse an ein feldgerät
EP2486459B1 (de) Feldbus-Interface und Verfahren zum Betreiben desselben
EP3588299B1 (de) Verfahren zur fehlerbehandlung bei buskommunikation und buskommunikationssystem
EP1319171A1 (de) Verfahren zur bereitstellung von messwerten für endkunden
EP4070530B1 (de) Verfahren zum zyklischen übertragen von daten zwischen kommunikationsteilnehmern auf einem datenübertragungskanal und datenübertragungssystem
EP3473984B1 (de) Vorrichtung zur erfassung von mittels zumindest einer verbrauchswerterfassungseinheit ermittelten verbrauchswerten
DE102016121019A1 (de) Verfahren zum Übertragen von Datenpaketen auf einer Datenübertragungsstrecke zwischen zwei Kommunikationsteilnehmern, Automatisierungssystem und Computerprogramm
EP2418551B1 (de) Diagnoseverfahren für ein nach dem AS-Interface Standard ausgeführtes Feldbussystem
DE102005031666A1 (de) Verfahren zum Betreiben einer Datenspeichereinheit für die Prozessautomatisierungstechnik
WO2003028321A1 (de) Verfahren zur verarbeitung konsistenter datensätze
DE102019125693A1 (de) Verfahren zum Betreiben eines Kommunikationsnetzwerks, Kommunikationsnetzwerk und Teilnehmer für ein Kommunikationsnetzwerk

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: ENDRESS+HAUSER SE+CO. KG, DE

Free format text: FORMER OWNER: ENDRESS + HAUSER GMBH + CO. KG, 79689 MAULBURG, DE

R082 Change of representative

Representative=s name: ANDRES, ANGELIKA, DIPL.-PHYS., DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final