Modbus RTU Smart Wireless Sensor Gateway Protocol - Registermap Tabelle und Kommunikationsrahmenformat - Modbus Produktzentrum

kostenlosKostenloses technisches Material

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

Modbus RTU Smart Wireless Sensor Gateway Protocol - Registermap Tabelle und Kommunikationsrahmenformat - Modbus Produktzentrum
Modbus RTU Smart Wireless Sensor Gateway Protokoll

I. Produktübersicht

Dieses Produkt unterstützt den StandardModbus RTU ProtokollSmart Wireless Sensor Gateway GerätmitMulti-Node Sensor DatenerfassungKommunikationsparameter Konfiguration.Geräteverwaltungsfunktion.Über die RS485 - Schnittstelle mit dem Obercomputer (PLC, Touchscreen, SCADA-System usw.) kommuniziert, unterstützt vollständige Register-Lese - und Schreiboperationen, kann weit verbreitet inintelligente LandwirtschaftUmweltüberwachungindustrielle AutomatisierungViehzuchtGebäudesicherheitund anderen Bereichen verwendet werden.

Das Gateway dient als zentraler Knotenpunkt des drahtlosen Sensornetzwerks und kann bis zu einem64 Funk-SensorenDie Daten der Sensoren werden in das Standardmodbus RTU-Protokollformat konvertiert, um die Integration des Host-Systems zu erleichtern.

2. Übersicht über das Kernfunktionssystem (aus Vereinbarung abgeleitet)

Basierend auf den Registerdefinitionen, den Operationsfällen und den Datenstrukturen dieses Protokolls können die folgenden Funktionsmodule des Produkts vollständig berechnet werden:

SeriennummerFunktionsmoduleFunktionsbeschreibungEntsprechende Register / Basierend auf
1Modbus RTU Slave-KommunikationStandard Modbus RTU Slave-Modus, RS485 physikalische Schnittstelle, Funktionscode unterstützt 03/06/10Kapitel 2, Kapitel 3
2Multi-Node - Sensor-ManagementUnterstützt bis zu 64 drahtlose Sensorknoten gleichzeitig online, Unabhängige Adressierung pro Knoten0002H-Register (Bereich 0 - 63) und Sensordatenbereich Zuweisungsregeln
3Unterstützung für sieben SensortypenTemperatur und Luftfeuchtigkeit, Ohrzeichen (Nutztierhaltung), Rauch, Radar, Infrarot, Fernbedienung Allgemeines 1527 - GerätIndex-Register niedrig 8 - Bit-Codierung Typ-Definition
4Doppel-Daten - Reporting-ModusAktive Reporting-Modus (Sensor-Auto - Push) + Abfrage-Berichting - Modus (Host-Poll - Lesen)0005H-Register
5Sensor-Binded - Pairing-SystemSoftware-Befehlbindung + Hardware-Taste - Bindung (5 Sekunden lang gedrückt), LED-Indikator - Statusfeedback0006H-Register, Kapitel 6 Bindungsverwaltung Anweisungen
6Vollständige Parameter-RegistrierungSlave-Station - Adresse (1 ~ 247), Baud-Rate (5 Gängen), Reporting-Modus können über Registermodifizierung0003H ~ 0005H Register
7Sensor-Lebenszyklus - ManagementKnoten hinzufügen, Daten lesen, einzelne Knoten löschen, Alle Bindungen mit einem Klick löschenSchreiben mehrerer Registers (0x10) Operationen + 0007H Register
8Mehrdimensionale DatenerfassungTemperatur / Feuchtigkeit / Vibration / Rauchkonzentration / menschliche Präsenz Detektion / Stromleistung / Subgeräte-Typ und andere DatenData1 / Data2 / Battery Felddefinition
9BatteriekapazitätüberwachungEchtzeit-Batteriekapazitätüberwachung für jeden drahtlosen Sensorknoten (0% ~ 100%)Batterienregister (+5 Offset)
10Firmware-VersionsabfrageLesen der Firmware-Versionsnummer des Geräts, Erleichterung der Versionsverwaltung und Wartung Bestätigung0001H Lese-Only - Register
11Broadcast-Adressen - UnterstützungUnterstützt Modbus Broadcast-Adresse 0xFF (255), kann Befehl für alle Slave-Stationen ausstellenAdressbereich Beschreibung
12CRC16 - ÜberprüfungsmechanismusCRC - 16 / MODBUS-Polynomial 0xA001 - Überprüfungen, um die Integrität der Datenübertragung zu gewährleistenKapitel 2 - Überprüfungsmethode + Anhang C-Sprachenalgorithmus

III. Detaillierte Informationen zu unterstützten Sensortypen

Das Gateway unterstützt die folgenden sieben Sensortypen, basierend auf der Code-Definition der unteren 8 - Bit (Sensor-Type - Feld) des Index-Registers im Protokoll.und weitere Erweiterungen:

3.1 Sensor-Typen - Codierung Zusammenfassung

