Programming a Modbus master inside a PLC (Siemens TIA, Wago CoDeSys, Schneider Unity Pro) is done through standardised Function Blocks (e.g. MB_CLIENT, MODBUS_CLIENT) that encapsulate requests (Read Holding, Write Single Register, etc.) with automatic handling of retries and timeouts.
True
Every major PLC platform ships a vendor library of Modbus master Function Blocks: Siemens TIA exposes MB_CLIENT for Modbus TCP, Wago CoDeSys provides the MODBUS_CLIENT library, Schneider Unity Pro uses READ_VAR / WRITE_VAR, and ABB CoDeSys offers MB_RTU_CLIENT. Typical input parameters include Connect_ID, IP, Port, Slave_ID, Function code, Start_Address, Length and Data_Buffer. The Function Block transparently manages the connection, the timeout (typically 1-5 s) and retries, which makes programming dramatically simpler than implementing the wire protocol by hand.
Common trap: forgetting to wire the Done/Busy bit as a trigger condition for the next request, which saturates the block and causes cascading timeouts.
Modbus bank in preparation
The full Modbus bank isn't available yet. Drop your email to get notified at launch and grab an early-bird discount.
Join the waitlist →See the 9 other Modbus practice questions
Related questions
- Which Modbus variant is today the most widely used for new installations in a modern IT/OT environment?2. Variants · RTU vs. TCP vs. ASCII
- When a Modbus slave cannot execute a request (invalid address, out-of-range value, etc.) it replies with an "Exception Response": the original function code with bit 7 set to 1, followed by an Exception Code explaining the reason.4. Function codes · Exception Responses
- Function 0x05 "Write Single Coil" writes a single binary output on a Modbus slave. The ON value is encoded as 0xFF00 and OFF as 0x0000; any other value is invalid.4. Function codes · Write Single Coil (0x05)
- Function 0x08 "Diagnostic" (serial Modbus RTU/ASCII only) is used to test communications and to read internal error counters of a slave through a set of sub-functions (Return Query Data, Restart Communications, Return Bus Message Count, etc.).4. Function codes · Diagnostic (0x08)
- When a Modbus TCP-to-RTU gateway bridges an RTU segment with several slaves, the Modbus TCP client uses the Unit ID in the MBAP header to target the specific RTU slave behind the gateway.5. Modbus TCP · Unit ID Gateway