Die Programmierung eines Modbus-Masters in einer SPS (Siemens TIA, Wago Codesys, Schneider Unity Pro) erfolgt über standardisierte Funktionsbausteine (z. B. MB_CLIENT, MODBUS_CLIENT), die Anfragen (Read Holding, Write Single Register usw.) inklusive automatischer Retry- und Timeout-Behandlung kapseln.
Richtig
Praktisch alle gängigen Engineering-Umgebungen liefern fertige Funktionsbausteine: Siemens TIA Portal bietet MB_CLIENT (Modbus TCP), Wago Codesys die MODBUS_CLIENT-Library, Schneider Unity Pro die READ_VAR/WRITE_VAR-Bausteine, ABB CoDeSys den MB_RTU_CLIENT. Typische Parameter sind Connect_ID, IP, Port, Slave_ID, Function, Start_Address, Length und Data_Buffer. Verbindungsaufbau, Timeout (typisch 1-5 s) und Retries werden vom Baustein verwaltet, was die Programmierung gegenüber einer manuellen Implementierung deutlich vereinfacht und Fehlerquellen reduziert.
Praxistipp: Häufiger Fehler: das Done-/Busy-Bit nicht als Triggerbedingung für die nächste Anfrage zu verknüpfen — das sättigt den Baustein und führt zu Kaskaden-Timeouts.
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