Typ-CodierungSensor-NameHauptdatenfelderData1 BedeutungData2 BedeutungTypische Anwendungsszenarien
00HAllgemeines 1527 - CodiergerätUntergerätetyp + ZustandsdatenLeerlaufUntergerätetyp-CodierungAllgemeines drahtloser Fernbedienung / Tür-Magnet / Tür-Fenster - Sensor
01HTemperatur-Feuchtigkeit - SensorTemperatur + Feuchtigkeit + StromTemperaturwert (0,1 ° C)Feuchtigkeitwert (0,1%)Gewächshaus, Lagerhaus, Maschinenraum, Labor
02HOhrmarker-Sensor (für Viehzucht)Temperatur + Vibrationszähler + StromTemperaturwert (0,1 ° C)Anzahl der Erschütterungen (Zeiten)Temperaturüberwachung, Östrous / Gesundheitswarnung für Vieh
03HRauch / Rauch-SensorRauchkonzentration + StromLeerlaufRauchkonzentration (ppm)Lagerbrandschutz, Küchensicherheit, Fabrikfeuerschutz
04HRadar menschlicher PräsenzsensorPräsenz + StromLeerlaufPräsenz (0 = niemand / 1 = jemand)Intelligente Beleuchtung, Konferenzraum, Toilettenverbindung
05HInfrarot-PIR - SensorPräsenz + StromFreiPräsenz (0 = unbesetzt / 1 = besetzt)Einbruchsalarm, Korridor-Induktion, Sicherheitsüberwachung
06HDrahtlose FernbedienungTastenstatus + UntergerätetypFreiTastenstatusdatenFernbedienung, Beleuchtungsteuerung, Geräteschalter
07H +Reservierte ErweiterungenZu definieren (XXXX)Zu definierenZu definierenErweiterungsbits für zukünftige neue Sensortypen

3.2 Detaillierte Beschreibung der einzelnen Sensordatenformate

1 Temperatur-Feuchtigkeit - Sensor (Typ = 01H)

Byte-PositionFeldnameDatentypEinheitWertebereichBeispiel
+0 ~ +1 (Byte0 ~ 1)IndexUINT16-High 8 - bit = Number (0 ~ 63) Low 8 = Typ (0x01)0x0001 Zeigt die eindeutige Identifikation des Temperatur-Feuchtigkeitssensors Nr. 1
+2 ~ +5 (Byte2 ~ 5)GeräteadresseUINT32-32 - Bit0x12345678
+6 ~ +7 (Byte6 ~ 7)Temperaturdaten1INT160,1 ° C-3276,8 ~ 3276,7 ° C0x00FB = 25.1 ° C; 0xFFEC = -2.0 ° C
+8 ~ +9 (Byte8 ~ 9)Luftfeuchtigkeit Data2UINT160.1%0 ~ 100%0x028B = 65,1%; 0x01F4 = 50,0%
+10 ~ +11 (Byte10 ~ 11)Batterie BatterieUINT161%0% ~ 100%0x0064 = 100%; 0x0032 = 50%

2 Ohr-Tag - Sensor für Viehzucht (Typ = 02H)

Wireless-Ohr - Tag-Sensor speziell für Vieh, Schafe, Schweine und andere Tiere entwickelt, ist eine der Features dieses Produkts:

Byte-PositionFeldnameDatentypEinheitWertebereichoperative Bedeutung
+0 ~ +1IndexUINT16-Low 8 = 0x02Identifiziert als Ohrtag-Typ
+2 ~ +5Gerätenadresse AddrUINT32-eindeutige Identifikationeindeutige ID pro Vieh
+6 ~ +7Temperatur Data1INT160,1 ° CTemperaturbereichTemperatur des Viehs (z. B. 38,5 ° C = normale Rindertemperatur)
+8 ~ +9Vibrationsdaten2UINT160 ~ 65535Aktivität / Anzahl der Vibrationen zur Beurteilung von Aktivität oder ungewöhnlichem Verhalten von Vieh
+10 ~ +11Batterie BatterieUINT161%0% ~ 100%Ohr-Tag - Batterie-Verbleibskapazität
Typische Anwendungsszenarien: Durch die Überwachung der Körpertemperatur und Aktivität jedes Viehs, die Erkennung von Krankheiten frühzeitig (Fieber), Erkennung der Östrusphase (plötzlicher Anstieg der Aktivität), Verlust-Alarm und andere Funktionen.

3 Rauch / Rauch-Sensor (Typ = 03H)

Byte-PositionFeldnameDatentypEinheitWertebereichAnmerkung
+6 ~ +7Data1LeerlaufNicht benutzt
+8 ~ +9Rauchkonzentration Data2UINT16ppm0 ~ 5000 ppm0x1388 = 5000 ppm (Hochkonzentrations-Alarmschwelle)
+10 ~ +11Batterie BatterieUINT161%0% ~ 100%Sensorbatterieleistung

4 Radar menschliche Präsenz-Sensor (Typ = 04H) & Infrarot-PIR - Sensor (Typ = 05H)

