Ausführliche Erläuterung des Modbus RTU-Protokolls
MODBUS_RTU-Kommunikationsprotokoll (bei dieser Vereinbarung wird die Master-Slave-Frage-Antwort-Methode angewandt)
MODBUS-Kommunikationsprotokoll: Das ModBus-Kommunikationsprotokoll ermöglicht die Kommunikation der Geräte/Messumformer der Serie PDM mit speicherprogrammierbaren Steuerungen (SPS), RTU, SCADA-Systemen, DCS oder Drittanbietern von vielen international bekannten Marken wie Schneider, Siemens, AB, GE usw. Informationsaustausch und Datenübertragung zwischen ModBus-kompatiblen Überwachungssystemen.

Die Messgeräte/Übertrager der PDM-Serie können durch einfaches Hinzufügen einer computer- (oder industriecomputer-) basierten Überwachungssoftware (wie Kingview, in ouch, FIX, synall, etc.) zu einem Stromüberwachungssystem zusammengefügt werden.
Umfassende Systemintegration: Die Geräte/Messumformer der PDM-Serie verfügen über eine standardmäßige RS-485/422-Kommunikationsschnittstelle und ein ModBus-Kommunikationsprotokoll. Dieses Kommunikationsprotokoll ist als Standard für die Systemintegration in der Energiewirtschaft und der industriellen Steuerungsindustrie im In- und Ausland weit verbreitet.
Art und Format der Kommunikationsdaten: Die Informationsübertragung erfolgt asynchron und in Bytes.
Die Kommunikationsinformationen, die zwischen der Master-Station und der Slave-Station übertragen werden, sind im 11-Bit-Wortformat:
Wortformat (serielle Daten) 11-Bit-Binär
Startbit 1
Datenbits 8 Bits
Paritätsbit 1 Bit: Mit Paritätsbit/Keine: Kein Paritätsbit
Stoppbit 1 Bit: mit Paritätsbit/2 Bits: ohne Paritätsbit
● Format der Kommunikationsdaten (Informationsrahmen)
Datenformat: Adresscode Funktionscode Datenbereich Fehlerprüfung
Datenlänge: 1 Byte 1 Byte N Bytes 16-Bit-CRC-Code (redundanter Zyklus)
Code)
Hinweis
1. Ein Byte besteht aus 8-Bit-Binärzahlen (d. h. 8 Bits).
2. ModBus ist ein eingetragenes Warenzeichen der Modicon Company.
3. Der Begriff "Slave-Maschine" bezieht sich in diesem Dokument auf PDM.
1. Prozess der Übertragung von Informationen:
Wenn der Kommunikationsbefehl vom sendenden Gerät (Host) an das empfangende Gerät (Slave) gesendet wird, empfängt der Slave, der den entsprechenden Adresscode erfüllt, den Kommunikationsbefehl und liest die Informationen entsprechend dem Funktionscode und den damit verbundenen Anforderungen. Wenn die CRC-Prüfung korrekt ist, wird die entsprechende Aufgabe ausgeführt, und die Ausführungsergebnisse (Daten) werden an den Host zurückgegeben. Die zurückgegebenen Informationen umfassen Adresscode, Funktionscode, Daten nach der Ausführung und CRC-Prüfcode. Wenn die CRC-Prüfung fehlschlägt, werden keine Informationen zurückgegeben.
1.1 Adresscode
Der Adresscode ist das erste Byte (8 Bits) eines jeden Kommunikationsinformationsrahmens, von 0 bis 255. Dieses Byte zeigt an, dass der Slave mit einer vom Benutzer eingestellten Adresse die vom Master gesendeten Informationen erhalten wird. Jeder Slave muss einen eindeutigen Adresscode haben, und nur der Slave, der mit dem Adresscode übereinstimmt, kann auf die Rückmeldung antworten. Wenn der Slave Informationen zurücksendet, beginnen die zurückgesendeten Daten mit ihrem jeweiligen Adresscode. Der vom Master gesendete Adresscode gibt die Slave-Adresse an, an die gesendet werden soll, und der vom Slave zurückgesendete Adresscode gibt die zurückgesendete Slave-Adresse an. Der entsprechende Adresscode gibt an, woher die Informationen stammen.
1.2 Funktionscode
Es ist das zweite Byte, das in jedem Kommunikationsinformationsrahmen übertragen wird. Das ModBus-Kommunikationsprotokoll kann Funktionscodes von 1 bis 127 definieren. Die Geräte/Sender der Serie PDM verwenden nur einen Teil der Funktionscodes. Der Funktionscode wird als Host-Anforderung gesendet und dient dazu, dem Slave mitzuteilen, welche Aktion er durchführen soll. Als Slave-Antwort ist der vom Slave zurückgesendete Funktionscode derselbe wie der vom Host gesendete Funktionscode und zeigt an, dass der Slave auf den Host geantwortet und die entsprechenden Operationen ausgeführt hat.
Tabelle 8.1 Einige Funktionscodes des MODBUS
Funktionscode-Definitionsvorgang (binär)
02 Schaltereingang lesen Lesen eines oder mehrerer Schalterstatus-Eingangsdaten
01 Schaltausgang lesen Lesen eines oder mehrerer Schaltausgangsstatusdaten
03 Registerdaten lesen Daten aus einem oder mehreren Registern lesen
05 Schreiben des Schaltausgangs zur Steuerung des "Schließen/Öffnen"-Ausgangs eines Relais
06 Schreiben eines einzelnen Registers Schreiben eines Satzes von Binärdaten in ein einzelnes Register
10 Schreiben mehrerer Register Schreiben mehrerer Sätze von Binärdaten in mehrere Register
1.3 Datenbereich
Der Datenbereich enthält die Informationen, die vom Slave zurückgesendet werden müssen, oder die auszuführende Aktion. Bei diesen Informationen kann es sich um Daten (z. B. Schaltereingang/-ausgang, Analogeingang/-ausgang, Register usw.), Referenzadressen usw. handeln. Wenn der Host dem Slave beispielsweise mit dem Funktionscode 03 mitteilt, dass er den Wert des Registers (einschließlich der Anfangsadresse des zu lesenden Registers und der Länge des gelesenen Registers) zurückgeben soll, dann enthalten die zurückgegebenen Daten die Datenlänge und den Dateninhalt des Registers. Für verschiedene Slave-Geräte sind die Adress- und Dateninformationen unterschiedlich (eine Tabelle mit Kommunikationsinformationen sollte angegeben werden).
Die Messgeräte/Sender der Serie PDM verwenden das Modbus-Kommunikationsprotokoll. Der Host (SPS, RTU, PC, DCS usw.) kann das Datenregister nach Belieben mit dem Kommunikationsbefehl (Funktionscode 03) lesen (siehe Anhang für die Dateninformationstabelle). Das Datenregister des Messgeräts/Messumformers der Serie PDM speichert Hunderte von elektrischen Größen (wie z.B. Strom, Spannung, Leistung, 0~31. harmonische Komponenten, usw.), und sie sind alle 16-Bit (2 Bytes) Binärdaten. Die maximale Anzahl von Registern, die auf einmal gelesen werden können (d.h. die Anzahl der verschiedenen Leistungsarten), beträgt 50.
Das Befehlsformat der PDM-Antwort ist Slave-Adresse, Funktionscode, Datenbereich und CRC-Code. Die Daten im Datenbereich sind alle zwei Bytes, wobei das höherwertige Bit zuerst kommt (außer bei elektrischer Energie).
Anmerkung: 1. PDM-820AC/ACM/ACR, PDM-800AC/ACM Werkzeuge
Es gibt die Funktionscodes "03", "06" und "10";
2. Wenn der PDM das MODBUS-ASCII-Kommunikationsprotokoll verwendet, ist sein Kommunikationsdatenformat: 7
Datenbits, 1 Stoppbit, gerade Parität.
2. Einführung in die MODBUS-Funktionscodes
2.1 Funktionscode "02": Lesen eines oder mehrerer Schalterstatus-Eingänge
Beispiel: Der Host möchte den Eingangsstatus der Schalter DI1-DI4 mit der Adresse 01 lesen.
Die Adresse und die Daten des Slave (PDM) Datenregisters sind:
Startbitadresse DI-Registerdaten (hexadezimal) Bemerkungen 0000 0B
Der Status von DI1/DI2/DI4 ist "1", und der Status von DI3 ist "0".
Das vom Host gesendete Nachrichtenformat:
Anzahl der vom Host gesendeten Bytes Gesendete Informationen Bemerkungen
Slave-Adresse 1 01 wird an den Slave mit der Adresse 01 gesendet
Funktionscode 1 02 liest den Status des Schaltereingangs
Beginnendes BIT-Bit 2 0000 Die Adresse des beginnenden BIT-Bits ist 0000
Lesen der Datenlänge 2 0004 Lesen der Statusbits des 4-Wege-Schaltereingangs
CRC-Code 2 79C9 Der CRC-Code wird vom Host berechnet
Das von der Antwort des Slave (PDM) zurückgegebene Nachrichtenformat:
Slave-Antwort Anzahl der zurückgesendeten Informationsbytes Bemerkungen
Slave-Adresse 1 01 kommt von Slave 01
Funktionscode 1 02 liest den Status des Schaltereingangs
Datenlänge 1 01 1 Byte (8 BITs)
DI-Statusdaten 1 0B DI-Registerinhalt
CRC-Code 2 E04F Der CRC-Code wird von der Slave-Maschine berechnet
2.2 Funktionscode "01": Status von einem oder mehreren Schaltausgängen abfragen
Beispiel: Der Host möchte den Ausgangsstatus der Schalter DO1 und DO2 mit der Adresse 01 lesen.
Die Adresse und die Daten des Slave (PDM) Datenregisters sind:
Startbitadresse DO-Registerdaten (hexadezimal) Bemerkungen
0000 02 DO2-Ausgangsstatus ist "1", DO1-Ausgangsstatus
Der Status ist "0".
Das vom Host gesendete Nachrichtenformat:
Anzahl der vom Host gesendeten Bytes Gesendete Informationen Bemerkungen
Slave-Adresse 1 01 wird an den Slave mit der Adresse 01 gesendet
Funktionscode 1 01 liest den Status des Schaltausgangs
Beginnendes BIT-Bit 2 0000 Die Adresse des beginnenden BIT-Bits ist 0000
Datenlänge 2 lesen 0002 2 Relaisausgangsstatusbits lesen
CRC-Code 2 BDCB Der CRC-Code wird vom Host berechnet
Das von der Antwort des Slave (PDM) zurückgegebene Nachrichtenformat:
Slave-Antwort Anzahl der zurückgesendeten Informationsbytes Bemerkungen
Slave-Adresse 1 01 kommt von Slave 01
Funktionscode 1 01 liest den Status des Schaltausgangs
Datenlänge 1 01 1 Byte (8 BITs)
DO-Statusdaten 1 02 DO-Registerinhalt
CRC-Code 2 D049 Der CRC-Code wird von der Slave-Maschine berechnet
2.3 Funktionscode "03": Lesen mehrerer Registereingänge
Beispiel: Der Host möchte die Anzahl der 3 Slave-Register mit der Adresse 01 und der Startadresse 0116 lesen.
nach.
Die Adresse und die Daten des Slave (PDM) Datenregisters sind:
Registeradresse Registerdaten (hexadezimal) Entsprechende PDM-Leistung
0116 1784UA
0117 1780UB
0118 178A UC
Das vom Host gesendete Nachrichtenformat:
Anzahl der vom Host gesendeten Bytes Gesendete Informationen Bemerkungen
Slave-Adresse 1 01 wird an den Slave mit der Adresse 01 gesendet
Funktionscode 1 03 Register lesen
Startadresse 2 0116 Startadresse ist 0116
Datenlänge 3 0003 Lesen von 3 Registern (insgesamt 6 Byte)
CRC-Code 2 E5F3 Der CRC-Code wird vom Host berechnet
Das von der Antwort des Slave (PDM) zurückgegebene Nachrichtenformat:
Slave-Antwort Anzahl der zurückgesendeten Informationsbytes Bemerkungen
Slave-Adresse 1 01 kommt von Slave 01
Funktionscode 1 03 Register lesen
Wort 1 06 lesen 3 Register insgesamt 6 Bytes
Registerdaten 1 2 1784 Der Inhalt des Speichers an Adresse 0116
Registerdaten 2 2 1780 Der Inhalt des Speichers an Adresse 0117
Registerdaten 3 2 178A Der Inhalt des Speichers an Adresse 0118
CRC-Code 2 5847 Der CRC-Code wird von der Slave-Maschine berechnet
2.4 Funktionscode "05": 1 Schaltausgang schreiben ("Fernsteuerung")
Beispiel 1: Schaltausgangspunkt DO1, sein aktueller Status ist "Minute", der Host möchte dieses Relais steuern
Das Gerät "schließt sich an".
Die Steuerbefehle sind:
"FF00" bedeutet, dass das Steuerrelais "geschlossen" ist;
"0000" ist das Steuerrelais "Minute";
Das vom Host gesendete Nachrichtenformat:
Anzahl der vom Host gesendeten Bytes Gesendete Informationen Bemerkungen
Slave-Adresse 1 01 wird an den Slave mit der Adresse 01 gesendet
Funktionscode 1 05 schreibt den Status des Schaltausgangs
Ausgangs-BIT-Bit 2 0000 entspricht dem Ausgangsrelais-BIT-Bit (DO1)
Steuerbefehl 2 FF00 steuert den Relaisausgang in den Zustand "ein" Statusbit
CRC-Code 2 8C3A Der CRC-Code wird vom Host berechnet
Das von der Antwort des Slave (PDM) zurückgegebene Nachrichtenformat:
Das Format und der Dateninhalt der vom Host gesendeten Nachricht sind genau gleich.
Beispiel 2: Schaltausgangspunkt DO2, sein aktueller Zustand ist "geschlossen", und der Host möchte dieses Relais steuern
Das Gerät "zeigt".
Vom Host gesendetes Nachrichtenformat
Anzahl der vom Host gesendeten Bytes Gesendete Informationen Bemerkungen
Slave-Adresse 1 01 wird an den Slave mit der Adresse 01 gesendet
Funktionscode 1 05 schreibt den Status des Schaltausgangs
Ausgangs-BIT-Bit 2 0001 entspricht dem BIT-Bit des Ausgangsrelais (DO2)
Der Steuerbefehl 2 0000 steuert den Relaisausgang in den Zustand "ein" Statusbit
CRC-Code 2 9C0A Der CRC-Code wird vom Host berechnet
Das von der Antwort des Slave (PDM) zurückgegebene Nachrichtenformat:
Vom Host berechneter CRC-Code
Das von der Antwort des Slave (PDM) zurückgegebene Nachrichtenformat:
Das Format und der Dateninhalt der vom Host gesendeten Nachricht sind genau gleich.

