n this post, we will study the concept of the Modbus ASCII protocol.
Modbus is a communication protocol that is widely used in PLCs. It is a type of serial communication.
Nowadays, apart from PLC’s, it is widely used in various ranges of instruments like PID controllers, sensors, various types of electronic instruments, VFD’s, etc.
Modbus works in master-slave mode. That means, suppose there is a PLC that acts as a master and three VFD’s which act as slaves.
If you understand it in simpler terms, it is a turn-by-turn protocol. The PLC requests information from the first slave; then the second slave and at last, the third slave.
It requests for data in a set period of time; and if the response is not received (timeout time), then it proceeds for the next slave and so on.
After the last slave, it goes back again to the first slave. Also, apart from reading, it also writes data to slaves one by one.
MODBUS ASCII Communication Protocol
Modbus works on three hardware layers for serial communication –
RS-232
RS-422
RS-485
In Modbus serial protocol, there are two types of transmission –
RTU
ASCII
In this post, we will have a look at the Modbus ASCII protocol.
Before proceeding ahead with the data structure in Modbus ASCII protocol, let us have a look at the basic data frame structure of Modbus protocol.
The frame starts with the address field, followed by the function code field, then the data field, and at last, CRC (Cyclic Redundancy Check) field.
Address field determines the slave address; function code determines what type of action to perform on data; data field is the data to be sent or received, and CRC or error checking field is the result of redundancy checking calculation to check if the frame being communicated has any error or not.
ASCII
ASCII stands for American Standard Code for Information Exchange. It uses ASCII characters to begin and end messages. ASCII characters are hexadecimal characters.
The format of the message starts with a colon ‘:’ and ends with a carriage return and line feed. Due to this, the space between the messages becomes variable.
As compared to Modbus RTU, ASCII uses the less effective LRC (longitudinal redundancy check) error checking method. If we look at its frame format, the first byte consists of start bit; then 2 bytes for station address; then 2 bytes for function code; then ‘n’ bytes for data; then 2 bytes for LRC and at last, 2 bytes for stop bit (carriage return and line feed).
Disadvantages of Modbus ASCII Communication
Modbus ASCII is used very rarely and is less efficient as compared to Modbus RTU. The main reason for this is the error checking method, which is much stronger in RTU.
So it is used in very less devices. It is a depleting type of protocol that is available in Modbus serial communication. But, some of the major applications where it is used are in serial modems and weight balance check machines.
In this way, we had a basic overview of the Modbus ASCII protocol.
Comments
Post a Comment