{"id":"modbus-rtu","model_id":"MODBUS RTU","name":"MODBUS RTU","summary":"MODBUS RTU is the binary serial-line transmission mode of the MODBUS master-slave protocol. A master sends a request frame containing slave address, function code, data, and CRC; only the addressed slave replies. RTU is the default and mandatory mode for MODBUS over serial line, using silent intervals to delimit frames.","study_notes":["RTU mode is mandatory for MODBUS serial-line devices; ASCII mode is optional, and the default setup must be RTU.","RTU frame fields are slave address (1 byte), function code (1 byte), data (0 up to 252 bytes), and CRC (2 bytes); maximum RTU frame size is 256 bytes.","RTU character format is 8 data bits LSB first, 1 start bit, 1 parity bit, and 1 stop bit; no parity requires 2 stop bits. Default parity is even.","Message frames are separated by at least 3.5 character times (t3.5); a silent interval greater than 1.5 character times between characters makes the frame incomplete and it should be discarded.","For baud rates above 19200 bps, recommended fixed timer values are 750 microseconds for t1.5 and 1.750 milliseconds for t3.5.","CRC-16 uses polynomial 0xA001 and initial register value 0xFFFF; the low-order CRC byte is transmitted first, followed by the high-order byte.","The master initiates only one transaction at a time; slave nodes never transmit without a request and never communicate with each other.","Unicast transactions use a slave address from 1 to 247; broadcast uses address 0, is write-only, and returns no response.","Typical turnaround delay after a broadcast is 100 ms to 200 ms; response timeout is application-dependent and is typically 1 s to several seconds at 9600 bps.","The MODBUS data model defines coils and discrete inputs as single-bit objects and input registers and holding registers as 16-bit words.","9600 bps and 19.2 Kbps are required data signaling rates; 19.2 Kbps is the required default. Optional rates include 1200, 2400, 4800, 38400, 56 Kbps, and 115 Kbps."],"safety_notes":["If a slave detects a transmission error in a received frame, it does not act on the message and does not construct a response; the master's response timeout then expires.","Connection of a crossed cable in a 2-wire MODBUS system may cause damages.","Ensure at device addressing time that no two devices share the same address; duplicate addresses can cause abnormal behavior of the whole serial bus and prevent the master from communicating with all slaves.","The Common circuit must be connected directly to protective ground, preferably at one point only for the entire bus.","A MODBUS over Serial Line cable must be shielded, and at one end of each cable its shield must be connected to protective ground.","Line termination is required near each of the two ends of the bus; never place line termination on a derivation cable, and do not place more than two line terminations on one passive D0-D1 balanced pair.","RS232-MODBUS should only be used for short point-to-point interconnection, typically less than 20 m.","A figure of 32 devices is always authorized on any RS485-MODBUS system without repeater; line polarization reduces the maximum number of devices by 4.","For a maximum 9600 baud rate and AWG26 or wider gauge, the maximum trunk length is 1000 m; in the specific case of 4-wire cabling used as a 2-wire system, the maximum length must be divided by two."],"sources":[{"url":"https://www.modbus.org/file/secure/modbusoverserial.pdf","title":"modbusoverserial","accessed":"2026-10-25"},{"url":"https://www.modbus.org/file/secure/modbusprotocolspecification.pdf","title":"modbusprotocolspecification","accessed":"2026-10-25"}],"verification":{"status":"source_checked","checked_at":"2026-10-25","values":15,"method":"llm_source_check"},"updated_at":"2026-10-25","type":"protocol","spec":{"transports":["serial"],"architecture":"master_slave","encoding":"binary","default_ports":[],"data_types":[{"name":"Coils","size_bits":1,"description":"Single-bit read-write data type"},{"name":"Discrete Inputs","size_bits":1,"description":"Single-bit read-only data type"},{"name":"Input Registers","size_bits":16,"description":"16-bit word read-only data type"},{"name":"Holding Registers","size_bits":16,"description":"16-bit word read-write data type"}],"standard_body":"Modbus.org","related":[]},"url":"https://machineschema.com/protocol/modbus-rtu","license":"https://creativecommons.org/licenses/by/4.0/"}