2.6 Funktionscode "10": Schreiben von mehreren Registern
Der Host verwendet diesen Funktionscode, um mehrere Daten in den Datenspeicher der PDM-Tabelle zu speichern.
Das Register im Modbus-Kommunikationsprotokoll bezieht sich auf 16 Bits (d.h. 2 Bytes), und das höherwertige Bit steht an erster Stelle.
Da das Modbus-Kommunikationsprotokoll bis zu zwei Bytes erlaubt, ist der Speicher des PDMs zwei Bytes groß.
Speichern Sie 60 Register. Mit dem PDM können bis zu 60 Datenregister gleichzeitig gespeichert werden.
Beispiel: Der Host möchte 0064, 0010 in die Slave-Register mit den Adressen 002C, 002D speichern.
Go (Slave-Adresscode ist 01). Nachdem die Kommunikationsdaten gespeichert wurden, wird der PDM mit der Adresse 002C/002D
Die in der Tabelle gespeicherten Informationen sind:
Adresse der ursprünglich gespeicherten Daten (hexadezimal)
002C 04B0
002D 1388
Das vom Host gesendete Nachrichtenformat:
Vom Host berechneter CRC-Code
Das von der Antwort des Slave (PDM) zurückgegebene Nachrichtenformat:
Slave-Antwort Anzahl der Bytes Anzahl der Bytes Beispiel
Slave-Adresse 1 01 kommt von Slave 01
Funktionscode 1 10 Schreiben von mehreren Registern
Startadresse 2 002C Die Startadresse ist 002C
Datenwortlänge 2 speichern 0002 Daten mit 2 Worten Länge speichern
CRC-Code 2 8001 Von der Slave-Maschine berechneter CRC-Code
3. Fehlerprüfcode (CRC-Prüfung)
4. Verarbeitung von Kommunikationsfehlerinformationen und -daten
Wenn die PDM-Tabelle einen anderen Fehler als den CRC-Code-Fehler feststellt, muss sie eine Meldung an den Host zurücksenden
Information ist die höchste Position des Funktionscodes 1, d. h. der vom Slave an den Host zurückgesendete Funktionscode wird vom Host gesendet.
Fügen Sie auf der Grundlage des gesendeten Funktionscodes 128 hinzu, wobei die folgenden Codes anzeigen, dass ein unerwarteter Fehler aufgetreten ist
geboren.
Wenn die Informationen, die der PDM vom Host empfängt, CRC-Fehler aufweisen, werden sie von der PDM-Tabelle ignoriert.
Das Format des vom PDM zurückgegebenen Fehlercodes ist wie folgt (außer CRC-Code):
Adresscode: 1 Byte
Funktionscode: 1 Byte (das höchste Bit ist 1)
Fehlercode: 1 Byte
CRC-Code: 2 Bytes.
Die PDM-Antwort gibt den folgenden Fehlercode zurück:
81. Unzulässiger Funktionscode. Der empfangene Funktionscode wird von der PDM-Tabelle nicht unterstützt.
82. Unzulässiger Datenort: Der angegebene Datenort überschreitet den Umfang der PDM-Tabelle.
herum.
83. Illegaler Datenwert: Der vom Host empfangene Datenwert überschreitet die PDM-Phase.
Der Datenbereich der entsprechenden Adresse.