Beide Sensoren werden für die Erkennung der menschlichen Präsenz verwendet, aber das technische Prinzip ist verschieden:

VergleichRadar-Sensor (Typ = 04H)Infrarot-PIR - Sensor (Typ = 05H)
DetektionsprinzipMillimeterwellen-Radar Doppler-EffektThermoelektroelektro-Infrarot - Erkennung
Data2 - Wert0x0000 = Niemand; 0x0001 = jemand0x0000 = Niemand; 0x0001 = Mensch
VorteileDurchdringbar in Kunststoff / Glas, unabhängig von Temperatur, kann kleine Bewegungen (wie Atmung) detektieren, geeignet für "Mensch im Licht"niedrige Kosten, extrem niedriger Stromverbrauch, geeignet für mobile Erkennung
NachteileHöhere KostenNicht nachweisbar im Ruhezustand des menschlichen Körpers, beeinflusst durch Umgebungstemperatur
AnwendungsszenarioIntelligentes Büro / Konferenzraum / Toilette (präzise Präsenzerkennung)Flur / Gang / Eingang (Bewegungserkennung)

5 Drahtlose Fernbedienung (Typ = 06H) & allgemeines 1527 - Kodierungsgerät (Typ = 00H)

FeldDrahtlose Fernbedienung (06H)allgemeines 1527 - Gerät (00H)
Data1LeerlaufLeerlauf
Data2Tastenstatusdaten (Codierung je nach Fernbedienungsmodell)Untergerätetypencodierung (Einstellungen werden nach Bindung vom Host aktualisiert)
AnmerkungFür den Empfang von 433 MHz-Fernbedienungssignalen verwendetKompatibel mit den meisten EV1527 - kodierten drahtlosen Sendegeräten auf dem Markt (Tormagnet, Wasserüberschwemmung, Vibration usw.)

IV. Kommunikationsparameter und Frame-Format - Spezifikation

4.1 Grundlegende Kommunikationsparameter

Parameter ElementeStandardwerteOptionale Werte / BereicheKonfigurationsmethode
KommunikationsprotokollModbus RTUFix
Physikalische SchnittstelleRS485Fix
Datenformat8N1 (8 Datenbits, ohne Verifikation, 1 Stop-Bit)konfigurierbarStandard 8N1
Slave-Adresse11 bis 247Schreiben in das Register 0003H
Broadcast-Adresse255 (0xFF)Nur 255Senden Sie Befehle
Baudrate an alle Slaves9600 bps9600 / 19200 / 38400 / 57600 / 115200Schreiben in das Register 0004H
PrüfmethodeCRC16Polynomial 0xA001 (MODBUS-Standard)Fix
Maximale Anzahl von Sensoren64Hardware-Beschränkung
Frame-Interval - Zeit≥ 3,5 Zeichen-Zeit@9600bps≈ 3.6ms; @ 115200bps≈ 0,3 msRTU-Protokollanforderung

4.2 Baudrate-Konfigurationsvergleichstabelle (0004H-Register)

Schreibwerttatsächliche BaudrateEinzelzeichenzeit3,5 ZeichenintervallAnwendbares Szenario
09600 bps≈ 1.04 ms≈ 3.6 msStandardempfohlen, stabil und zuverlässig
119200 bps≈ 0,52 ms≈ 1,8 msmittlere Geschwindigkeitsanforderung
238400 bps≈ 0,26 ms≈ 0,9 msHöhere Geschwindigkeit
357600 bps≈ 0.17 ms≈ 0,6 msHochgeschwindigkeitsübertragung
4115200 bps≈ 0,087 ms≈ 0,3 msHöchste Geschwindigkeit, erfordert Sicherstellung der Leitungsqualität

4.3 Unterstützte Funktionen

FunktionscodeNameRichtungZweck
0x03Lesen-Halt - RegisterMaster → SlaveVersionsnummer, Knotenzahl, Sensordaten usw. lesen
0x06Schreiben eines einzigen RegistersMaster → SlaveEinstellung von Adresse, Baudrate, Modus, Startbindung usw.
0x10Schreiben mehrerer RegistersMaster → SlaveHinzufügen von Sensoren, Entfernen von Knoten, Batch-Schreibdaten usw.

V. Vollständige Registerkarte

5.1 Systemsteuerungsregisterbereich (0001H ~ 000FH)

