Modbus ASCII transmits each byte as 2 ASCII hexadecimal characters (e.g. 0x4F becomes "4F"), with the frame delimiter ":" at the start and CR+LF at the end, and a Longitudinal Redundancy Check (LRC) checksum instead of the CRC used in RTU.
True
Modbus ASCII (legacy, barely deployed in 2026) encodes each byte as two ASCII hex characters, so 0x4F is transmitted as "4F". A frame is structured as ":" (start) + Address + Function + Data + LRC + CR + LF. The LRC is a 1-byte Longitudinal Redundancy Check (compared to the 16-bit CRC of RTU), and the effective bandwidth is halved compared to RTU because each byte takes twice as many characters on the wire. The theoretical advantage is that frames are human-readable on a serial terminal; the practical drawback is that it is about twice as slow as RTU and is now nearly extinct.
If you ever find Modbus ASCII still in use, plan its replacement at the next maintenance window: there is no operational reason to keep it on a modern installation.
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