Verwendung der Modbus RTU-Befehl

Modbus-RTU - Master-Programmierung
- Modbus-RTU - Master-Programmierung mussModbus Comm_Load 和 Modbus_MasterAnweisung:
- Modbus_Comm_Load Anweisung Konfiguration des Kommunikationsmoduls über das Modbus-RTU - Protokoll;
- Die Modbus-Master - Anweisung kann als Modbus-Master - Station über einen Port kommunizieren, der von der Modbus-Comm - Load konfiguriert ist.
Modbus RTU Master-Befehl Modbus Comm Load Parameter
| Pin | Beschreibung |
| REQ | Rising Edge Trigger |
| PORT | Hardware-Identifier für den Kommunikationsport |
| BAUD | Baudrate Auswahl: 3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200 |
| PARITY | Paritätsprüfung Auswahl: 0 - Kein; 1 - Ungleichheitsprüfung; 2 - Paritätsprüfung |
| FLOW_CTRL | Flusssteuerung Auswahl: 0 - (Standard) Keine Flusssteuerung |
| RTS_ON_DLY | RTS Verzögerung Auswahl: 0 - (Standard) |
III. Detaillierte Beschreibung
Modbus RTU Master-Programmierung
1. Modbus RTU Master-Befehl Modbus Comm _ Load Parameter
| RESP _ TO | Antwort-Zeitüberschreiten: Standard = 1000 ms. Modbus_Master Die Zeit, die für die Reaktion der Slave-Station in Millisekunden erlaubt ist. |
| MB_DB | Verweis auf den Hintergrundblock der Modbus_Master - oder Modbus_Slave-Anweisung. Der MB _ DB-Parameter muss mit der statischen Variable MB _ DB-Parameter Modbus _ Master oder Modbus _ Slave verbunden sein. |
| DONE | Wenn die letzte Anforderung ohne Fehler abgeschlossen wurde, wird das DONE-Bit TRUE und hält für einen Zeitraum. |
| ERROR | Wenn die letzte Anforderung fehlerhaft abgeschlossen wurde, wird das ERROR-Bit TRUE und bleibt für einen Zeitraum erhalten. Der Fehlercode im STATUS-Parameter ist nur für die Periode ERROR = TRUE gültig. |
| STATUS | Port Konfigurationsfehlercode, lesen Sie die Online-Hilfe für die TIAPortal Software oder das S7-1200-Systemhandbuch |
2.Modbus RTU-Master - Anweisungen Modbus Master-Parameter
| Pin | Erläuterung |
| EN | Enabler |
| REQ | TRUE = Anforderung, Daten an den Modbus-Sklaven zu senden, empfiehlt sich, die Aufsteigende Kante zu verwenden, um |
| MB_ADDR | Modbus-RTU - Adresse des Slaves auszulösen. Standardadressbereich: 0 bis 247; Erweiterter Adressbereich: bis 65535. Der Wert 0 wird für die Übertragung von Nachrichten an alle Modbus-Slavenstationen reserviert |
| MODE | Modus Auswahl: Anforderungstyp (Lesen oder Schreiben) angeben. |
| DATA ADDR | Start-Adresse in der Slave-Station: Geben Sie die Start-Adresse der Daten an, auf die der Modbus-Slaven zugegriffen werden soll |
| DATA_LEN | Datenlänge: Geben Sie die Anzahl der Bits oder Wörter an, auf die in dieser Anforderung zugegriffen werden soll. |
| DATA PTR | Datenzeiger: Zeigt auf die M-Zone oder die Blockadresse, in der Daten geschrieben oder gelesen werden sollen. |
| DONE | Complete Bit: Nachdem die letzte Anforderung ohne Fehler abgeschlossen wurde, bleibt das DONE Bit für einen Scanzyklus auf TRUE. |
| BUSY | FALSCH - Modbus Master Kein Aktivierungsbefehl: TRUE - Modbus Master befehlt wird. |
| ERROR | Wenn die letzte Anforderung fehlerhaft abgeschlossen wurde, wird das ERROR-Bit auf TRUE und bleibt für einen Zeitraum erhalten. Der Fehlercode im STATUS-Parameter ist nur für die Periode ERROR = TRUE gültig. |
| STATUS | Port Konfigurationsfehlercode, lesen Sie die Online-Hilfe für die TIA Portal Software oder das Systemhandbuch für S7 - 1200. |
3. Beziehung zwischen MB MODE, MB DATA ADDR, MB DATA LEN, Modbus RTU-Funktionscode usw.
| MB _ MODE | MB _ DATA ADDR | MB_DATA_LEN | Modbus RTU Funktionscode | Operationen und Daten |
| 0 | 1-9999 | 1-2000 | 01 | Ausgabebits lesen 1 - 2000 Bits pro Anfrage |
| 0 | 10001-19999 | 1-2000 | 02 | Eingabebits lesen 1 - 2000 Bits pro Anfrage |
| 0 | .40001-49999 (Äquivalent zu 400001-409999 .400001-465535 | 1 - 125 | 03 | Lese-Halt - Register 1 - 125 Wörter pro Anforderung |
| 0 | 30001-39999 | 1 - 125 | 04 | Lese-Eingabe - Wörter 1 - 125 Wörter pro Anforderung |
| 1 | 10001 - 19999 | 1 | 05 | Schreib-Ausgabe - Bit 1 Bit pro Anforderung |
| 1 | .40001-49999 (äquivalent zu 400001 - 409999 .400001-465535 | 1 | 06 | Schreib-Halt - Register 1 Wort pro Anforderung |
| 1 | 10001 - 19999 | 2 -1968 | 15 | Schreiben mehrerer Ausgabe-Bits 2 - 1968 Bits pro Anforderung |
| 1 | .40001-49999 (äquivalent zu 400001 - 409999 .400001-465535 | 2-123 | 16 | Schreiben in mehrere Aufbewahrungsregister 2 - 123 Wörter pro Anforderung |
| 2 | 10001 - 19999 | 1 - 1968 | 15 | Schreiben in Ausgabe-Bits 1 - 1968 Bit pro Anfrage |
| 2 | .40001-49999 (Äquivalent zu 400001-409999 .400001-465535 | 1 - 123 | 16 | Schreiben in das Speicherregister 1 - 123 Wörter pro Anforderung |
| 11 | 11 | Details siehe unten | ||
| 80 | 1 | 08 | Details siehe unten | |
| 81 | 1 | 08 | Details siehe unten | |
| 104 | 0-65535 | 1-125 | 04 | Eingabe-Wörter lesen 1 - 125 Wörter pro Anforderung |
11 (Operationen und Daten): Lies das Statuswort und den Ereigniszähler des Servers:
1.Das Statuswort spiegelt den Status der Verarbeitung wider (0 - nicht verarbeitet, 0xFFFFF - in Verarbeitung);
2.Der Ereigniszähler wird bei erfolgreicher Ausführung von Modbus-Anfragen erhöht. Wenn bei der Ausführung der Modbus-Funktion ein Fehler auftritt, sendet der Server eine Nachricht, aber der Ereigniszähler wird nicht erhöht.
80 (Aktion und Daten): Überprüft den Serverstatus durch den Diagnostic-Code 0x0000 (Return-Loop - Test-Server sendet eine Anforderung
1 Wort pro Aufruf)
81 (Betrieb und Daten):Setzt den Ereigniszähler des Servers mit Diagnosecode 0x000A zurück:
1 Wort pro Aufruf
Modbus RTU-Programmierung von Slaven
| Pin | Beschreibung |
| MB ADDR | Standard-Adresse für Modbus-Slaven: Standardadressbereich (1 bis 247), erweiterter Adressbereich (0 bis 65535) |
| MB _ HOLD _ REG | Datenzeiger, der auf die Adresse des Modbus-Haltregisters verweist, das für neue Daten verfügbar ist, die für den M-Speicher oder die DB-Datenbereich |
| NDR | verfügbar sind: >FALSE: Keine neuen Daten. >TRUE: Zeigt an, dass neue Daten vom Modbus-Master geschrieben wurden, und wenn die letzte Anforderung ohne Fehler abgeschlossen wurde, wird das NDR-Bit TRUE und hält einen Zyklus. |
| DR | Daten lesen: > FALSE: Keine neuen Daten. > TRUE: Der Befehl speichert die vom Modbus-Master empfangenen Daten in der Zielzone. Wenn die letzte Anforderung ohne Fehler abgeschlossen ist, wird das DR-Bit TRUE und hält einen Zyklus. |
| ERROR | Wenn die letzte Anforderung fehlerhaft abgeschlossen wurde, wird das ERROR-Bit TRUE und bleibt für einen Zeitraum erhalten. Wenn die Ausführung aufgrund eines Fehlers beendet wird, ist der Fehlercode im STATUS-Parameter nur für die Periode ERROR = TRUE gültig. |
| STATUS | Fehler Code |
2. Modbus-RTU - Definition aus dem Datenbereich der Station
| Adressbereich | Definition | Beschreibung |
| Ausgabebit | Q0.0 Start | Q0.0 ist Adresse1, Q0.1 ist Adresse2, Q0.7 ist Adresse8, Q1.0 ist Adresse9... |
| Eingabebit | I0.0 Start | I0.0 für die Adresse 10001, I0.1 für die Adresse 10002, I0.7 für die Adresse 10008, I1.0 für die Adresse 10009... |
| Eingaberegister | IW0 Start | IW0 für die Adresse 30001, IW2 für die Adresse 30002, IW4 für die Adresse 30003... |
| Hold Register | definiert durch MB_HOLD_REG | Das erste Wort, auf das der Zeiger zeigt, ist 40001, das zweite Wort ist 40002. 1. Beispiel: MB_HOLD REG ist P#M100.0 WORD8, MW100 ist 40001, MW102 ist 40002, MW104 ist 40003... MW114 für 40008 2. Beispiel: MB _ HOLD _ REG Optimiert das INT-Array in der DB [0... 7]Wenn das Array „XXX" AA heißt, dann ist „XXX".AA [0] 40001, „XXX" AA [1] 40002, „XXX".AA [2] 40003.„XXX.AA [7] ist 40008 |
Antwort veröffentlichen