MODBUS ASCII

MODBUS ASCII is a serial transmission mode of the MODBUS over Serial Line protocol. It sends each 8-bit message byte as two hexadecimal ASCII characters, delimits a message with a colon start character and a CRLF end pair, and uses an LRC field for frame checking. It operates as a master-slave protocol in which the master initiates requests and slave nodes respond.

Source checked3/3 values · 2026-10-25

Specification

1 source
Transportsserial
Architecturemaster slave
Encodingtext
Standard bodyModbus.org

Study notes

  • ASCII mode encodes each 8-bit byte as two ASCII characters; for example, byte 0x5B is sent as 0x35 and 0x42 ("5" and "B").
  • An ASCII frame starts with a colon (ASCII 3A hex) and ends with CRLF (ASCII 0D and 0A hex); the LF character can be changed by a MODBUS application command.
  • ASCII frame fields are Start (1 char), Address (2 chars), Function (2 chars), Data (0 up to 2x252 chars), LRC (2 chars), and End (CR LF); maximum frame size is 513 characters.
  • The ASCII data field can carry up to 2x252 characters because each data byte is encoded as two characters.
  • In ASCII mode the character frame is 10 bits: 1 start bit, 7 data bits sent least significant bit first, 1 parity bit, and 1 stop bit; with no parity, 2 stop bits are used.
  • Even parity is required; odd parity and no parity may also be used. The default parity mode is even parity.
  • ASCII mode uses Longitudinal Redundancy Checking (LRC): the LRC is one byte, calculated by adding successive 8-bit message bytes, discarding carries, and two's-complementing the result, excluding the colon and CRLF.
  • The LRC is ASCII-encoded into two bytes and placed before the CRLF at the end of the ASCII frame.
  • Devices monitor the bus continuously for the colon character; receipt of a colon starts a new message and discards any message then in reception.
  • Intervals of up to one second may elapse between characters within an ASCII message; unless a longer timeout is configured, an interval greater than one second is an error.

Safety

  • Some wide-area-network applications may require a character timeout in the 4 to 5 second range.
↑↓ navigate↵ openesc close