RegisteradresseRegisternameLesen - und Schreiben-BerechtigungenDatenformatWertbereich / Beschreibung
0001HVersionsnummerRead-onlyUINT16Versionsnummer der Gerätfirmware, z. B. 0x0102 für V1.2
0002HAnzahl der aktuell online verfügbaren KnotenRead-onlyUINT16Anzahl der aktuell registrierten Sensorknoten, die gebunden sind (0 - 63)
0003HRS485 - AdresseLesen und SchreibenUINT16Modbus-Sklavenstation - Adresse, Standard 1, Bereich 1 - 247
0004HSerial Port BaudrateLesen und SchreibenUINT160=9600, 1=19200, 2=38400, 3=57600, 4=115200
0005HEinstellungen für den aktiven Reporting-ModusLesen und SchreibenUINT160 = Aktive Eskalation aktiviert (Standard); 1 = Abfrage Eskalation aktiviert
0006HBindungspaarung aktiviertNur schreibenUINT16Schreiben 1 Bindungen aktivieren (Lampe blinkt, 20 Sekunden Zeitüberschreiten automatisch beenden)
0007HAlle gebundenen Daten löschenNur schreibenUINT16Alle gebundenen Sensordaten löschen, erneut gebunden werden müssen
0008H ~ 000FHBewahrungReservierung für zukünftige Erweiterungen

5.2 Sensordatenregisterbereich (ab 0010H)

Nutzung pro Sensor6 aufeinander folgende Register (12 Byte)mit Unterstützung für bis zu 64 Sensoren:

SensornummerRegisteradressbereich+0 Index+1 Addr_H+2 Addr_L+3 Data1+4 Data2+5 Battery
Sensor10010H ~ 0015HNummer + TypAdresse hoch 16 BitAdresse niedrig 16 BitDaten1Daten 2Batterieleistung
Sensor 20016H ~ 001BHÄhnlichÄhnlichÄhnlichÄhnlichÄhnlich obenÄhnlich oben
Sensor 3001CH ~ 0021HÄhnlich obenÄhnlich obenÄhnlich obenÄhnlich obenÄhnlich obenÄhnlich
Sensor 40022H ~ 0027HÄhnlichÄhnlichÄhnlichÄhnlichÄhnlich obenÄhnlich
...Drücken Sie +6 Inkremental..................
Sensor N0010H + (N - 1) * 6 ~ 0015H + (N - 1) * 6ÄhnlichÄhnlichÄhnlichÄhnlich obenÄhnlich obenÄhnlich oben
Sensor 64012AH ~ 012FHÄhnlich obenÄhnlich obenÄhnlich obenÄhnlich obenÄhnlich obenÄhnlich oben
Adresse Berechnung Formel:Start-Register - Adresse des Sensors N = 0010H + (N - 1) × 6

VI. Detaillierte Beschreibung des Betriebsmodus

6.1 Dual-Daten - Reporting - Modus

Das Gateway unterstützt zwei Daten-Berichtigungs - Modi, die über das Register 0005H umschaltet werden:

Modus 0: Active Reporting Modus (Standard)

  • Wenn der Sensor eine Änderung der Daten erkennt,lädt Daten automatisch auf das Gateway hoch, nachdem der drahtlose Sensor Datenänderungen erkannt hat
  • Aktualisiert das interne Register-Cache sofort nach Erhalt des Gateways
  • Der Host kann die neuesten Daten jederzeit über den 0x03 - Funktionscodeabfragen
  • Vorteile:Gute EchtzeitSensor-Aktualisierung, Daten rechtzeitig
  • Anwendbares Szenario: Szenario, in demEchtzeitüberwachungin Echtzeit überwacht werden muss (z. B. Temperaturüberschreitung, Einbruchserkennung usw.)

Modus 1: Abfrage-Berichtigungsmodus

  • Der drahtlose Sensor gibt nur Daten zurück, wennden Gateway-Abfragebefehl empfängtDaten zurückgeben.
  • Leseanforderung ausführen → Gateway-Abfrage an den Sensor → Rückgabe von Daten
  • Vorteile:Stromsparen, der Sensor ist die meiste Zeit im Ruhezustand
  • Anwendbares Szenario:BatteriebetriebeneSensoren, Szenarien mit niedrigem Stromverbrauch (z.B. Fernüberwachung in der Landwirtschaft)

6.2 Bindungspartnering

Vor dem Hinzufügen eines drahtlosen Sensors zu einem Gateway muss die Bindungspärung abgeschlossen sein. UnterstütztZwei Triggermethoden

Methode 1: Bindung von Softwarebefehlen (0006H über Modbus schreiben)

  1. Der Host schreibt einen Wert in das Register 0006H1: Senden 01 06 00 06 00 01 A8 0B
  2. Das Gateway geht in den Bindungsmodus,Die LED beginnt zu blinken
  3. Ziel drahtlosen Sensor.Senden von Daten einmal(oder das Signal auslösen)
  4. Das Gateway empfängt und erkennt das Sensorsignal,zugewiesen automatisch einen freien Speicherplatzund protokolliert die Sensoradresse
  5. erfolgreich: Die LED stoppt das Blinken, das Gateway gibt die Antwort zurück 01 06 00 06 00 01 A8 0B (Erfolgskode 1)
  6. Wenn innerhalb von 20 Sekunden kein Sensorsignal empfangen wird, gibt die Antwort mit dem Timeout zurück 01 06 00 06 00 02 E8 0A (Timeout-Code 2), beendet den Bindungsmodus

