DE102022102143A1 - Verfahren zum automatischen Vergeben von Adressen in einem Modbus-Kommunikationsnetzwerk - Google Patents

Verfahren zum automatischen Vergeben von Adressen in einem Modbus-Kommunikationsnetzwerk Download PDF

Info

Publication number
DE102022102143A1
DE102022102143A1 DE102022102143.2A DE102022102143A DE102022102143A1 DE 102022102143 A1 DE102022102143 A1 DE 102022102143A1 DE 102022102143 A DE102022102143 A DE 102022102143A DE 102022102143 A1 DE102022102143 A1 DE 102022102143A1
Authority
DE
Germany
Prior art keywords
modbus
telegram
address
slave device
valid
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.)
Pending
Application number
DE102022102143.2A
Other languages
English (en)
Inventor
Roman Buchholz
Erwin Breukelmann
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.)
Phoenix Contact GmbH and Co KG
Original Assignee
Phoenix Contact GmbH 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 Phoenix Contact GmbH and Co KG filed Critical Phoenix Contact GmbH and Co KG
Priority to DE102022102143.2A priority Critical patent/DE102022102143A1/de
Publication of DE102022102143A1 publication Critical patent/DE102022102143A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum automatischen Vergeben von Adressen in einem Modbus- Kommunikationsnetzwerk (10). Demnach werden alle Modubus-Slavegeräte (30-60) des Modbus-Kommunikationsnetzwerks (10) von einem Modbus-Mastergerät (20) aufgefordert, zu prüfen, ob sie aktuell eine gültige Adresse gespeichert haben. Wenn nein, dann sendet das jeweilige Modbus-Slavegerät eine ihm zugeordnete eindeutige Kennung zum Modbus-Mastergerät (20). Das Modbus-Mastergerät (20) sendet jedem der Modus-Slavegerät (30-60), welche keine gültige Adresse besitzen, unter Verwendung der jeweiligen individuellen Kennung eine individuelle gültige Adresse zu und fordert es auf, die gültige individuelle Adresse zu speichern.

