Wiren BoardDokumentation
Dokumentation · Deutsch

Modbus RTU, Adressierung und Kommunikationseinstellungen

Revision 82315

Ausgewählte übersetzte Inbetriebnahmehinweise für die beiden Module. Vollständige gerätespezifische Registertabellen sind unten verlinkt.

Protokoll und Standardeinstellungen

Modbus RTU verwendet RS-485. Zu den Standardoperationen gehören das Lesen von Coils (0x01), diskreten Eingängen (0x02), Holding-Registern (0x03) und Eingangsregistern (0x04) sowie das Schreiben einer einzelnen Coil (0x05), eines einzelnen Holding-Registers (0x06), mehrerer Coils (0x0F) oder mehrerer Holding-Register (0x10).

Die werkseitigen seriellen Einstellungen sind 9600 bit/s, 8 Datenbits, keine Parität und 2 Stoppbits. Aktuelle Firmware toleriert abweichende Stoppbits; übereinstimmende Einstellungen sind dennoch sinnvoll. Verwenden Sie eine eindeutige Geräteadresse von 1 bis 247; die Werksadresse steht auf dem Gehäuse.

Adressen suchen und ändern

Verwenden Sie die Bussuche des Controllers, um Geräte zu finden und Adresskonflikte zu beheben. Stoppen Sie für den direkten Kommandozeilenzugriff andere Software, die diesen seriellen Port verwendet, und starten Sie sie danach wieder.

systemctl stop wb-mqtt-serial
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a1 -t0x06 -r128 12
systemctl start wb-mqtt-serial

Dieses Beispiel ändert Adresse 1 auf 12, indem es Holding-Register 128 beschreibt. Ersetzen Sie Port, Adresse und serielle Parameter durch die des tatsächlichen Geräts.

Ist die Adresse unbekannt, kann ein Broadcast-Schreibzugriff an Adresse 0 eine neue Adresse zuweisen. Schließen Sie dabei nur das gewünschte Gerät an: Jedes Gerät, das den Broadcast empfängt, kann die Änderung übernehmen. Eine Zeitüberschreitung ist zu erwarten, da Broadcast-Schreibzugriffe nicht beantwortet werden. Verwenden Sie nach Möglichkeit die Gerätesuche.

Baudrate und Parität

Holding-Register 110 speichert die Baudrate geteilt durch 100. Schreiben Sie für 115200 bit/s den Wert 1152 mit den bisherigen Kommunikationseinstellungen und stellen Sie anschließend den Master auf die neue Geschwindigkeit um. Register 111 legt die Parität fest (0 keine, 1 ungerade, 2 gerade); Register 112 wählt 1 oder 2 Stoppbits.

modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a12 -t0x06 -r110 1152

Hohe Baudraten erfordern eine korrekte Busverdrahtung. Alle Geräte an einem gemeinsamen Port müssen kompatible Einstellungen verwenden.

Fast Modbus

Fast Modbus ergänzt schnelle Gerätesuche und Ereignisabfrage. Ein Master aktiviert die Erweiterung ausdrücklich; herkömmliche Modbus-Master bleiben kompatibel. Nicht alle Register erzeugen Ereignisse: Ereignisfähige Einträge sind in den Registertabellen mit ⚡ gekennzeichnet. Die Ereignisübermittlung verringert die Latenz, wenn viele Geräte denselben Bus nutzen.

Registertabellen