Methode 2: Hardware-Tasten - Bindung

  1. Drücken Sie die Paare-Taste im Gateway-Panel 5 Sekunden lang
  2. , um den Bindungsmodus zu betreten (die gleiche Wirkung wie die Software-Befehl)
  3. Folgende Schritte sind die gleichen wie Methode 1
Hinweis: In beiden Fällen können pro Bindungsvorgang nur einSensorhinzufügen. Um mehrere Sensoren hinzuzufügen, müssen Sie den Bindungsprozess wiederholen.

VII. Vollständige Operations-Szenarien (10 Instanzen mit Byte-für - Byte-Anschluss)

Das folgende Beispiel enthält vollständige Operations-Beispiele, die alle Funktionen abdecken, einschließlich hexadezialer Anforderung / Antwort-Frame und Feld-für-Feld - Auflösung.

7.1 Systemregisteroperationen (6 Beispiele)

Beispiel 1: Gerät-Firmware - Versionsnummer lesen (Lesen 0001H)

ProjektInhalt
OperationstypLesen-Halt - Register (Funktionscode 0x03)
Anforderungsrahmen (Hex)01 03 00 01 00 01 D5 CA
Bitte um Analyse[Adresse = 01] [Funktionscode = 03] [Startadresse = 0001H] [Registeranzahl =1] [CRC = D5CA]
Antwortrahmen (hexadezimal)01 03 02 01 02 B8 44
Antwort zur Auflösung[Adresse = 01] [Funktionscode = 03] [Bytes = 2] [Daten = 0102] →V1.2 Version[CRC= B844)

Fall 2: Lesen Sie die Anzahl der aktuellen Online-Sensor - Knoten (Lesen 0002H)

ElementInhalt
Anforderungsrahmen01 03 00 02 00 01 25 CA
Antwortrahmen01 03 02 00 08 B9 82
ErgebnisinterpretationDerzeit sind8Sensorknoten online

Fall 3: Modifizierung der RS485 - Slave-Station - Adresse des Geräts (Schreiben 0003H → neue Adresse = 2)

ProjektInhalt
OperationstypSchreiben eines einzelnen Registers (Funktioncode 0x06)
Anforderung Frame0
Bitte um Analyse[Adresse = 01] [Funktionscode = 06] [Register = 0003H] [Daten = 0002 → Adresse geändert zu 2] [CRC = F80B]
Antwort auf Frame01 06 00 03 00 02 F8 0B (Echo-Anforderung - Frame, Schreiberfolg)
AnmerkungNach der Änderung wird eine neue Adresse (0x02) für die Nachfolgekommunikation benötigt

Fall 4: Änderung der Baudrate des seriellen Anschlusses auf 19200 (Schreiben 0004H → Wert = 1)

EintragInhalt
Anforderungsrahmen01 06 00 04 00 01 09 CB
Anforderungsresolution[Adresse = 01] [Funktioncode = 06] [Register = 0004H] [Daten = 0001 → Baudrate Option 1] [CRC = 09CB]
Antwortframe01 06 00 04 00 01 09 CB (Erfolgreich)
HinweisNach der Änderung muss die Baudrate des seriellen Anschlusses des Host auf 19200 umgestellt werden, um die Kommunikation fortzusetzen

Fall 5: Umschalten zum Abfrage-Eskkalationsmodus (Schreiben 0005H → Wert = 1)

ElementeInhalte
Anforderungsrahmen01 06 00 05 00 01 58 0B
Bitte um Analyse[Adresse = 01] [Funktionscode = 06] [Register = 0005H] [Daten = 0001 → Abfrage-Modus] [CRC = 580B]
Antwort auf Frame01 06 00 05 00 01 58 0B (Erfolgreich in den Abfrage-Berichtigungsmodus wechseln)

Fall 6: Sensorbindung Paare gestartet (Schreiben 0006H → Wert = 1)

ProjektInhalt
Anforderung Frame0 0
Bitte um Analyse[Adresse = 01] [Funktionscode = 06] [Register = 0006H] [Daten = 0001 → Startbindung] [CRC = A80B]
Antwort Frame (Erfolgreich)01 06 00 06 00 01A8 0B (Code 1 = Befehl erfolgreich ausgeführt, Warte auf den Sensor)
Response Frame (Timeout)01 06 00 06 00 02 E8 0A (Code 2 = Sensor-Netzwerk innerhalb von 20 Sekunden, Timeout)

7.2 Sensor-Daten - Register-Betrieb (4 Fälle)

Fall 7: Handliches Hinzufügen von Sensor 1 zum System (Schreibadresse 0x12345678)

Wenn die 32 - Bit-Adresse eines Sensorgeräts bekannt ist, kann sie direkt per Register-Schreiben dem System hinzugefügt werden:

