from the Automation List department...
Modbus RTU vs Modbus ASCII
Application Questions and Problems topic
Posted by Richard George on 25 June, 2001 - 10:45 am
What is the difference between Modbus RTU and Modbus ASCII? When should I use one in preference to the other?

Posted by Raymond van der Tas on 26 June, 2001 - 5:46 am
Modbus RTU and Modbus ASCII talk the same protocol. The only difference is that the bytes being transmitted over the wire are presented as binary with RTU and as readable ASCII with Modbus RTU.

important to note about RTU is that the RTU message does not have a Start_of_text indication. The receiving party in the communications uses a "silent" time in order to determine the start of a new message.

ASCII does have a start-of-text token.

Binary messages are shorter than ASCII and therefore theoretically faster to transmit/receive. You may be happy to see update rates of about 100 ms in your HMI/SCADA and could choose either communication.

- use RTU is possible
- use ASCII in case RTU is giving timeout problems on WinNT or when using slow communications media like 300 bps or dialup modems

Most OPC Servers for Modbus support ASCII as well as RTU communications.

Hope this helps a bit in selecting your communications.

Raymond van der Tas

Posted by Joe O on 26 June, 2001 - 8:18 am
> What is the difference between Modbus RTU and Modbus ASCII? When should I use one in preference to the other? >

The difference is in how the numbers are actually transmitted. In standard RTU, the data strings are represented in hexadecimal byte form. for example, if the slave 16-bit address is one, the transmitted value would be 01h. In Ascii, the transmitted value would be 30h 31h. These are the hexadecimal ASCII values for the numbers 0 and 1.
Also, in standard RTU, the last two bytes are the CRC bytes followed by a "quiet time". In ASCII, they are followed by a Carriage Return (0dh) and Line Feed (0ah).
Today, most RTU, such as, Modbus TCP, is the standard form, and therefore, the preferable.

I hope this brief explanation is helpful.

Posted by Filipe Campos on 26 June, 2001 - 2:59 pm
Modbus RTU uses the CRC to error detecting
Modbus Ascii uses LRC to error detecting
so modbus rtu is more reliable

Modbus RTU uses binary data
Modbus ascci uses data in ascii mode
so modbus rtu is quicker


Posted by Raymundo D. Balderas on 26 June, 2001 - 3:12 pm
Hi Richard:

The Difference between Modbus ASCII and Modbus RTU is the bit contents of message fields transmitted serially between Devices.

In Modbus ASCII, each 8=96bit byte in a message is sent as two ASCII characters, the error check characters are the result of a Longitudinal Redundancy Check (LRC) calculation.The advantage of this mode is that
it allows time intervals of up to one second to occur between characters without causing an error.

In Modbus RTU, each 8=96bit byte in a message contains two 4=96bit hexadecimal characters,the error check value is the result of a Cyclical Redundancy Check (CRC) calculation . The advantage of this mode is that its greater character density allows better data throughput than ASCII for the same baud rate.

* Best Regards: *
* *
* Raymundo D. Balderas *
* *
* (Automation Division) *

Posted by James Wilk on 26 June, 2001 - 4:39 pm
Check out:

Your use of this site is subject to the terms and conditions set forth under Legal Notices and the Privacy Policy. Please read those terms and conditions carefully. Subject to the rights expressly reserved to others under Legal Notices, the content of this site and the compilation thereof is © 1999-2014 Nerds in Control, LLC. All rights reserved.

Users of this site are benefiting from open source technologies, including PHP, MySQL and Apache. Be happy.

Misery loves company, but company does not reciprocate.