Modbus RTU-Register - Zuordnungstabelle-Befehl für Siemens S7 - 1200 SPS

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

Modbus RTU-Register - Zuordnungstabelle-Befehl für Siemens S7 - 1200 SPS

Verwendung der Modbus RTU-Befehl

Modbus RTU-Register - Zuordnungstabelle-Befehl für Siemens S7 - 1200 SPSAbbildung

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

PinBeschreibung
REQRising Edge Trigger
PORTHardware-Identifier für den Kommunikationsport
BAUDBaudrate Auswahl: 3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200
PARITYParitätsprüfung Auswahl: 0 - Kein; 1 - Ungleichheitsprüfung; 2 - Paritätsprüfung
FLOW_CTRLFlusssteuerung Auswahl: 0 - (Standard) Keine Flusssteuerung
RTS_ON_DLYRTS Verzögerung Auswahl: 0 - (Standard)

III. Detaillierte Beschreibung

Modbus RTU Master-Programmierung

1. Modbus RTU Master-Befehl Modbus Comm _ Load Parameter

RESP _ TOAntwort-Zeitüberschreiten: Standard = 1000 ms. Modbus_Master Die Zeit, die für die Reaktion der Slave-Station in Millisekunden erlaubt ist.
MB_DBVerweis 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.
DONEWenn die letzte Anforderung ohne Fehler abgeschlossen wurde, wird das DONE-Bit TRUE und hält für einen Zeitraum.
ERRORWenn 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.
STATUSPort Konfigurationsfehlercode, lesen Sie die Online-Hilfe für die TIAPortal Software oder das S7-1200-Systemhandbuch

2.Modbus RTU-Master - Anweisungen Modbus Master-Parameter

PinErläuterung
ENEnabler
REQTRUE = Anforderung, Daten an den Modbus-Sklaven zu senden, empfiehlt sich, die Aufsteigende Kante zu verwenden, um
MB_ADDRModbus-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
MODEModus Auswahl: Anforderungstyp (Lesen oder Schreiben) angeben.
DATA ADDRStart-Adresse in der Slave-Station: Geben Sie die Start-Adresse der Daten an, auf die der Modbus-Slaven zugegriffen werden soll
DATA_LENDatenlänge: Geben Sie die Anzahl der Bits oder Wörter an, auf die in dieser Anforderung zugegriffen werden soll.
DATA PTRDatenzeiger: Zeigt auf die M-Zone oder die Blockadresse, in der Daten geschrieben oder gelesen werden sollen.
DONEComplete Bit: Nachdem die letzte Anforderung ohne Fehler abgeschlossen wurde, bleibt das DONE Bit für einen Scanzyklus
auf TRUE.
BUSYFALSCH - Modbus Master Kein Aktivierungsbefehl: TRUE - Modbus Master befehlt wird.
ERRORWenn 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.
STATUSPort 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 _ MODEMB _ DATA ADDRMB_DATA_LENModbus RTU FunktionscodeOperationen und Daten
01-99991-200001Ausgabebits lesen
1 - 2000 Bits pro Anfrage
010001-199991-200002Eingabebits lesen
1 - 2000 Bits pro Anfrage
0.40001-49999 (Äquivalent zu 400001-409999
.400001-465535
1 - 12503Lese-Halt - Register
1 - 125 Wörter pro Anforderung
030001-399991 - 12504Lese-Eingabe - Wörter
1 - 125 Wörter pro Anforderung
110001 - 19999105Schreib-Ausgabe - Bit
1 Bit pro Anforderung
1.40001-49999 (äquivalent zu 400001 - 409999
.400001-465535
106Schreib-Halt - Register
1 Wort pro Anforderung
110001 - 199992 -196815Schreiben mehrerer Ausgabe-Bits
2 - 1968 Bits pro Anforderung
1.40001-49999 (äquivalent zu 400001 - 409999
.400001-465535
2-12316Schreiben in mehrere Aufbewahrungsregister
2 - 123 Wörter pro Anforderung
210001 - 199991 - 196815Schreiben in Ausgabe-Bits
1 - 1968 Bit pro Anfrage
2.40001-49999 (Äquivalent zu 400001-409999
.400001-465535
1 - 12316Schreiben in das Speicherregister
1 - 123 Wörter pro Anforderung
1111Details siehe unten
80108Details siehe unten
81108Details siehe unten
1040-655351-12504Eingabe-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

PinBeschreibung
MB ADDRStandard-Adresse für Modbus-Slaven: Standardadressbereich (1 bis 247), erweiterter Adressbereich (0 bis 65535)
MB _ HOLD _ REGDatenzeiger, 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
NDRverfü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.
DRDaten 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.
ERRORWenn 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.
STATUSFehler Code

2. Modbus-RTU - Definition aus dem Datenbereich der Station

AdressbereichDefinitionBeschreibung
AusgabebitQ0.0 StartQ0.0 ist Adresse1, Q0.1 ist Adresse2, Q0.7 ist Adresse8, Q1.0 ist Adresse9...
EingabebitI0.0 StartI0.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...
EingaberegisterIW0 StartIW0 für die Adresse 30001, IW2 für die Adresse 30002, IW4 für die Adresse 30003...
Hold Registerdefiniert durch MB_HOLD_REGDas 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
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.