ProjektInhalt
OperationstypSchreiben mehrerer Registers (Funktionscode 0x10)
ZieldresseStartadresse des Sensor 1 0010H, drei Registers aufeinanderfolgend geschrieben (Index + Addr_H + Addr_L)
Anforderung Frame01 10 10 00 03 06 00 01 12 34 56 78 A1 E1
Byte-Auflösung[01= Adresse] [10 = Funktionscode] [00 10 = Startadresse 0010H] [00 03 = Schreiben 3 Registers]
[06= 6 Byte Gesamtdaten] [00 01 = 1 + Temperatur-Feuchtigkeit - Typ] [12 34 = Adresse oben 16 Bit] [56 78 = Adresse unten 16 Bit] [A1 E1 = CRC]
Antwortrahmen01 10 00 10 00 03 81 CD (Bestätigung des Schreibens von 3 Registeren ab 0010H)

Fall 8: Alle Daten von Sensor 1 gelesen (6 Register = 12 Byte)

ProjekteInhalt
Anforderung Frame01 03 00 10 00 06 C4 0D
Anforderung Auflösung[01= Adresse] [03 = Funktionscode] [00 10 = Startadresse 0010H] [00 06 = 6 Register lesen] [CRC = C40D]
Antwort Frame01 03 0C 00 01 12 34 56 78 00 FA 01 F4 00 64 B5 F1
Bewertungen analysieren[01= Adresse] [03 = Funktionscode] [0C = 12 Byte Daten]
[00 01 → Sensor Nr. 1 + Temperatur-Feuchtigkeit - Typ (01H)
[12 34 56 78 → 32 - Bit-Gerätadresse 0x12345678]
[00 FA → Temperatur 25,0 ° C (250 × 0,1)]
[01 F4 → Feuchtigkeit 50,0% (500 × 0,1)]
[00 64 → Batterie 100%]
[B5 F2 = CRC

Fall 9: Entfernen von Sensor1 (Adressenregister löschen)

Der Sensor kann entfernt werden, indem man alle entsprechenden Adressregister löscht:

EintragInhalt
Anforderungsrahmen01 10 00 03 06 00 00 00 00 00 00 00 03 = 3 Registers
Bitte um Analyse[01= Adresse] [10 = Funktionscode] [00 10 = Startadresse] [00 03 = 3 Registers]
[06= 6 Byte Daten] [00 00 00 00 00 00 00 = Alles löschen] [E7 15 = CRC]
Antwortrahmen01 10 00 10 00 03 81 CD (Erfolgreich gelöscht)
EffektDie Adresse des Sensors 1 wurde gelöscht und das System empfängt keine Daten mehr von diesem Sensor, Speicherbehälter Freisetzung

Fall 10: Direkt Schreiben von Temperatur - und Feuchtigkeitsdaten für Sensor 1

ProjektInhalte
Anforderung Frame0
Bitte um Analyse[01= Adresse] [10 = Funktionscode] [00 13 = Startadresse 0013H (Data1)] [00 02 = Schreiben 2 Registers]
[04= 4 Byte Daten] [01 2C → Temperatur 30,0 ° C (300 × 0,1)] [02 58 → Feuchtigkeit 60,0% (600 × 0,1)] [72 19 = CRC]
Antwortrahmen01 10 00 13 00 02 B0 0D (Schreiberfolgreich)

VIII. Ausnahmebehandlung und Fehlercode

8.1 Modbus-Ausnahme - Antwortformat

Gibt eine Ausnahme-Antwort zurück, wenn eine unerlaubte Operation von der Station erkannt wurde:

  • Normaler Funktionscode ändert sich auf 1 (z. B. 0x03 → 0x83, 0x06 → 0x86, 0x10 → 0x90)
  • gefolgt von 1 Byte Ausnahmecode
AusnahmecodeBedeutungenHäufige UrsachenLösung
01Ungültiger FunktionscodeNicht unterstützter FunktionscodeVerwenden Sie nur 0x03/0x06/0x10
02Ungültige DatenadresseRegisteradresse außerhalb des gültigen BereichsPrüfen Sie, ob die Adresse im Bereich 0001H ~ 012FH liegt
03Ungültiger DatenwertDer geschriebene Datenwert übersteigt den zulässigen BereichPrüfen Sie den Wertbereich (z. B. Adresse sollte zwischen 1 und 247)

8.2 Bindungsfunktion Rückgabecode (0006H-Register)

RückgabecodeBedeutungBeschreibung
1Befehl erfolgreich ausgeführtBindungsbefehl empfangen, Gateway in Pairing-Modus gewartet auf Sensor-Zugang
2BindungszeitüberschreitenSensorsignal nicht innerhalb von 20 Sekunden empfangen, Bindungsmodus automatisch beendet

8.3 Fehlersuchtabelle

ProblemphänomenMögliche UrsacheLösung
Kommunikationszeitüberschreiten, Keine AntwortRS485 - Adressunpassung oder Baudrate-InkonsistenzÜberprüfen der Konfiguration des Adressregisters 0003H und des Baudrate-Registers 0004H
Sensordaten sind alle Null ausgelesenSensorknoten sind nicht registriert / gebunden oder AdressschreibfehlerÜberprüfen Sie, ob das Adressregister, das mit 0010H beginnt, ordnungsgemäß nicht Nullwert geschrieben wird
Das Register kann nicht geschrieben werdenFunktionscode verwendet falsch oder mit unzureichenden BerechtigungenBestätigen Sie, dass der richtige Funktionscode verwendet wird: 0x06 für ein einzelnes Schreiben, 0x10 für mehrere Schreibungen; 0001H / 0002H ist nur für Lesen
CRC-VerifizierungsfehlerFehler beim DatenübertragenÜberprüfen der RS485 - Leitungsverbindung (A + / B - Rückverbindung, fehlender Terminationswiderstand), CRC neu berechnet
Bindungsfehler (wiederholte Timeout)Sensor nicht in Kommunikationsbereich oder Batterie erschöpftSensor-Gateway - Entfernung verkürzen, Sensorbatterie ausgetauscht
Teilweise Sensordaten nicht aktualisiertDer Sensor übersteigt die Abdeckung des drahtlosen SignalsAusrichtung der Gateway-Antenne anpassen oder Repeater hinzufügen

IX. Hinweise und bewährte Verfahren

9.1 Wichtige Hinweise

  1. Frame-Interval - Zeit: Im RTU-Modus muss ein Schweigenintervall von mindestens3,5 Zeichenzwischen zwei benachbarten Frames aufrechterhalten werden. Kürzstes Frame-Intervall bei verschiedenen Baudraten:
    • 9600 bps: ca. 3,6 ms
    • 115200 bps: ca. 0,3 ms
  2. Big-End - Byte-Sequenz: Beim Schreiben mehrerer Registers mit Funktionscode 0x10 müssen die Daten imBig-Endian - Modusorganisiert werden, wobei die hohen Bytes vor und die niedrigen Bytes hinterher stehen.
  3. Broadcast-Operation nicht antwortet: Alle Slaves führen die Aktion durch, wenn ein Befehl an die Broadcast-Adresse 0xFF gesendet wird, abergibt keine Antwort Frame zurück
  4. Sensor-Add - Regeln: Adress-Register (Addr_H + Addr_L) muss beim Hinzufügen eines Sensors geschrieben werdenNicht-Null - Wert; das Schreiben von Nullen ist das Löschen des Knoten.
  5. Operationsintervall: Warten Sie mindestens100 msnach der Aktualisierung der Sensordaten, bevor Sie die nächste Registeroperation durchführen.
  6. Bindungsrisiko löschen: Schreiben im Register 0007HLöschen Sie alle gebundenen SensordatenBitte bestätigen Sie vor dem Vorgang, dass keine vorhandenen Konfigurationen behalten werden müssen, nachdem sie gelöscht wurden, müssen Sie sie neu binden.

9.2 Empfohlene Betriebsweise

  1. Erster Einschalt: Lesen von 0001H bestätigt Firmware-Version, Lesen von 0002H bestätigt Anfangszustand
  2. Konfiguration der Kommunikationsparameter: Ändern von 0003H (Adresse), 0004H (Bolt-Rate), 0005H (Messellmodus)
  3. BindungssensorHinzufügen von Sensoren durch 0006H oder physische Tasten
  4. : Lesen Sie die Anzahl der Knoten durch 0002H und lesen Sie die entsprechenden Sensordatenbereichs, um die Daten zu bestätigen, dass sie normal sinddurch Hinzufügen von Sensoren durch 0006H oder physischen Tasten
  5. tägliche Betriebs - und Wartung: Regelmäßige Lesen des Sensor-Batterie - Felds, um die Batterie zu überwachen und die Batterie mit geringer Batterie zu ersetzen

X. CRC16 - Algorithmus-Implementierung

Dieses Protokoll verwendet denMODBUS-Standard CRC16Prüfealgorithmus mit dem Polynomial0xA001(d.h. die Bit-Inversion von 0x8005). Hier ist die vollständige C-Referenzimplementierung:

#include <stdint.h>

/**
 * MODBUS CRC16 计算
 * @param data  待计算的数据缓冲区指针
 * @param len   数据长度(字节)
 * @return      16 位 CRC 校验值(低字节在前)
 *
 * 多项式:0xA001(MODBUS 标准)
 * 初始值:0xFFFF
 */
uint16_t calc_crc(uint8_t *data, uint16_t len)
{
    uint16_t crc = 0xFFFF;          // 初始值
    for (uint16_t i = 0; i < len; i++)
    {
        crc ^= data[i];              // 与当前字节异或
        for (uint8_t j = 0; j < 8; j++)  // 逐位处理
        {
            if (crc & 0x0001)       // 最低位为 1
            {
                crc >>= 1;           // 右移一位
                crc ^= 0xA001;       // 与多项式异或
            }
            else
            {
                crc >>= 1;           // 仅右移
            }
        }
    }
    return crc;
}

/* 使用示例:
 * uint8_t frame[] = {0x01, 0x03, 0x00, 0x01, 0x00, 0x01};
 * uint16_t crc = calc_crc(frame, 6);
 * 结果:crc = 0xCAD5(低字节 0xD5 在前,高字节 0xCA 在后)
 */

XI. Materialien-Downloads und technische Unterstützung

  • Version dieses Dokuments:V1.3(2025 - 10 - 03 Update)
  • Das Protokoll folgt den Standards:Modbus-Industriestandard - Protokoll-Spezifikation
  • Spezifische Register-Definitionen basieren auf der tatsächlichen Firmware des Geräts
  • Für technische Unterstützung wenden Sie sich bitte an den Hersteller, um die neuesten Register-Map - Tabellen und Protokoll-Dokumentationen zu erhalten

Versionsverlauf

VersionsnummerVeröffentlichungsdatumWichtige Änderungen
V1.12025-09-01Basisversion, Standardmodbus-RTU - Protokoll als Master-Knoten - Kommunikationsprotokoll
V1.22025-09-21Ergänzung der Software-Befehl - Start-Bindungsfunktion; Ergänzung der Hardware-Key - Start-Bindungsfunktion
V1.3 (aktuell)2025-10-03Korrektur Maximale Anzahl von unterstützten Sensoren auf 64; Hinzufügen von Sensor-Type - Datenfeld; Hinzufügen von Sensor-Datensegment - Format Detaillierte Beschreibung; Bindungszeitüberschreitung von 20 Sekunden behoben; 0007H-Register hinzugefügt (alle Bindungen mit einem Klick löschen)

XII. Typisches Anwendungsszenario

Szenario 1: Smart Agriculture - Greenhouse Environment Monitoring System

Bereitstellung in GewächshausTemperatur-Feuchtigkeit - Sensor (Typ = 01H), die Daten über dieses Gateway über Modbus RTU auf eine SPS oder ein Touchscreen-Steuerungssystem hochgeladen werden. Es kann die Ventilator, das Sprühsystem, die Vorhänge und andere Ausrüstung verbinden, um die automatische Regulierung der konstanten Temperatur und Feuchtigkeit zu erreichen. Unterstütztbis zu 64 SensorpunkteErfüllung der Bedürfnisse von mehreren Standorten für die Überwachung von großen Gewächshaus.

Szenario 2: Intelligente Viehzucht - Gesundheitsmanagement für Viehzucht

Tragen einesdrahtlosen Ohr-Tag - Sensors (Typ = 02H)für jede Kuh / Schafe, und das Gateway sammelt zentral Temperatur - und Aktivitätsdaten für Viehzucht. Automatische Alarmmeldung, wenn die Körpertemperatur eines Tieres einen festgelegten Schwellenwert überschreitet (Krankheitswarnung) oder wenn sich die Aktivität abnormal ändert, wird der Östrous / Gesundheitszustand beurteilt.64 Kapazitätist ausreichend, um die Anforderungen der Viehmanagement für kleine und mittlere Betriebe zu decken.

Szenario 3: Brandschutz - Feuerwehrüberwachung in Lager / Maschinenräumen

EinrichtungRauchsensors (Typ = 03H)zur Echtzeitüberwachung der Rauchkonzentration in Schlüsselbereichen wie Lager und Maschinenräumen. Wenn die Konzentration den Schwellenwert überschreitet, wird der optische Alarm, das Abluftsystem oder die Feuerwehr-Verknüpfungsplattform über den Modbus-Hochcomputer ausgelöst. Mit Temperatur-Feuchtigkeitssensoren wird zudem eine umfassende Umweltsicherheitsüberwachung ermöglicht.

Szenario 4: Intelligentes Gebäude - menschliche Präsenz und Beleuchtung

Installation in Büros, Konferenzräumen und ToilettenRadar-Sensor (Typ = 04H)Infrarot-PIR - Sensor (Typ = 05H)für eine präzise Personenerkennung. Das Radar-System erkennt kleine Bewegungen (auch Atem) und ermöglicht eine echte "MBI_739] Menschen in einem sofortigen LichtDer Mensch leuchtet." intelligente Beleuchtungsteuerung, die erhebliche Energieeinsparungen. Die Sensordaten werden über das Gateway in das Gebäudeautomatische System (BAS) oder den KNX / Modbus-Bus zugegriffen.

Szenario 5: Sicherheits-Alarm - Einbruchserkennung in Kombination mit drahtloser Fernbedienung

kombiniertInfrarot-Sensor (Typ = 05H)Perimeter-Eintrusion - Erkennung mitdrahtloser Fernbedienung (Typ = 06H)für die Verteidigung / Entfernung.Gerät für allgemeine Anwendung 1527 (Typ = 00H)ist kompatibel mit verschiedenen Arten von drahtlosen Detektoren wie Türmagneten, Glasbruch, Wasserüberschwemmung und anderen, um ein komplettes drahtloses Sicherheitssystem zu bauen, alle Daten über Modbus RTU auf den Alarm-Host oder SCADA-Plattform zugreifen.

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.