Description

  • Die Erfindung betrifft ein Verfahren zum automatischen Vergeben von Adressen in einem Modbus-Kommunikationsnetzwerk, das eine Vielzahl von Modbus-Slavegeräten und ein Modbus-Mastergerät aufweist.
  • Es ist bekannt, beispielsweise in der industriellen Automatisierungstechnik ein Kommunikationsnetzwerk zu verwenden, bei dem die beteiligten Teilnehmer gemäß einem Modbus-Protokoll kommunizieren. Das Modbus-Protokoll ist ein Kommunikationsprotokoll, das auf einer Master/Slave- bzw. auf einer Client/Server-Architektur basiert. Als Master kann beispielsweise eine speicherprogrammierbare Steuerung verwendet werden, die über einen Modbus mit mehreren Slaves, die zum Beispiel als Aktoren oder Sensoren ausgebildet sein können, kommunizieren kann. Damit die Teilnehmer eines Modbus-basierten Kommunikationsnetzwerks miteinander kommunizieren können, muss jeder Teilnehmer eine eindeutige Adresse erhalten. Adressen können beispielsweise manuell vergeben werden, indem sie an jedem Teilnehmer mittels der dort vorhandenen DIP-Schalter individuell eingestellt werden.
  • Aus der CN 108737590 ist ein Verfahren bekannt, nach dem Modbus-Slavestationen Adressen automatisch zugeordnet werden können. Hierzu überträgt eine Modbus-Masterstation an alle angeschlossenen Modbus-Slavestationen einen Befehl, durch den die Adresse jeder Modbus-Slavestation auf eine feste Adresse eingestellt wird. Anschließend fordert die Modbus-Masterstation die Modbus-Slavestationen auf, ihre jeweilige Seriennummer zu übertragen. Unter Verwendung der empfangenen Seriennummern der Modbus-Slavestationen sendet die Modbus-Masterstation entsprechende Adressen zu den Modbus-Slavestationen, die daraufhin ihre Slavestations Adresse entsprechend ändern.
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein alternatives Verfahren zur automatischen Vergabe von Adressen in einem Modbus-Kommunikationsnetzwerk zur Verfügung zu stellen, welches auch nach einem fehlerhaften Betrieb und/oder bei einer Erweiterung des Modbus-Kommunikationsnetzwerkes in zuverlässiger Weise gültige Adressen automatisch vergeben kann.
  • Ein Kerngedanke der Erfindung kann darin gesehen werden, ein Verfahren zum automatischen Vergeben von Adressen in einem Modbus- Kommunikationsnetzwerk zur Verfügung zu stellen. Demnach werden alle Modubus-Slavegeräte des Modbus-Kommunikationsnetzwerks von einem Modbus-Mastergerät aufgefordert, zu prüfen, ob sie aktuell eine gültige Adresse besitzen. Wenn nicht, dann sendet das jeweilige Modbus-Slavegerät eine ihm zugeordnete eindeutige Kennung zum Modbus-Mastergerät. Das Modbus-Mastergerät sendet anschließend jedem der Modus-Slavegerät, welche keine gültige Adresse besitzen, unter Verwendung der jeweiligen individuellen Kennung eine individuelle gültige Adresse zu und fordert es auf, die individuelle gültige Adresse zu speichern.
  • Das oben genannte technische Problem wird durch die Schritte des Anspruchs 1 gelöst. Vorteilhafte Weiterbildungen sind Gegenstand der Unteransprüche.
  • Demnach wird ein Verfahren zum automatischen Vergeben von Adressen in einem Modbus-Kommunikationsnetzwerk zur Verfügung gestellt, dass eine Mehrzahl von Modbus-Slavegeräten, in denen jeweils eine eindeutige Kennung abgelegt ist, und ein Modbus-Mastergerät aufweist. Angemerkt sei bereits an dieser Stelle, dass die Ausdrücke Modbus-Kommunikationsnetzwerk, Modbus-Slavegerät und Modbus-Mastergerät insbesondere dahingehend zu verstehen sind, dass das Modbus-Kommunikationsnetzwerk, die Modbus-Slavegeräte und das Modbus-Mastergerät jeweils zur Kommunikation gemäß einem Modbus-Protokoll ausgebildet sind.
  • Das Verfahren weist insbesondere folgende Schritte auf:
    1. a) Senden, vom Modbus-Mastergerät, eines ersten Modbus-Telegramms an alle Modubus-Slavegeräte des Modbus-Kommunikationsnetzwerks, wobei das erste Modbus-Telegramm eine Rundsendeadresse, insbesondere eine Modbus-Broadcast-Adresse, und einen Befehl zur Aufforderung eines keine gültige Adresse aufweisenden Modbus-Slavegeräts (30), dessen eindeutige Kennung zu senden, enthält;
    2. b) unter Ansprechen auf das erste Modbus-Telegramm Prüfen, durch jedes der Modbus-Slavegeräte, ob es aktuell eine gültige Adresse enthält; wenn nein,
    3. c) dann Senden, von jedem der Modbus-Slavegeräte, das aktuell keine gültige Adresse enthält, eines Modbus-Telegramms, das die eindeutige Kennung des jeweiligen Modbus-Slavegeräts enthält, zum Modbus-Mastergerät;
    4. d) Auswerten, durch das Modbus-Mastergerät (20), jedes in Schritt c) empfangenen Modbus-Telegramms;
    5. e) Senden, vom Modbus-Mastergerät (20), für jedes Modbus-Slavegerät, welches in Schritt c) ein Modbus-Telegramm gesendet hat, eines zweites Modbus-Telegramms, wobei jedes zweite Modbus-Telegramm die Rundsendeadresse, eine gültige individuelle Adresse für das jeweilige Modbus-Slavegerät, einen Befehl zum Speichern der gültigen individuellen Adresse und die eindeutige Kennung des jeweiligen Modbus-Slavegeräts enthält, an alle Modbus-Slavegeräte;
    6. f) Auswerten, durch jedes Modbus-Slavegerät, an welches in Schritt e) ein zweites Modbus-Telegramm gesendet worden ist, nur desjenigen zweiten Modbus-Telegramms, das die eindeutige Kennung des jeweiligen Modbus-Slavegeräts enthält, und Speichern der im zweiten Modbus-Telegramm enthaltenen gültigen Adresse in dem jeweiligen Modbus-Slavegerät.
  • Eine vorteilhafte Weiterbildung sieht vor, dass zeitlich vor Schritt a) die folgenden Schritte ausgeführt werden:
    • - Senden vom Modbus-Mastergerät (20) eines dritten Modbus-Telegramms an alle Modbus-Slavegeräte des Modbus-Kommunikationsnetzwerks, wobei das dritte Modbus-Telegramm die Rundesendeadresse und einen Befehl an ein Modbus-Slavegerät enthält, seine aktuelle Adresse als ungültig zu kennzeichnen und/oder zu löschen; und wobei
    • - unter Ansprechen auf das dritte Modbus-Telegramm in jedem Modbus-Slavegerät des Modbus-Kommunikationsnetzwerks die aktuelle Adresse als ungültig gekennzeichnet und/oder gelöscht wird.
  • Dank dieser Maßnahme ist es möglich, wenn erforderlich, das Modbus-Kommunikationsnetzwerk und insbesondere die daran angeschlossenen Modbus-Slavegeräte zurückzusetzen, um anschließend eine Neuadressierung der Modbus-Slavegeräte mit gültigen Adressen durchführen zu können.
  • Insbesondere kann hierbei ein fehlerhafter Betrieb das Modbus-Kommunikationsnetzwerks durch das Modbus-Mastergerät erkannt werden, wobei unter Ansprechen auf das Erkennen eines fehlerhaften Betriebs das Verfahren zur automatischen Vergabe von Adressen durch das Modbus-Mastergerät automatisch gestartet werden kann. Ein fehlerhafter Betrieb kann vom Modbus-Mastergerät beispielsweise dadurch erkannt werden, dass es über einen längeren Zeitraum von einem angeschlossenen Modbus-Slavegerät keine Daten mehr oder fehlerhafte Modbus-Telegramme empfängt.
  • Gemäß einer vorteilhaften Weiterbildung wird die in Schritt f) in dem jeweiligen Modbus-Slavegerät gespeicherte gültige Adresse als gültig gekennzeichnet. Auf diese Weise wird dem jeweiligen Modbus-Slavegerät ein Kriterium in die Hand gegeben, in Schritt b) zu prüfen, ob es aktuell eine gültige Adresse enthält. Mit anderen Worten: das jeweilige Modbus-Slavegerät kann insbesondere in Schritt b) erkennen, dass es keine aktuell gültige Adresse enthält, wenn beispielsweise überhaupt keine Adresse im jeweiligen Modbus-Slavegerät gespeichert ist oder wenn eine gespeicherte Adresse als ungültig gekennzeichnet worden ist.
  • Gemäß einer vorteilhaften Weiterbildung kann in Schritt c) in jedem gesendeten Modbus-Telegramm die ungültige Adresse des jeweiligen Modbus-Slavegeräts mit übertragen werden. Auf diese Weise kann das Modbus-Mastergerät in vorteilhafter Weise darüber in Kenntnis gesetzt werden, welche Adresse ungültig ist bzw. welche Adressen ungültig sind. Diese Adresse kann dann zu einem späteren Zeitpunkt wieder erneut als gültige Adresse an ein Modbus-Slavegerät vergeben werden.
  • Um eine gültige Adresse vergeben zu können, kann das Modbus-Mastergerät eine Vielzahl gültiger Adressen zum Beispiel in einer Art Tabelle speichern. Hierzu kann vorteilhafterweise in Schritt e) vom Modbus-Mastergerät für jedes Modus-Slavegerät, welches in Schritt c) ein Modbus-Telegramm gesendet hat, eine individuelle gültige Adresse aus der Vielzahl gültiger Adressen ausgewählt werden, wobei im Modbus-Mastergerät vorzugsweise eine Zuordnung zwischen der ausgewählten gültigen Adresse und der eindeutigen Kennung des jeweiligen Modbus-Slavegeräts gespeichert werden kann. Während des nachfolgenden Betriebs kann das jeweilige Modbus-Slavegerät dann unter seiner gültigen Adresse angesprochen werden.
  • Um beispielsweise dem Modbus-Mastergerät zu bestätigen, dass ein Modbus-Slavegerät die vom Modbus-Mastergerät empfange gültige Adresse auch gespeichert hat, kann vorzugsweise in Schritt f) vom jeweiligen Modbus-Slavegerät ein Modbus-Telegramm, das die eindeutige Kennung des jeweiligen Modbus-Slavegeräts und die darin gespeicherte gültige Adresse enthält, zum Modbus-Mastergerät gesendet werden.
  • Vorzugsweise ist in jedem Modbus-Slavegerät das Modbus-Kommunikationsnetzwerk als eindeutige Kennung dessen Seriennummer abgelegt.
  • Gemäß einer vorteilhaften Ausgestaltung kann in jedem Modbus-Slavegerät des Modbus-Kommunikationsnetzwerks als Default-Adresse die Modbus Rundsendeadresse und gegebenenfalls auch eine bestimmte Baudrate abgelegt werden. Diese Parameter werden insbesondere bei einer erstmaligen Inbetriebnahme des Kommunikationsnetzwerkes benutzt, um die automatische Adressenvergabe durchführen zu können.
  • Vorzugsweise, wird, wenn in wenigstens einem der Modbus-Slavegeräte aktuell die Modbus-Rundsendeadresse abgelegt ist, diese Modbus-Rundsendeadresse in Schritt b) vom jeweiligen Modbus-Slavegerät als ungültige Adresse interpretiert.
  • Gemäß einer vorteilhaften Ausgestaltung wird das Modbus-Kommunikationsnetzwerk im Modbus Remote Terminal Unit (RTU) Modus betrieben.
  • Die Erfindung wird nachfolgend anhand einiger Ausführungsbeispiele in Verbindung mit den beiliegenden Zeichnungen näher erläutert. Darin zeigen:
    • 1 ein beispielhaftes Modbus-Kommunikationsnetzwerk,
    • 2 ein beispielhaftes Modbus-Telegramm,
    • 3 ein Ablaufdiagramm für einen beispielhaften Modbus-Telegrammaustausch zur automatischen Adressvergabe während einer erstmaligen Konfigurationsphase des in 1 gezeigten Modbus-Kommunikationsnetzwerks,
    • 4 ein Ablaufdiagramm für einen beispielhaften Modbus-Telegrammaustausch zur automatischen Adressvergabe nach einer Erweiterung des in 1 gezeigten Modbus-Kommunikationsnetzwerks, und
    • 5 ein Ablaufdiagramm für einen beispielhaften Modbus-Telegrammaustausch zur automatischen Adressvergabe nach einem Reset des in 1 gezeigten Modbus-Kommunikationsnetzwerks.
  • In 1 ist ein beispielhaftes Modbus-Kommunikationsnetzwerk 10 dargestellt, welches ein Modbus-Protokoll zur Datenkommunikation unterstützt. Das beispielhafte Modbus-Kommunikationsnetzwerk 10 weist einen Modbus 70 auf, an den wenigstens ein Modbus-fähiges Mastergerät 20, welches nachfolgend kurz Modbus-Mastergerät 20 bezeichnet wird, angeschlossen werden kann. Hierzu kann das Modbuss-Mastergerät 20 eine Kommunikationsschnittstelle 22 aufweisen, die beispielsweise gemäß dem RS485 Industriestandard ausgebildet ist. Sofern das Modbus-Kommunikationsnetzwerk 10 in einer industriellen Automatisierungsanlage implementiert ist, kann das Modbus-Mastergerät 20 als speicherprogrammierbare Steuerungen (SPS) ausgebildet sein. Insbesondere kann das Modbus-Mastergerät 20 eine Steuereinheit 25 aufweisen, die als Mikrocontroller oder Mikroprozessor implementiert sein kann. Der Mikrocontroller 25 kann mit einer Speichereinrichtung 21 verbunden sein, in der beispielsweise eine Firmware zur Steuerung und Überwachung des Modbus-Mastergeräts 20 gespeichert ist. Insbesondere ist das Modbus-Mastergerät 20 dazu ausgebildet, gemäß einem Modbus-Protokoll zu kommunizieren. Vorzugsweise erfolgt die Datenübertragung über das Modbus-Kommunikationsnetzwerk 10 in einem Modbus RTU Modus.
  • Vorzugsweise kann der Mikrocontroller 25 auf eine Tabelle oder Liste gültiger Adressen zugreifen, die beispielsweise in einem Speicher 24 abgelegt sind. Angemerkt sei, dass die Liste gültiger Adressen auch in der Speichereinrichtung 21 hinterlegt sein kann. Weiterhin kann ein Speicher 23 mit dem Mikrocontroller 25 verbunden sein, in dem eine Vielzahl von Zuordnungen zwischen einer gültigen Adresse und einer eindeutigen Kennung eines Modbus-Slavegeräts speicherbar sind. Die Zuordnungen können natürlich auch in der Speichereinrichtung 21 hinterlegt werden. An den Modbus 70 kann eine Vielzahl von Modbus-fähigen Slavegeräten, kurz auch Modbus-Slavegeräte genannt, angeschlossen werden. Beispielhaft sind in 1 vier Modbus-Slavegeräte 30, 40, 50 und 60 dargestellt, wobei durch die drei Punkte zwischen den Modbus-Slavegeräten 40 und 50 angedeutet werden soll, dass in der Praxis auch mehr als die gezeigten Modbus-Slavegeräte am Modbus 70 angeschlossen werden können. Bereits an dieser Stelle sei erwähnt, dass lediglich zu Erläuterungszwecken weiter unten angenommen wird, dass das Modbus-Kommunikationsnetzwerk 10 anfänglich aus einer Vielzahl von Modus-Slavegeräten, die die Modbus-Slavegeräte 30 bis 50 umfassen, aufgebaut ist, und durch die nachträgliche Aufnahme des Modbus-Slavegerät 60 erweitert wird.
  • Jedes Modbus-Slavegerät verfügt über eine Kommunikationsschnittstelle, die beispielsweise gemäß dem RS485 Industriestandard ausgebildet sein kann. Entsprechende Kommunikationsschnittstellen 35, 45, 55 und 65, die in den jeweiligen Modbus-Slavegeräten 30, 40, 50 bzw. 60 implementiert sind, sind in 1 dargestellt. Darüber hinaus ist in jedem Modbus-Slavegerät vorzugsweise eine Steuereinheit implementiert, die als Mikrocontroller oder auch als Mikroprozessor ausgebildet sein kann. Wie beispielhaft in 1 gezeigt, ist ein Mikrocontroller 31 im Modbus-Slavegerät 30, ein Mikrocontroller 41 im Modbus-Slavegerät 40, ein Mikrocontroller 51 im Modbus-Slavegerät 50 und ein Mikrocontroller 61 im Modbus-Slavegerät 60 implementiert. Darüber hinaus ist in jedem Modbus-Slavegerät eine eindeutige Kennung, beispielsweise dessen jeweilige eindeutige Seriennummer gespeichert. Hierzu kann das Modbus-Slavegeräte 30 einen Speicher 33 aufweisen, in dem seine eindeutige Kennung ID1 gespeichert ist. In ähnlicher Weise kann in einem Speicher 43 des Modbus-Slavegeräts 40 dessen eindeutige Kennung ID2, in einem Speicher 53 des Modbus-Slavegeräts 50 dessen eindeutige Kennung IDn und in einem Speicher 63 des Modbus-Slavegeräts 60 dessen eindeutige Kennung ID(n+1) gespeichert sein. Die Mikrocontroller 31, 41, 51 und 61 der Modbus-Slavegeräte 30-60 sind mit den Speichern 33, 43, 53 bzw. 63 verbunden und zum Auslesen der jeweiligen eindeutigen Kennung ausgebildet. Vorzugsweise kann in jedem der Modbus-Slavegeräte 30-60 eine Firmware zur Überwachung und Steuerung des jeweiligen Modbus-Slavegeräts und ein Programm, das ein Modbus-Protokoll implementiert, gespeichert sein. Die Firmware und das Modbus-basierte Programm können jeweils in einem Speicher 34 des Modbus-Slavegeräts 30, in einem Speicher 44 des Modbus-Slavegeräts 40, in einem Speicher 54 des Modbus-Slavegeräts 50 und in einem Speicher 64 des Modbus-Slavegeräts 60 gespeichert werden. Jede Steuereinheit der Modbus-Slavegeräte 30 bis 60 ist vorzugsweise dazu ausgebbildet, unter Ausführung des Modbus-pasierten Programms eine Kommunikation über den Modbus basierend auf dem Modbus-Protokoll zu unterstützen.
  • Gemäß einer vorteilhaften Implementierung wird in jedem Modbus-Slavegerät 30-60 vor dessen Auslieferung bzw. vor dessen erster Inbetriebnahme die Modbus-Rundsendeadresse 0x00, auch Modbus Broadcast Adresse genannt, gespeichert. Hierzu kann in jedem Modbus- Slavegerät 30-60 ein weiterer Speicher 32, 42, 52 bzw. 62 vorgesehen sein, in denen anfänglich jeweils die Modbus-Rundsendeadresse 0x00 gespeichert wird. Denkbar ist natürlich auch, dass die Speicher 32, 33 und 34, 42, 43 und 44, 52, 53 und 54 bzw. 62, 63 und 64 jeweils als eine Speichereinrichtung implementiert sein können. Der Mikrocontroller 31 kann auf alle Speicher 32-34 zugreifen und die entsprechenden Daten und Programme auslesen bzw. ausführen. In ähnlicher Weise kann der Mikrocontroller 41 des Modbus-Slavegeräts 40 auf die Speicher 42, 43 und 44, das Modbus-Slavegerät 50 auf die Speicher 52, 53 und 54 und der Mikrocontroller 61 des Modbus-Slavegeräts 60 auf die Speicher 62, 63 und64 zugreifen. Weiterhin sei angenommen, dass vorteilhafterweise sowohl in dem Modbus-Mastergerät 20 als auch in jedem der Modbus-Slavegeräte 30-60 eine Baudrate, d. h. eine Datenübertragungsrate als Defaultwert abgelegt worden ist, die zur automatischen Adressvergabe verwendet werden kann.
  • Nachfolgend wird die Funktionsweise des in 1 beispielhaft dargestellten Modbus-Kommunikationsnetzwerkes 10 insbesondere hinsichtlich einer automatischen Adressvergabe bzw. Adresszuordnung anhand einiger Ausführungsbeispiele in Verbindung mit den 2 bis 5 näher erläutert. An dieser Stelle sei noch darauf hingewiesen, dass die in den 3-5 dargestellten Pfeile jeweils die Übertragungsrichtung eines gesendeten Modbus-Telegramms, nämlich vom Modbus-Mastergerät 20 zu den angeschlossenen Modbus-Slavegeräten und umgekehrt, symbolisch darstellen.
  • Angemerkt sei zunächst, dass das Modbus-Mastergerät 20 und die Modbus-Slavegeräte 30-60 dazu ausgebildet sind, Telegramme zur Datenkommunikation zu verwenden, welche gemäß dem Modbus-Protokoll spezifiziert sind. Ein beispielhaftes Modbus-Telegrammen ist in 2 dargestellt. Das beispielhafte Modbus-Telegramm weist beispielsweise vier Felder auf. In das erste, d.h. im linken Feld kann vorzugsweise eine als Zieladresse fungierende Adresse, beispielsweise eine Slaveadresse eingetragen werden, in das zweite Feld kann beispielsweise ein bestimmter Funktionscode eingetragen werden. Das dritte Feld dient insbesondere der Übertragung von Nutzdaten, während in das vierte Feld eine Prüfsumme, die gemäß einer beispielhaften Implementierung über das jeweilige Telegramm gebildet wird, eingetragen werden kann. Das erste Feld wird nachfolgend auch als Adressfeld, das dritte Feld auch als Nutzdatenfeld und das vierte Feld als Prüfsummenfeld bezeichnet.
  • Gemäß einer beispielhaften Implementierung sind sowohl das Modbus-Mastergerät 20 als auch jedes der Modbus-Slavegeräte 30-60 dazu ausgebildet, in das Adressfeld eines zu versendenden Modbus-Telegramms die Modbus-Rundsendeadresse 0x00 und in das Feld für den Funktionscode einen bestimmten Funktionscode einzutragen. Dieser bestimmte Funktionscode signalisiert vorzugsweise, dass eine automatische Adressvergabe durchgeführt werden soll. Beispielsweise wird in das jeweilige Feld der Funktionscode 0x64 eingetragen.
  • Nunmehr wird in Verbindung mit 3 ein erstes beispielhaftes Szenario zur automatischen Vergabe von Adressen über das Modbus-Kommunikationsnetzwerk 10 erläutert. Angenommen sei, dass an den Modbus 70 die Modbus-Slavegeräte 30 bis 50, aber nicht das Modbus-Slavegerät 60 angeschlossen ist. Ferner sei angenommen, dass das Modbus-Kommunikationsnetzwerk 10 und insbesondere die angeschlossenen Modbus-Slavegeräte 30-50 erstmalig konfiguriert werden sollen.
  • Gemäß der weiter oben geschilderten beispielhaften Implementierung bedeutet dies, dass zunächst in jedem der angeschlossenen Modbus-Slavegerät 30-50 die Modbus Broadcast Adresse 0x00 in dem jeweiligen Speicher 32, 42 bzw. 52 gespeichert ist. Erwähnt sei, dass gemäß einer beispielhaften Implementierung jedes der angeschlossenen Modbus-Slavegeräte 30-50 dazu ausgebildet ist, die anfänglich gespeicherte Modbus-Broadcast-Adresse 0x00 als eine ungültige Adresse im Rahmen einer automatischen Adressvergabe zu interpretieren.
  • Bereits an dieser Stelle sei angemerkt, dass das Modbus-Mastergerät 20 dazu ausgebildet sein kann, vorzugsweise drei verschiedene Kommandos, nämlich ein Kommando 1, ein Kommando 2 und ein Kommando 3 zu verwenden und an die angeschlossenen Modbus-Slavegeräte zu senden, um, je nach Anwendungsfall, beispielsweise eine automatische Adressvergabe durchführen bzw. einleiten zu können. Zweckmäßigerweise können deshalb die Modbus-Slavegeräte 30 bis 60 jeweils dazu ausgebildet sein, die Kommandos 1 bis 3, wenn erforderlich, auszuführen.
  • Dem Kommando 1 kann beispielsweise ein entsprechender Code, beispielsweise der Code 0x81 zugeordnet sein. Das Kommando 1 definiert vorzugsweise den Befehl, dass ein Modbus-Slavegerät, seine aktuell gespeicherte Adresse vorzugsweise als ungültig kennzeichnen oder löschen soll. Dem Kommando 2 kann beispielsweise der Code 0x82 zugeordnet sein. Das Kommando 2 definiert vorzugsweise den Befehl, dass ein Modbus-Slavegerät seine eindeutige Kennung, dass ist beispielsweise seine Seriennummer, senden soll, wenn es aktuell über keine gültige Adresse verfügt. Angemerkt sei, dass jedes der angeschlossenen Modbus-Slavegeräte 30-50 dazu ausgebildet, den in einem Modbus-Telegramm empfangen Code 0x82 als Kommando 2 zu erkennen und auszuführen, indem es zunächst prüft, ob es eine gültige Adresse besitzt. Dem Kommando 3 kann beispielsweise der Code 0x83 zugeordnet sein. Das Kommando 3 enthält vorzugsweise den Befehl und den Hinweis, dass zusammen mit dem Code 0x83 die eindeutige Seriennummer eines Modbus-Slavegeräts sowie eine gültige Adresse mit übertragen werden und dass das angesprochene Modbus-Slavegerät die gültige Adresse in seinem Speicher ablegen solle. Gegebenenfalls wird die gespeicherte gültige Adresse zusätzlich als gültig gekennzeichnet.
  • Angemerkt sei, dass jedes der angeschlossenen Modbus-Slavegeräte 30-50 und gegebenenfalls das Modbus-Slavegerät 60 dazu ausgebildet sein kann, den in einem Modbus-Telegramm empfangen Code 0x81 als Kommando 1 oder den in einem Modbus-Telegramm empfangenen Code 0x83 als Kommando 3 zu erkennen und entsprechend auszuführen. Hierzu können die Kommandos 1 bis 3 und die dazugehörenden Codes in den jeweiligen Modbus-Slavegeräten gespeichert werden.
  • Nunmehr sei angenommen, dass das Modbus-Mastergerät 20 beispielsweise durch ein Startsignal, welches von einer Bedienperson eingegeben werden kann, aktiviert worden ist, eine erstmalige Adressvergabe durchzuführen.
  • Unter Ansprechen auf das beispielhafte Startsignal erzeugt das Modbus-Mastergerät 20 in Schritt 1 der 3 ein Modbus-Telegramm, welches im ersten Feld die Modbus Broadcast Adresse 0x00, im zweiten Feld den beispielhaften Funktionscode 0x64, im Nutzdatenfeld den Code 0x82, der auf das Kommando 2 hinweist, und im letzten Feld die Prüfsumme enthält. Anschließend wird das Modbus-Telegramm vom Modbus-Mastergerät 20 über den Modbus 70 rundgesendet, d. h. jedes angeschlossene Modbus-Slavegerät 30-50 empfängt dieses Modbus-Telegramm.
  • Jedes der Modbus-Slavegeräte 30-50 wertet nunmehr den im empfangenen Modbus-Telegramm enthaltene Funktionscode 0x64 und den Code 0x82 aus und führt den entsprechenden Befehl des Kommandos 2 unter Steuerung des jeweiligen Mikrocontrollers 31, 41 bzw., 51 aus. Das bedeutet, jedes der Modbus-Slavegeräte 30-50 prüft, ob im Speicher 32, 42 bzw. 52 eine gültige Adresse abgelegt ist. Da, wie bereits oben erwähnt, im ausgelieferten Zustand in jedem Modbus-Slavegerät 30-50 die Modbus Broadcast Adresse 0x00 gespeichert ist, ergibt die Prüfung durch jedes der Modbus-Slavegeräte 30 bis 50, dass keine gültige Adresse gespeichert ist.
  • Unter weiterer Ausführung des Befehls 2 erzeugt nunmehr jedes der Modbus-Slavegeräte 30-50 ein Modbus-Telegramm, welches im ersten Feld beispielsweise die Modbus-Rundsendeadresse 0x00, im zweiten Feld den Funktionscode 0x64, im jeweiligen Nutzdatenfeld den Code,0x82 und zudem seine eindeutige Kennung und je nach Implementierung auch seine ungültige Adresse und im vierten Feld die dazugehörende Prüfsumme enthält. Diese Modbus-Telegramme werden in den Schritten 2.1 bis 2.n erzeugt und anschließend zeitversetzt über den Modbus 70 übertragen, wie in 3 dargestellt. Vorzugsweise schreibt jedes der Modbus-Slavegeräte 30 bis 50 und, sofern angeschlossen, das Modbus-Slavegerät 60 die aktuell im Speicher 32, 42, 52 bzw. 62 gespeicherte Adresse in das erste Feld des jeweiligen Modbus-Telegramms.
  • Mit anderen Worten: In Schritt 2.1 liest das Modbus-Slavegerät 30 seine eindeutige Kennung ID1 aus dem Speicher 33 aus, schreibt die eindeutige Kennung und gegebenenfalls auch seine ungültige Adresse in die dafür vorgesehenen Abschnitte des Nutzdatenfeldes und übergibt anschließend das Modbus-Telegramm in Schritt 2.1 dem Modbus 70 zur Übertragung. Dieses Prozedere wird in gleicher Weise von den Modbus-Slavegeräten 40 und 50 ausgeführt. Um Kollisionen zu verhindern, kann beispielsweise vorgesehen sein, dass jedes Modbus-Slavegerät 30-50 einen zufälligen Sendezeitpunkt berechnet, zu dem das jeweilige Modbus-Telegramm in den Schritten 2.1 bis 2.n auf den Modbus 70 gelegt wird.
  • Gemäß einer beispielhaften Implementierung erkennt das Modbus-Mastergerät 20 anhand des Codes 0x82 und/oder der eindeutigen Kennung, welche in den jeweiligen, in den Schritten 2.1 bis 2.n gesendeten Modbus-Telegrammen enthalten sind, dass diese Modbus-Telegramme für ihn bestimmt sind. Demzufolge empfängt das Modbus-Mastergerät 20 die in den Schritten 2.1 bis 2.n gesendeten Modbus-Telegramme und liest aus jedem empfangenen Modbus-Telegramm die darin enthaltene eindeutige Kennung des jeweiligen Modbus-Slavegeräts aus. Anhand der ausgelesenen eindeutigen Kennungen weiß das Modbus-Mastergerät 20 nunmehr, dass die Modbus-Slavegeräte 30 bis 50 keine gültigen Adressen besitzen.
  • Gemäß einer beispielhaften Implementierung kann nunmehr die Steuereinheit 25 unter Ansprechen auf die Codes 0x64 und 0x82, die in jedem empfangenen Modbus-Telegramm enthalten sind, das Modbus-Mastergerät 20 veranlassen, für jedes der Modbus-Slavegeräte 30 bis 50 eine individuelle gültige Adresse aus der im Speicher 24 gespeicherten Liste gültiger Adressen auszuwählen und den eindeutigen Kennungen ID1, ID2, bzw. IDn jeweils eine der ausgewählten Adressen zuzuordnen. Die jeweiligen Zuordnungen können beispielsweise in der Speichereinrichtung 23 gespeichert werden. Das Modbus-Mastergerät 20 kennt nunmehr die den jeweiligen Modbus-Slavegeräten 30 bis 50 zugeordneten gültigen Adressen.
  • Nunmehr veranlasst die Steuereinheit 25 das Modbus-Mastergerät 20, für jede empfangene eindeutige Kennung, d.h. für jedes Modbus-Slavegerät 30 bis 50, ein Modbus-Telegramm zu erzeugen, welches im ersten Feld die Rundsendeadresse 0x00, im zweiten Feld den Funktionscode 0x64, in entsprechenden Abschnitten des Nutzdatenfelds, den Code 0x83 für das Kommando 3, die jeweilige eindeutige Kennung und die dieser eindeutigen Kennung zugewiesene gültige Adresse, sowie im vierten Feld wiederum die entsprechende Prüfsumme enthält. Die entsprechenden Modbus-Telegramme werden in den Schritten 3.1 bis 3.n erzeugt und sind in 3 beispielhaft für die beiden eindeutigen Kennungen ID1 und IDn, welche dem Modbus-Slavegerät 30 bzw. dem Modbus-Slavegerät 50 gehören, dargestellt. Anschließend sendet das Modbus-Mastergerät 20, in den Schritten 3.1 bis 3.n, zeitlich versetzt die drei Modbus-Telegramme unter Verwendung der Modbus-Ruindsendeadresse 0x00 über den Modbus 70.
  • Die Modbus-Slavegeräte 30 bis 50 sind jeweils dazu ausgebildet, aus den in den Schritten 3.1-3.rundgesendeten Modbus-Telegramme das für das jeweilige Modbus-Slavegerät bestimmte Modbus-Telegramm anhand der darin übertragenen eindeutigen Kennung zu erkennen. Ein Modbus-Telegramm ist für ein Modbus-Slavegerät bestimmt, wenn die in dem jeweiligen Modbus-Telegramm enthaltene eindeutige Kennung mit der im jeweiligen Modbus-Slavegerät gespeicherten eindeutigen Kennung übereinstimmt. So erkennt das Modbus-Slavegerät 30 das für ihn bestimmte Modbus-Telegramm daran, dass in dem Modbus-Telegramm die eindeutige Kennung ID1 enthalten ist. In ähnlicher Weise erkennen die Modbus-Slavegeräte 40 und 50 das für sie bestimmte Modbus-Telegramm.
  • Sobald das Modbus-Slavegerät 30 das für ihn bestimmte Modbus-Telegramm, welches in Schritt 3.1 übertragen worden ist, erkannt hat, liest es vorzugsweise den Funktionscode 0x64 und den Code 0x83 aus dem Modbus-Telegramm aus. Die Steuereinheit 31 ist vorzugsweise dazu ausgebildet, den Code 0x83 auszuwerten und das dazugehörende Kommando 3 beispielsweise wie folgt auszuführen:
    • Aus dem Nutzdatenfeld des Modbus-Telegramms wird die gültige Adresse ausgelesen und in dem Speicher 32 gespeichert. Im einfachsten Fall wird die bisher darin gespeicherte Modbus Broadcast Adresse einfach durch die gültige Adresse überschrieben. Optional kann das Modbus-Slavegerät 30 dazu ausgebildet sein, die nunmehr als gültige Adresse im Speicher 32 hinterlegte Adresse als gültig zu kennzeichnen. Um dem Modbus-Mastergerät 20 zu bestätigen, dass die gültige Adresse im Modbus-Slavegerät 30 gespeichert worden ist, kann das Modbus-Slaveberät 30, wie in Schritt 4.1 der 3 gezeigt, ein weiteres Modbus-Telegramm erzeugen, welches die Broadcast Adresse 0x00, den Funktionscode 0x64, in entsprechenden Abschnitten des Nutzdatenfelds den Code 0x83 die gespeicherte gültige Adresse sowie die eindeutige Kennung ID1 und im vierten Feld die entsprechende Prüfsumme enthält. In Schritt 4.1 wird anschließend dieses Modbus-Telegramm über den Modbus 70 übertragen. Das Modbus-Mastergerät 20 ist dazu ausgebildet, zu erkennen, dass das in Schritt 4.1 gesendete Modbus-Telegramm für ihn bestimmt ist. Hierzu kann das Modbus-Mastergerät entweder den im Nutzdatenfeld übertragenen Code 0x83 und/oder die im Nutzdatenfeld übertragene gültige Adresse und/oder die im Nutzdatenfeld übertragene eindeutige Kennung ID1 auswerten.
  • Sobald das Modbus-Slavegerät 40 das für ihn bestimmte Modbus-Telegramm, erkannt hat, liest es vorzugsweise den Funktionscode 0x64 und den Code 0x83 aus dem Modbus-Telegramm aus. Die Steuereinheit 41 ist vorzugsweise dazu ausgebildet, den Code 0x83 auszuwerten und das dazugehörende Kommando 3 beispielsweise wie folgt auszuführen:
    • Aus dem Nutzdatenfeld des Modbus-Telegramms wird die gültige Adresse ausgelesen und in dem Speicher 42 gespeichert. Im einfachsten Fall wird die bisher darin gespeicherte Modbus Broadcast Adresse einfach durch die gültige Adresse überschrieben. Optional kann das Modbus-Slavegerät 40 dazu ausgebildet sein, die nunmehr als gültige Adresse im Speicher 42 hinterlegte Adresse als gültig zu kennzeichnen. Um dem Modbus-Mastergerät 20 zu bestätigen, dass die gültige Adresse im Modbus-Slavegerät 40 gespeichert worden ist, kann das Modbus-Slaveberät 40 ein weiteres Modbus-Telegramm erzeugen, welches die Broadcast Adresse 0x00, den Funktionscode 0x64, in entsprechenden Abschnitten des Nutzdatenfelds den Code 0x83, die gespeicherte gültige Adresse sowie die eindeutige Kennung ID2 und im vierten Feld die entsprechende Prüfsumme enthält. Anschließend wird dieses Modbus-Telegramm über den Modbus 70 übertragen. Das Modbus-Mastergerät 20 ist dazu ausgebildet, zu erkennen, dass das gesendete Modbus-Telegramm für ihn bestimmt ist. Hierzu kann das Modbus-Mastergerät entweder den im Nutzdatenfeld übertragenen Code 0x83 und/oder die im Nutzdatenfeld übertragene gültige Adresse und/oder die im Nutzdatenfeld übertragene eindeutige Kennung ID2 auswerten.
  • Sobald das Modbus-Slavegerät 50 das für ihn bestimmte Modbus-Telegramm, welches in Schritt 3.n übertragen worden ist, erkannt hat, liest es vorzugsweise den Funktionscode 0x64 und den Code 0x83 aus dem Modbus-Telegramm aus. Die Steuereinheit 51 ist vorzugsweise dazu ausgebildet, den Code 0x83 auszuwerten und das dazugehörende Kommando 3 beispielsweise wie folgt auszuführen:
    • Aus dem Nutzdatenfeld des Modbus-Telegramms wird die gültige Adresse ausgelesen und in dem Speicher 52 gespeichert. Im einfachsten Fall wird die bisher darin gespeicherte Modbus Broadcast Adresse einfach durch die gültige Adresse überschrieben. Optional kann das Modbus-Slavegerät 50 dazu ausgebildet sein, die nunmehr als gültige Adresse im Speicher 52 hinterlegte Adresse als gültig zu kennzeichnen. Um dem Modbus-Mastergerät 20 zu bestätigen, dass die gültige Adresse im Modbus-Slavegerät 50 gespeichert worden ist, kann das Modbus-Slavegerät 50, wie in Schritt 4.n der 3 gezeigt, ein weiteres Modbus-Telegramm erzeugen, welches die Broadcast Adresse 0x00, den Funktionscode 0x64, in entsprechenden Abschnitten des Nutzdatenfelds den Code 0x83, die gespeicherte gültige Adresse sowie die eindeutige Kennung IDn und im vierten Feld die entsprechende Prüfsumme enthält. In Schritt 4.n wird anschließend dieses Modbus-Telegramm über den Modbus 70 übertragen. Das Modbus-Mastergerät 20 ist dazu ausgebildet, zu erkennen, dass das in Schritt 4.n gesendete Modbus-Telegramm für ihn bestimmt ist. Hierzu kann das Modbus-Mastergerät entweder den im Nutzdatenfeld übertragenen Code 0x83 und/oder die im Nutzdatenfeld übertragene gültige Adresse und/oder die im Nutzdatenfeld übertragene eindeutige Kennung IDn auswerten.
  • Nachdem die Schritte 1 bis 3.n und gegebenenfalls auch die Schritte 4.1 bis 4.ngemäß 3 ausgeführt worden sind, verfügt jedes der an den Modbus 70 angeschlossenen Modbus-Slavegeräte 30-50 über eine gültige Adresse.
  • Nunmehr wird ein weiteres beispielhaftes Szenario erläutert. Angenommen sei hierzu, dass das Modbus-Kommunikationsnetzwerk 10, welches die Modbus-Slavegeräte 30 bis 50 umfasst und in der zuvor beschriebenen Weise konfiguriert worden ist, erweitert werden soll, indem das noch nicht konfigurierte Modbus-Slavegerät 60 an den Modbus 70 angeschlossen wird. Demzufolge ist im Speicher 62 des Modbus-Slavegeräts 60 noch die Modbus Rundsendeadresse 0x00 als ungültige Adresse gespeichert, während in den Modbus-Slavegeräte 30 bis 50, wie zuvor beschrieben, jeweils eine gültige Adresse gespeichert ist.
  • Denkbar ist, dass das Modbus-Mastergerät 20 zum Beispiel zyklisch in vorbestimmten Zeitintervallen ein Modbus-Telegramm, welches in 4 gezeigt ist und dem in Schritt 1 der 3 gezeigten Modbus-Telegramm entspricht, rundgesendet wird. Auf diese Weise kann zyklisch geprüft werden, ob bereits allen angeschlossenen Modbus-Slavegeräten eine gültige Adresse zugewiesen worden ist.
  • Allerdings sei nunmehr angenommen, dass das Modbus-Mastergerät 20 beispielsweise durch ein Startsignal, welches von einer Bedienperson eingegeben werden kann, aktiviert wird, zu prüfen, ob alle angeschlossenen Modbus-Slavegeräte 30 bis 60 eine gültige Adresse aufweisen und, wenn nicht, dass dem jeweiligen Modbus-Slavegerät automatisch eine gültige Adresse zugewiesen wird.
  • Unter Ansprechen auf das beispielhafte Startsignal erzeugt das Modbus-Mastergerät 20 in Schritt 1, der in 4 gezeigt ist, ein Modbus-Telegramm, welches im ersten Feld die Modbus Broadcast Adresse 0x00, im zweiten Feld den beispielhaften Funktionscode 0x64, im Nutzdatenfeld den Code 0x82, der auf das Kommando 2 hinweist, und im letzten Feld die Prüfsumme enthält. Anschließend wird das Modbus-Telegramm vom Modbus-Mastergerät 20 über den Modbus 70 rundgesendet, d. h. jedes angeschlossene Modbus-Slavegerät 30-60 empfängt dieses Modbus-Telegramm.
  • Jedes der Modbus-Slavegeräte 30-60 wertet nunmehr den im empfangenen Modbus-Telegramm enthaltene Funktionscode 0x64 und den Code 0x82 aus und führt den entsprechenden Befehl des Kommandos 2 unter Steuerung des jeweiligen Mikrocontrollers 31, 41, 51 bzw. 61 aus. Das bedeutet, jedes der Modbus-Slavegeräte 30-50 prüft, ob im Speicher 32, 42, 52 bzw. 62 eine gültige Adresse abgelegt ist. Da, wie bereits oben erwähnt, den Modbus-Slavegeräte 30 bis 50 bereits eine gültige Adresse zugewiesen worden ist und nur das Modbus-Slavegerät 60 noch im Urzustand ist und deshalb die Modbus Broadcast Adresse 0x00 in dem Speicher 62 speichert ist, stellt jedes der Modbus-Slavegeräte 30 bis 50 fest, dass es über eine gültige Adresse verfügt. Demzufolge antworten die Modbus-Slavegeräte 30-50 auch nicht auf das in Schritt 1 vom Modbus-Mastergerät 20 gesendete Modbus-Telegramm.
  • Hingegen wertet das neu hinzugekommene Modbus-Slavegerät 60 das empfangene Modbus-Telegramm aus und führt den Befehl, der zum Code 0x82 gehört aus, indem es zunächst prüft, ob es eine gültige Adresse gespeichert hat. Die Prüfung ergibt, dass im Modbus-Slavegerät 60 nur die ungültige Modbus Broadcast Adresse 0x00 gespeichert ist. Unter Ausführung des Kommandos 2, der dem Code 0x82 zugeordnet ist, und unter Ansprechen auf das Ergebnis, dass im Modbus-Slavegerät 60 keine gültige Adresse gespeichert ist, erzeugt nunmehr das Modbus-Slavegerät 60 ein Modbus-Antworttelegramm, welches im ersten Feld beispielsweise die Rundsendeadresse 0x00, im zweiten Feld den Funktionscode 0x64, in entsprechenden Bereichen des Nutzdatenfelds den Code 0x82, die eindeutige Kennung ID(n+1), das ist im vorliegenden Beispiel die Seriennummer des Modbus-Slavegeräts 60, und je nach Implementierung auch die ungültige Broadcastadresse, sowie im vierten Feld eine entsprechende Prüfsumme enthält. Wie in 4 gezeigt, wird in Schritt 2 dieses Modbus-Telegramm vom Modbus-Slavegerät 60 über den Modbus 70 rundgesendet.
  • Zweckmäßigerweise ist nur das Modbus-Mastergerät 20 ist dazu ausgebildet, dass in Schritt 2 empfangene Modbus-Telegramm zu empfangen, auszuwerten und/oder zu verarbeiten. Hierzu kann beispielsweise der Code 0x82 und/oder die eindeutige Kennung ID(n+1) des Modbus-Slavegeräts 60 vom Modbus-Mastergerät 20 als Zieladresse interpretiert werden. Das Modbus-Mastergerät 20 ist vorzugsweise dazu ausgebildet, aus einer Liste von gültigen Adressen eine gültige Adresse für das Modbus-Slavegerät 60 auszuwählen und beispielsweise diese Adresse der eindeutigen Kennung ID(n+1) des Modbus-Slavegeräts 60 zuzuordnen und diese Zuordnung in der Speichereinrichtung 23 zu hinterlegen. Anschließend erzeugt in Schritt 3 das Modbus-Mastergerät 20 ein Modbus-Telegramm, welches im ersten Feld die Rundsendeadresse 0x00, im zweiten Feld den Funktionscode 0x64 und in entsprechenden Abschnitten bzw. Teilfeldern des Nutzdatenfelds den Code 0x83 für das Kommando 3, die für das Modbus-Slavegerät 60 zuvor ausgewählte gültige Adresse und die eindeutige Kennung ID(n+1) des Modbus-Slavegeräts 60 enthält. Abgeschlossen wird das Modbus-Telegramm wiederum durch die Prüfsumme. Wie in 4 weiter gezeigt, wird in Schritt 3 anschließend dieses Modbus-Telegramm über den Modbus 70 rundgesendet. Das Modbus-Slavegerät 60 ist dazu ausgebildet, anhand der im Modbus-Telegramm enthaltenen eindeutigen Kennung ID(n+1) zu erkennen, dass das in Schritt 3 rundgesendete Modbus-Telegramm für das Modbus-Slavegerät 60 bestimmt ist. Folglich verarbeitet lediglich das Modbus-Slavegerät 60 das in Schritt 3 empfangene Modbus-Telegramm und führt das dem Code 0x83 zugeordnete Kommando 3 aus. Demgemäß speichert das Modbus-Slavegerät 60 die im Modbus-Telegramm empfangene gültige Adresse im Speicher 62, indem vorzugsweise die darin bisher gespeicherte ungültige Broadcastadresse überschrieben wird. Optional kann zusätzlich das Modbus-Slavegerät 60 die nunmehr im Speicher 62 hinterlegte gültige Adresse auch noch als gültig kennzeichnen.
  • Gemäß einer vorteilhaften Ausgestaltung kann nunmehr das Modbus-Slavegerät 60 ein Modbus-Bestätigungstelegramm erzeugen, welches die Broadcastadresse 0x00, den Funktionscode 0x64 und im Nutzdatenfeld den Code 0x83 für das Kommando 3, die im Speicher 62 hinterlegte gültige Adresse und die eindeutige Kennung ID (n+1) des Modbus-Slavegeräts 60 enthält. Wiederrum wird das Modbus-Betätigungstelegramm durch die Prüfsumme abgeschlossen. In Schritt 4 der 4 wird anschließend das Modbus-Bestätigungstelegramm vom Modbus-Slavegerät 60 über den Modbus 70 rundgesendet und ausschließlich vom Modbus-Mastergerät 20 verarbeitet. Das Modbus-Mastergerät 20 liest aus dem empfangenen Modbus-Bestätigungstelegramm die gültige Adresse und die eindeutige Kennung ID(n+1) des Modbus-Slavegeräts 60 aus und weiß folglich, dass in dem Modbus-Slavegerät 60 eine gültige Adresse gespeichert ist.
  • Nunmehr verfügen alle am Modbus 70 angeschlossene Modbus-Slavegeräte 30-60 über eine individuelle gültige Adresse.
  • Nachfolgend wird ein weiteres beispielhaftes Szenario näher erläutert, welches zum Beispiel auf das vorherige Szenario folgen kann. Gemäß diesem Szenario soll ein Reset und eine vollständige Neuadressierung des in 1 gezeigten Modbus-Kommunikationsnetzwerkes 10 durchgeführt werden, indem jedem angeschlossenen Modbus-Slavegerät 30-60 eine neue gültige Adresse zugeordnet werden soll. Eine solche Maßnahme kann beispielsweise dann sinnvoll sein, wenn ein fehlerhafter Betrieb des Modbus-Kommunikationsnetzwerks 10 beispielsweise vom Modbus-Mastergerät 20 erkannt worden ist. Eine Möglichkeit, einen fehlerhaften Betrieb zu erkennen, kann darin bestehen, dass das Modbus-Mastergerät 20 beispielsweise von einem der angeschlossen Modbus-Slavegeräte überhaupt keine Modbus-Antworttelegramme oder zum Beispiel fehlerhafte Modbus-Telegramme empfängt. Unter Ansprechen auf einen erkannten fehlerhaften Betrieb des Kommunikationsnetzwerkes 10 kann das Modbus-Mastergerät 20 automatisch das in 5 gezeigte Reset- und Neuadressierungsverfahren starten und durchführen. Denkbar ist aber auch, dass eine Bedienperson einen entsprechenden Startbefehl zum Reset und zur Neuadressierung am Modbus-Mastergerät 20 eingibt.
  • Nunmehr sei angenommen, dass das Modbus-Mastergerät 20 beispielsweise durch ein Startsignal, welches von einer Bedienperson eingegeben worden ist, aktiviert wird, eine Neuvergabe von gültigen Adressen an die Modbus-Slavegeräte 30 bis 60 durchzuführen.
  • Unter Ansprechen auf das beispielhafte Startsignal erzeugt das Modbus-Mastergerät 20 in Schritt 1 der 5 ein erstes Modbus-Telegramm, welches im ersten Feld die Modbus Broadcast Adresse 0x00, im zweiten Feld den beispielhaften Funktionscode 0x64, im Nutzdatenfeld den Code 0x81, der auf das Kommando 1 hinweist, und im letzten Feld die Prüfsumme enthält. Anschließend wird das erste Modbus-Telegramm vom Modbus-Mastergerät 20 über den Modbus 70 rundgesendet, d. h. jedes angeschlossene Modbus-Slavegerät 30-60 empfängt das erste Modbus-Telegramm. Wie bereits weiter oben erwähnt, enthält das Kommando 1 eine Aufforderung für die empfangenden Modbus-Slavegeräte 30-60, entweder die in den Speichern 32 bis 62 aktuell gespeicherten Adressen vorzugsweise als ungültig zu kennzeichnen oder zu löschen.
  • Jedes der Modbus-Slavegeräte 30-60 empfängt und verarbeitet das in Schritt 1 rundgesendete erste Modbus-Telegramm. Insbesondere führt jedes der Modbus-Slavegeräte 30 bis 60 das Kommando 1, welches dem im ersten Modbus-Telegramm enthaltenen Code 0x81 zugeordnet ist, aus, indem die im Speicher 32, 42, 52 bzw. 62 hinterlegte Adresse als ungültig gekennzeichnet oder gelöscht wird.
  • Eine vorbestimmte Zeit später, die insbesondere die Verarbeitungszeit der Modbus-Slavegeräte 30-60 berücksichtigt, erzeugt das Modbus-Mastergerät 20 in Schritt 2 der 5 ein zweites Modbus-Telegramm, welches im Aufbau dem in Schritt 1 der 3 gezeigten Modbus-Telegramm entspricht. Das heißt, das zweite Modbus-Telegramm enthält im ersten Feld die Rundsendeadresse 0x00, im zweiten Feld den Funktionscode 0x64, im Nutzdatenfeld den Code 0x82 für das Kommando 2 sowie im vierten Feld wiederum die entsprechende Prüfsumme. Das Kommando 2 definiert vorzugsweise den Befehl, dass ein Modbus-Slavegerät seine eindeutige Kennung, dass ist beispielsweise seine Seriennummer, senden soll, wenn es aktuell über keine gültige Adresse verfügt. Angemerkt sei, dass jedes der angeschlossenen Modbus-Slavegeräte 30-60 vorzugsweise dazu ausgebildet ist, den im zweiten Modbus-Telegramm empfangen Code 0x82 als Kommando 2 zu erkennen und auszuführen, indem es zunächst prüft, ob es eine gültige Adresse besitzt.
  • Wie in 5 gezeigt, sendet das Modbus-Mastergerät 20 in Schritt 2 nunmehr das zweite Modbus-Telegramm über den Modbus 70 an alle Modbus-Slavegeräte 30-60.
  • Jedes der Modbus-Slavegeräte 30-60 wertet nunmehr den im empfangenen zweiten Modbus-Telegramm enthaltene Funktionscode 0x64 und den Code 0x82 aus und führt den entsprechenden Befehl des Kommandos 2 unter Steuerung des jeweiligen Mikrocontrollers 31, 41, 51 bzw. 61 aus. Das bedeutet, jedes der Modbus-Slavegeräte 30-60 prüft zunächst, ob im Speicher 32, 42, 52 bzw. 62 eine gültige Adresse abgelegt ist. Da, wie bereits oben geschildert, die in den Speichern 32 bis 62 bisher gespeicherten Adressen bereits als ungültig gekennzeichnet oder gelöscht worden sind, ergibt die Prüfung durch jedes der Modbus-Slavegeräte 30 bis 60, dass keine gültige Adresse gespeichert ist.
  • Unter weiterer Ausführung des Kommandos 2 erzeugt nunmehr jedes der Modbus-Slavegeräte 30-60 ein Modbus-Telegramm, welches im ersten Feld beispielsweise die Modbus-Rundsendeadresse 0x00, im zweiten Feld den Funktionscode 0x64, im jeweiligen Nutzdatenfeld den Code,0x82 und zudem seine eindeutige Kennung und je nach Implementierung auch seine ungültige Adresse und im vierten Feld die dazugehörende Prüfsumme enthält. Diese Modbus-Telegramme werden in den Schritten 3.1 bis 3.n+1 erzeugt und anschließend jeweils zeitversetzt über den Modbus 70 übertragen, wie in 5 dargestellt. Mit anderen Worten: In Schritt 3.1 liest das Modbus-Slavegerät 30 seine eindeutige Kennung ID1 aus dem Speicher 33 aus, schreibt die eindeutige Kennung und gegebenenfalls auch seine als ungültig gekennzeichnete Adresse in die dafür vorgesehenen Abschnitte des Nutzdatenfeldes und übergibt anschließend das Modbus-Telegramm in Schritt 3.1 dem Modbus 70 zur Übertragung. Dieses Prozedere wird in gleicher Weise von den Modbus-Slavegeräten 40 bis 60 ausgeführt. Um Kollisionen zu verhindern, kann beispielsweise vorgesehen sein, dass jedes der Modbus-Slavegerät 30-60 einen zufälligen Sendezeitpunkt berechnet, zu dem das jeweilige Modbus-Telegramm in den Schritten 3.1 bis 3.n+1 auf den Modbus 70 gelegt wird.
  • Gemäß einer beispielhaften Implementierung erkennt das Modbus-Mastergerät 20 anhand des Codes 0x82 und/oder der eindeutigen Kennung, welche in den jeweiligen, in den Schritten 3.1 bis 3.n+1 gesendeten Modbus-Telegrammen enthalten sind, dass diese Modbus-Telegramme für ihn bestimmt sind. Demzufolge empfängt das Modbus-Mastergerät 20 die in den Schritten 3.1 bis 3.n+1 gesendeten Modbus-Telegramme und liest aus jedem empfangenen Modbus-Telegramm die darin enthaltene eindeutige Kennung des jeweiligen Modbus-Slavegeräts aus. Anhand der ausgelesenen eindeutigen Kennungen weiß das Modbus-Mastergerät 20 nunmehr, dass die Modbus-Slavegeräte 30 bis 60 keine gültigen Adressen mehr besitzen.
  • Gemäß einer beispielhaften Implementierung kann nunmehr die Steuereinheit 25 unter Ansprechen auf die Codes 0x64 und 0x82, die in jedem empfangenen Modbus-Telegramm enthalten sind, das Modbus-Mastergerät 20 veranlassen, für jedes der Modbus-Slavegeräte 30 bis 60 eine individuelle gültige Adresse aus der im Speicher 24 gespeicherten Liste gültiger Adressen auswählen und den eindeutigen Kennungen ID1, ID2, IDn bzw. ID(n+1) jeweils eine der ausgewählten Adressen zuordnen. Die jeweiligen Zuordnungen können beispielsweise in der Speichereinrichtung 23 gespeichert werden. Das Modbus-Mastergerät 20 kennt nunmehr die den jeweiligen Modbus-Slavegeräten 30 bis 60 neu zugeordneten gültigen Adressen. Die bisherige Zuordnungsliste kann im Speicher 23 gelöscht werden.
  • Nunmehr veranlasst die Steuereinheit 25 das Modbus-Mastergerät 20, für jede empfangene eindeutige Kennung, d.h. für jedes Modbus-Slavegerät 30 bis 60, ein Modbus-Telegramm zu erzeugen, welches im ersten Feld die Rundsendeadresse 0x00, im zweiten Feld den Funktionscode 0x64, in entsprechenden Abschnitten des Nutzdatenfelds, den Code 0x83 für das Kommando 3, die jeweilige eindeutige Kennung und die dieser eindeutigen Kennung zugewiesene gültige Adresse, sowie im vierten Feld wiederum die entsprechende Prüfsumme enthält. Die entsprechenden Modbus-Telegramme werden in den Schritten 4.1 bis 4.n+1 erzeugt und sind in 5 beispielhaft für die beiden eindeutigen Kennungen ID1 und ID(n+1), welche dem Modbus-Slavegerät 30 bzw. dem Modbus-Slavegerät 60 gehören, dargestellt. Anschließend sendet das Modbus-Mastergerät 20 in den Schritten 4.1 bis 4.n+1, zeitlich versetzt, die vier Modbus-Telegramme unter Verwendung der Modbus-Rundsendeadresse 0x00 über den Modbus 70.
  • Die Modbus-Slavegeräte 30 bis 60 sind jeweils dazu ausgebildet, aus den in den Schritten 4.1-4.n+1 rundgesendeten Modbus-Telegramme das für das jeweilige Modbus-Slavegerät bestimmte Modbus-Telegramm anhand der darin übertragenen eindeutigen Kennung zu erkennen. Ein Modbus-Telegramm ist für ein Modbus-Slavegerät bestimmt, wenn die in dem jeweiligen Modbus-Telegramm enthaltene eindeutige Kennung mit der im jeweiligen Modbus-Slavegerät gespeicherten eindeutigen Kennung übereinstimmt. So erkennt beispielsweise das Modbus-Slavegerät 30 das für ihn bestimmte Modbus-Telegramm daran, dass in dem Modbus-Telegramm die eindeutige Kennung ID1 enthalten ist. In ähnlicher Weise erkennen die Modbus-Slavegeräte 40 bis 60 das für sie jeweils bestimmte Modbus-Telegramm.
  • Das weitere Verfahren gemäß der Schritte 4.1 bis 4.n+1 und 5.1 bis 5.n+1 wird nachfolgend lediglich in Verbindung mit dem Modbus-Slavegerät 30 näher erläutert. Bezüglich der übrigen Modbus-Slavegeräte 40 bis 60 läuft das Verfahren in ähnlicher Weise ab, und muss deshalb nicht wiederholt werden.
  • Sobald das Modbus-Slavegerät 30 das für ihn bestimmte Modbus-Telegramm, welches in Schritt 4.1 gesendet worden ist, erkannt hat, liest es vorzugsweise den Funktionscode 0x64 und den Code 0x83 aus dem Modbus-Telegramm aus. Die Steuereinheit 31 ist vorzugsweise dazu ausgebildet, den Code 0x83 auszuwerten und das dazugehörende Kommando 3 beispielsweise wie folgt auszuführen:
    • Aus dem Nutzdatenfeld des Modbus-Telegramms wird die gültige Adresse ausgelesen und in dem Speicher 32 als neue gültige Adresse gespeichert. Optional kann das Modbus-Slavegerät 30 dazu ausgebildet sein, die nunmehr als gültige Adresse im Speicher 32 hinterlegte Adresse als gültig zu kennzeichnen. Um dem Modbus-Mastergerät 20 zu bestätigen, dass die neue gültige Adresse im Modbus-Slavegerät 30 gespeichert worden ist, kann das Modbus-Slaveberät 30, wie in Schritt 5.1 der 5 gezeigt, ein weiteres Modbus-Telegramm erzeugen, welches die Broadcast Adresse 0x00, den Funktionscode 0x64, in entsprechenden Abschnitten des Nutzdatenfelds den Code 0x83, die gespeicherte neue gültige Adresse sowie die eindeutige Kennung ID1 und im vierten Feld die entsprechende Prüfsumme enthält. In Schritt 5.1 wird anschließend dieses Modbus-Telegramm über den Modbus 70 übertragen. Das Modbus-Mastergerät 20 ist dazu ausgebildet, zu erkennen, dass das in Schritt 5.1 gesendete Modbus-Telegramm für ihn bestimmt ist. Hierzu kann das Modbus-Mastergerät entweder den im Nutzdatenfeld übertragenen Code 0x83 und/oder die im Nutzdatenfeld übertragene gültige Adresse und/oder die im Nutzdatenfeld übertragene eindeutige Kennung ID1 auswerten.
  • Nachdem die Schritte 1-4.n+1 und gegebenenfalls die Schritte 51 bis 5.n+1 gemäß 5 ausgeführt worden sind, verfügt jedes der an den Modbus 70 angeschlossenen Modbus-Slavegeräte 30-60 über eine neue gültige Adresse.
  • 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
    • CN 108737590 [0003]

