Manche exotischen Modbus-Slaves implementieren nicht standardisierte Function Codes oder herstellerspezifische Verhaltensweisen (z. B. liefert Read Coil ein uint16 statt eines einzelnen Bits); deshalb sollte vor jeder Annahme zur Standardkonformität die Herstellerdokumentation geprüft werden.
Richtig
Häufige Hersteller-Abweichungen vom Standard: Read Coils liefert teilweise ein uint16, weil manche Hersteller den Coil-Wert (0/1) auf 16 Bit ablegen; eigene Function Codes im Bereich 65-72 sind bei Schneider und anderen verbreitet, da dieser Bereich für 'user-defined' reserviert ist; manche Energiezähler packen mehrere Werte in ein einzelnes Register. Lösung: vor der Integration die Doku gründlich lesen ('RTFM') und das reale Verhalten mit Wireshark oder mbpoll gegen die Doku verifizieren, statt blind auf Standardkonformität zu vertrauen.
Praxistipp: Bei jedem neuen Slave-Modell zuerst einen Read-Coils- und einen Read-Holding-Register-Test gegen ein bekanntes Register fahren - so fallen non-standard-Antwortformate sofort auf.
Modbus-Bank in Vorbereitung
Die vollständige Modbus-Bank ist noch nicht verfügbar. Hinterlassen Sie Ihre E-Mail, um beim Start benachrichtigt zu werden und einen Early-Bird-Rabatt zu erhalten.
Der Warteliste beitreten →Die 9 weiteren Modbus-Übungsfragen ansehen
Verwandte Fragen
- Welche Modbus-Variante wird heute für neue Installationen in einer modernen IT/OT-Umgebung am häufigsten eingesetzt?2. Variants · RTU vs. TCP vs. ASCII
- Wenn ein Modbus-Slave eine Anfrage nicht ausführen kann (ungültige Adresse, Wert außerhalb des zulässigen Bereichs usw.), antwortet er mit einer 'Exception Response': dem ursprünglichen Funktionscode mit gesetztem Bit 7, gefolgt von einem Exception Code, der den Grund angibt.4. Function codes · Exception Responses
- Die Funktion 0x05 'Write Single Coil' schreibt einen einzelnen binären Ausgang in einem Modbus-Slave. Der Wert ON wird mit 0xFF00 codiert, OFF mit 0x0000; jeder andere Wert ist ungültig.4. Function codes · Write Single Coil (0x05)
- Die Funktion 0x08 'Diagnostic' (ausschließlich Modbus seriell RTU/ASCII) erlaubt es, die Kommunikation zu testen und über Unterfunktionen (Return Query Data, Restart Communications, Return Bus Message Count usw.) auf interne Fehlerzähler des Slaves zuzugreifen.4. Function codes · Diagnostic (0x08)
- Wenn ein Modbus-TCP/RTU-Gateway zu einem RTU-Segment mit mehreren Slaves vermittelt, adressiert der Modbus-TCP-Client den jeweiligen RTU-Slave hinter dem Gateway über die Unit ID im MBAP-Header.5. Modbus TCP · Unit ID Gateway