Schwebe-Animation

Analyse der Begriffe im Zusammenhang mit dem Modbus-Protokoll

Verwandte Videos

Kontakt

WhatsApp / Telefon

Wenn Sie das Modbus-Protokoll lesen, werden Sie immer wieder auf einige verwirrende Begriffe stoßen, die zu Problemen bei der Interpretation des Protokolls führen. In diesem Artikel finden Sie Erklärungen zu den Begriffen im Modbus-Protokoll, die Sie verwirren könnten.

1. Funktionscode:

Funktionscodes werden verwendet, um die Funktion von Informationsrahmen im Modbus-Protokoll darzustellen. Häufig verwendete Funktionscodes sind 03, 04, 06, 16, usw. Unter ihnen wird der Funktionscode 03 verwendet, um den Inhalt des Holding-Registers zu lesen, und der Funktionscode 04 wird verwendet, um den Inhalt des Input-Registers zu lesen (Der Unterschied zwischen Input-Registern und Holding-Registern (siehe unten), der Inhalt des Funktionscodes 06 ist es, ein einzelnes Holding-Register vorzugeben, und der Inhalt des Funktionscodes 16 ist es, mehrere Holding-Register vorzugeben.

2. Eingaberegister und Halteregister:

Der Funktionscode 04 dient zum Lesen des Eingangsregisters, während der Funktionscode 03 zum Lesen des Halteregisters dient. Viele Leute hoffen immer, den Unterschied zwischen den beiden Funktionscodes zu finden, wenn sie diese beiden Funktionscodes sehen. Das Halteregister und das Eingangsregister Was ist der Unterschied zwischen Registern? Das Modbus-Protokoll wurde ursprünglich verwendet, um das Kommunikationsprotokollproblem der SPS zu lösen. Es wird hauptsächlich für die Eingabe und Ausgabe von digitalen und analogen Signalen verwendet. Das sogenannte Eingaberegister wird vom analogen Signaleingang abgeleitet, d.h. das Eingaberegister kann nur von der analogen Signaleingangsseite aus geändert werden, und der Host kann die Daten des Eingaberegisters nicht durch Anweisungen ändern. Das Halteregister wird zur Ausgabe analoger Signale verwendet. Der Host kann die Registerdaten ändern. Das heißt, dass das Eingangsregister für den Host schreibgeschützt ist, während das Halteregister gelesen und geschrieben werden kann. Wenn der Host die Funktionscodebefehle 06, 16 zum Voreinstellen des Eingangsregisters verwendet, gibt das Gerät den Fehlercode 0x81 zurück, d. h. es wurde versucht, in ein schreibgeschütztes Register zu schreiben.

3. das Datenadressformat in Modbus:

Im Modbus-Protokoll tauchen häufig Register ähnlich wie 3xxxx und 4xxxx auf, die die vom Register unterstützten Datentypen darstellen. Zur Veranschaulichung verwenden wir eine Liste, und das Modbus-Datenadressformat beginnt bei 0. Das folgende Register 40009 bedeutet beispielsweise ein Holding-Register. Die Registeradresse lautet 00 08. Ähnliche Datenadressformate werden häufig in Konfigurationssoftware und SPS-Systemen verwendet. .

Mapping-Adresse Verwendeter Funktionscode Art der Adresse Zugriffsmethode beschreiben
0XXXX 01,05,15 Diskreter Ausgang Lesen und Schreiben Jedes Band repräsentiert ein einzelnes Schalterbit
1XXXX 02 diskreter Eingang nur lesen Jedes Band repräsentiert ein einzelnes Schalterbit
2XXXX 03,04,06,16 Gleitkommaregister nur lesen/lesen/schreiben Zwei aufeinanderfolgende 16-Bit-Register stellen eine Gleitkommazahl dar
3XXXX 04 Eingaberegister nur lesen Jedes Register stellt eine 16-Bit-Ganzzahl ohne Vorzeichen dar.
4XXXX 03,06,16 Bestandsregister Lesen und Schreiben Jedes Register stellt eine 16-Bit-Ganzzahl ohne Vorzeichen dar.
5XXXX 03,04,06,16 ASCII-Zeichen Lesen und Schreiben Jedes Register repräsentiert zwei ASCII-Codes

4. modbus RTU/ASCII/TCP:

Das Modbus-Protokoll wurde ursprünglich für die Kommunikation zwischen speicherprogrammierbaren Steuerungen (PLCs) verwendet. Aufgrund seiner Offenheit wird es häufig in intelligenten Feldgeräten verwendet. Es gibt mehrere Varianten des Modbus-Protokolls, von denen die bekanntesten sind Modbus RTU /Modbus ASCII und Modbus TCP Kommunikationsprotokolle. Das RTU/ASCII-Protokoll basiert auf der Kommunikation über die serielle Schnittstelle, während das TCP-Protokoll auf der Ethernet-Kommunikation basiert.

5. die Modbus-Fehlercode-Tabelle:

Modbus hat Funktionscodes, Prüfcodes, anormale Funktionscodes und Fehlercodes, wobei anormale Funktionscodes und Fehlercodes sehr leicht zu verwechseln sind. Im Allgemeinen bezieht sich der abnormale Funktionscode auf den entsprechenden abnormalen Funktionscode, der auftritt, wenn ein bestimmter Funktionscode ausgeführt wird. Im Allgemeinen wird dem Funktionscode 0x80 hinzugefügt. Der Ausnahmecode, der im Funktionscode 03 erscheint, ist zum Beispiel der 0x83 abnormal function code. Der abnormale Funktionscode, der dem Funktionscode 16 entspricht, ist 0x90, und der Fehlercode gibt die spezifische Situation des Fehlers an. Zum Beispiel ist die Registeradresse nicht vorhanden. Unabhängig davon, ob es sich um einen Lese- oder Schreibvorgang handelt, lautet der Fehlercode 02, wenn die Registeradresse nicht vorhanden ist.

Kontakt