Claims (10)

  1. Verfahren zum automatischen Vergeben von Adressen in einem Modbus-Kommunikationsnetzwerk (10), das eine Mehrzahl von Modbus-Slavegeräten (30-60), in denen jeweils eine eindeutige Kennung abgelegt ist, und ein Modbus-Mastergerät (20) aufweist, mit folgenden Schritten: a) Senden, von dem Modbus-Mastergerät (20), eines ersten Modbus-Telegramms an alle Modubus-Slavegeräte (30-60) des Modbus-Kommunikationsnetzwerks (10), wobei das erste Modbus-Telegramm eine Rundsendeadresse und einen Befehl zur Aufforderung eines keine gültige Adresse aufweisenden Modbus-Slavegeräts (30), dessen eindeutige Kennung zu senden, enthält; b) unter Ansprechen auf das erste Modbus-Telegramm Prüfen, durch jedes der Modbus-Slavegeräte (30-60), ob es aktuell eine gültige Adresse enthält; wenn nein, c) dann Senden, von jedem Modbus-Slavegerät (30-60), das aktuell keine gültige Adresse enthält, eines Modbus-Telegramms, das die eindeutige Kennung des jeweiligen Modbus-Slavegeräts enthält, zum Modbus-Mastergerät (20); d) Auswerten, durch das Modbus-Mastergerät (20), jedes in Schritt c) empfangenen Modbus-Telegramms; e) Senden, vom Modbus-Mastergerät (20), für jedes Modus-Slavegerät (30-60), welches in Schritt c) ein Modbus-Telegramm gesendet hat, eines zweites Modbus-Telegramms, wobei jedes zweite Modbus-Telegramm die Rundsendeadresse, eine gültige individuelle Adresse für das jeweilige Modbus-Slavegerät, die eindeutige Kennung des jeweiligen Modbus-Slavegeräts und einen Befehl zum Speichern der gültigen individuellen Adresse, enthält, an alle Modbus-Slavegeräte (30-60); f) Auswerten, durch jedes Modbus-Slavegerät (30-60), welches in Schritt c) ein Modbus-Telegramm gesendet hat, nur desjenigen zweiten Modbus-Telegramms, das die eindeutige Kennung des jeweiligen Modbus-Slavegeräts enthält, und Speichern der in diesem zweiten Modbus-Telegramm enthaltenen gültigen Adresse in dem jeweiligen Modbus-Slavegerät.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zeitlich vor Schritt a) die folgenden Schritte ausgeführt werden: - vom Modbus-Mastergerät (20) wird ein drittes Modbus-Telegramm an alle Modbus-Slavegeräte (30-60) des Modbus- Kommunikationsnetzwerks (10) gesendet, wobei das dritte Modbus-Telegramm die Rundesendeadresse und einen Befehl enthält, die aktuelle Adresse als ungültig zu kennzeichnen und/oder zu löschen; und - unter Ansprechen auf das dritte Modbus-Telegramm wird in jedem Modbus-Slavegeräte (30-60) des Modbus-Kommunikationsnetzwerks (10) die aktuelle Adresse als ungültig gekennzeichnet und/oder gelöscht.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass ein fehlerhafter Betrieb des Modbus-Kommunikationsnetzwerks (10) durch das Modbus-Mastergerät (20) erkannt wird, und dass unter Ansprechen auf das Erkennen eines fehlerhaften Betriebs das Verfahren nach Anspruch 2 durch das Modbus-Mastergerät (20 automatisch gestartet wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die in Schritt f) in dem jeweiligen Modbus-Slavegerät gespeicherte gültige Adresse als gültig gekennzeichnet wird.
  5. Verfahren nach einem vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in Schritt c) in jedem gesendeten Modbus-Telegramm die ungültige Adresse des jeweiligen Modbus-Slavegeräts mit übertragen wird.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in Schritt e) vom Modbus-Mastergerät (20) für jedes Modus-Slavegerät (30-60), welches in Schritt c) ein Modbus-Telegramm gesendet hat, eine individuelle gültige Adresse aus einer Vielzahl gültiger Adressen ausgewählt wird, und dass im Modbus-Mastergerät (20) eine Zuordnung zwischen der ausgewählten gültigen Adresse und der eindeutigen Kennung des jeweiligen Modbus-Slavegeräts gespeichert wird.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in Schritt f) vom jeweiligen Modbus-Slavegerät ein Modbus-Telegramm, das die eindeutige Kennung des jeweiligen Modbus-Slavegeräts und die darin gespeicherte gültige Adresse enthält, zum Modbus-Mastergerät gesendet wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in jedem Modbus-Slavegerät (30-60) des Modbus-Kommunikationsnetzwerks (10) als eindeutige Kennung dessen Seriennummer abgelegt ist.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass, wenn in wenigstens einem der Modbus-Slavegeräte aktuell eine Modbus-Rundsendeadresse abgelegt ist, diese Modbus-Rundsendeadresse in Schritt b) vom jeweiligen Modbus-Slavegerät (20) als ungültige Adresse interpretiert wird.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Modbus-Kommunikationsnetzwerk (10) im Modbus Remote Terminal Unit (RTU) Modus betrieben wird.
DE102022102143.2A 2022-01-31 2022-01-31 Verfahren zum automatischen Vergeben von Adressen in einem Modbus-Kommunikationsnetzwerk Pending DE102022102143A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022102143.2A DE102022102143A1 (de) 2022-01-31 2022-01-31 Verfahren zum automatischen Vergeben von Adressen in einem Modbus-Kommunikationsnetzwerk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022102143.2A DE102022102143A1 (de) 2022-01-31 2022-01-31 Verfahren zum automatischen Vergeben von Adressen in einem Modbus-Kommunikationsnetzwerk

Publications (1)

Publication Number Publication Date
DE102022102143A1 true DE102022102143A1 (de) 2023-08-03

Family

ID=87160491

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022102143.2A Pending DE102022102143A1 (de) 2022-01-31 2022-01-31 Verfahren zum automatischen Vergeben von Adressen in einem Modbus-Kommunikationsnetzwerk

Country Status (1)

Country Link
DE (1) DE102022102143A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737590A (zh) 2018-05-15 2018-11-02 浙江正泰电器股份有限公司 一种地址自动分配的方法、系统、Modbus主站、Modbus从站

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737590A (zh) 2018-05-15 2018-11-02 浙江正泰电器股份有限公司 一种地址自动分配的方法、系统、Modbus主站、Modbus从站

Similar Documents

Publication Publication Date Title
DE3853125T2 (de) Verfahren und Vorrichtung zur Steuerung von Endgeräten eines Übertragungsnetzes.
DE102018125894B4 (de) Verfahren zum Auflösen eines Adresskonflikts bei dem Modbus RTU-Standardprotokoll
DE69218016T2 (de) Verfahren zum Verarbeiten von Steueraufträgen
EP3669550B1 (de) Verfahren zum betreiben einer sensoranordnung in einem kraftfahrzeug auf basis eines dsi-protokolls
EP1309920A2 (de) Adressvergabeverfahren für mindestens einen neu an ein bussystem angeschlossenen busteilnehmer
WO2001007974A1 (de) Verfahren zum konfigurieren eines feldbus-teilnehmers
EP1151358B1 (de) Verteiles steuerungssystem mit lagebestimmung der komponenten
DE102019114303B3 (de) Verfahren zum Erfassen von Netzwerkteilnehmer in einem Automatisierungsnetzwerk und Automatisierungsnetzwerk
DE102020121316A1 (de) Einheit für ein Bussystem, Master-Slave-Bussystem mit einer Vielzahl von Einheiten und Verfahren zur Adressierung von Einheiten eines Bussystems
EP2733910B1 (de) BUS-System, Verfahren zum Betrieb eines BUS-Systems und fluidisches System mit einem BUS-System
EP1320979A1 (de) Verfahren und vorrichtung zur ermittlung der netztopologie eines bussystems
DE112012005479T5 (de) Weiterleiteinrichtung, Kommunikationskabelbaum und Kommunikationssystem
EP2153289A1 (de) Verfahren zum parametrieren von betriebsmitteln
EP0290894B1 (de) Verfahren zum Verteilen von aktuellen Adressentabellen in "n" ringförmigen Netzen
DE102015107865A1 (de) Bussystem und Verfahren zum Zuteilen von Adressen von Busteilnehmern eines Bussystems
DE102022102143A1 (de) Verfahren zum automatischen Vergeben von Adressen in einem Modbus-Kommunikationsnetzwerk
WO2011072958A1 (de) Verfahren zum zuweisen einer polling-adresse an ein feldgerät
EP1642207B1 (de) Zuordnung von stationsadressen zu kommunikationsteilnehmern in einem bussystem
EP4057596A1 (de) Adressierbares master-slave-system sowie verfahren zum adressieren von slave-einheiten
WO2005107173A1 (de) Einrichtung zur adressvergabe in einem normierten feldbus-system
DE102010003741A1 (de) Verfahren zum Datenaustausch
DE69032078T2 (de) Elektronische Anordnung mit Datenübertragungsfunktion
WO1997022057A1 (de) Verfahren zur adresseinstellung an bussystemen mit paralleler verdrahtung und vorrichtung zur durchführung des verfahrens
DE102017117225B3 (de) Kommunikationssystem mit Bus und Codierleitung
DE102015121290A1 (de) Busanordnung mit einem Teilnehmer mit Modulen und Verfahren zum Betreiben einer Busanordnung