Industrial automation systems rely heavily on communication networks to exchange data between controllers, sensors, actuators, and supervisory systems. Among these, serial communication remains one of the most widely used methods due to its simplicity, reliability, and long-distance capability.
What is Serial Communication?
Serial communication is a method of transmitting data one bit at a time sequentially over a single communication channel or wire pair. Unlike parallel communication (where multiple bits are transmitted simultaneously), serial communication sends bits in a continuous stream.
How It Works
In serial communication, information is first taken in its original form (such as numbers, characters, or sensor values) and converted into a digital format. When data originates as current (4–20 mA) or voltage (0–10 V) signals, it represents an analog value. To use this information in serial communication, it must first be converted into a digital format. This conversion is done using an Analog-to-Digital Converter (ADC). This digital data is then broken down into individual bits (0s and 1s) and arranged into a continuous bit stream according to the selected communication protocol. These bits are transmitted sequentially, one after another, over a single communication line or wire pair, ensuring reliable transfer even over long distances.
At the receiving end, the incoming bit stream is captured and synchronized using timing information such as start and stop bits. The receiver then groups the bits back into bytes or words, checks for errors using parity or checksum methods, and finally reconstructs the original data exactly as it was sent. This process allows accurate and efficient communication between devices in industrial systems.
Step-by-step conversion process
- Signal Acquisition
A field device (pressure transmitter, temperature sensor, flow meter, etc.) sends a signal:- 4–20 mA current
- 0–10 V or 1–5 V voltage
- Signal Conditioning
Signal conditioning is the process of preparing an analog signal (current or voltage) so it can be accurately and safely processed by an ADC or controller. Raw signals from field instruments are often noisy, weak, or incompatible with electronics, so conditioning improves their quality before conversion.
Before conversion, the signal is:
- Filtered to remove noise
- Scaled to match ADC input range
- Isolated (for safety)
- Analog-to-Digital Conversion (ADC)
The conditioned signal enters the ADC module inside:- PLC
- DCS
- Remote I/O
- Smart transmitter
The ADC:
- Samples the signal at fixed intervals
- Converts amplitude into a digital number
Example:
- 4 mA → Digital value = 0
- 20 mA → Digital value = 65535 (for 16-bit ADC)
- Digital Scaling
The raw ADC count is converted into engineering units:- °C
- bar
- m³/h
Using linear equations inside the controller.
Digital scaling shown in above image
Packaging for Serial Transmission
After the analog signal has been converted into a digital value and scaled into engineering units, the controller must prepare this data for communication. This preparation process is called packaging for serial transmission.
First, the digital value is stored in memory registers inside the PLC, DCS, or field device. These registers are predefined memory locations used for communication. For example, Modbus holding registers are used to store analog values. Each register typically holds 16 bits of data, and larger values such as floating-point numbers may occupy two consecutive registers.
Next, the stored value is converted into binary format because all digital systems operate using binary numbers (0s and 1s). The controller splits the 16-bit value into two parts:
- Most Significant Byte (MSB)
- Least Significant Byte (LSB)
This byte separation is necessary because serial communication transmits data one byte at a time.
After conversion, the bytes are placed into a communication frame according to the selected protocol such as Modbus RTU. The frame includes:
- The slave address to identify the target device
- The function code to define the operation (read/write)
- The data field containing register values or commands
- An error-checking field (CRC or LRC)
This framing process ensures that:
- The correct device receives the message
- The device understands what action to perform
- Data integrity is verified
Serial Transmission
Once the protocol frame is formed, it is ready for physical transmission. The framed data is now converted into a serial bit stream.
Each byte is encoded by the controller’s UART (Universal Asynchronous Receiver Transmitter) into individual bits. A standard transmission format such as 8N1 is used:
- One start bit signals the beginning of transmission
- Eight data bits carry the actual information
- Optional parity bit for error checking
- One or two stop bits mark the end of the byte
This means every byte becomes a sequence of bits transmitted in a fixed timing pattern.
The bits are then sent sequentially over the communication cable, meaning one bit is transmitted after another. This is why it is called serial communication.
The physical transmission occurs through:
- RS-232 for short-distance point-to-point communication
- RS-485 for long-distance, multi-device industrial networks
RS-485 uses differential signaling, which provides high noise immunity and allows multiple devices to share the same communication bus.
At the receiving device:
- Incoming bits are grouped back into bytes
- The complete message frame is reconstructed
- The CRC or checksum is verified
- If valid, the data is accepted and stored in registers
If any error is detected, the message is discarded, ensuring reliable communication.
Storing the value in registers
Inside PLCs, DCS systems, and smart devices, all data is stored in memory registers.
- Analog values are typically stored in:
- Holding registers
- Input registers
- Each register usually holds 16 bits of data.
- If the value is larger (32-bit float), it occupies two consecutive registers.
Example:
Temperature = 75.6°C
- Stored as an integer (756) or float format
- Placed in register address 40010
Converting into binary format
Computers work in binary (0s and 1s).
So the register value is converted into:
- Binary representation
- Split into bytes:
- High byte (MSB)
- Low byte (LSB)
Example:
Decimal value: 300
Binary: 00000001 00101100
- High byte = 00000001
- Low byte = 00101100
This byte structure is needed for communication protocols.
Placing data into protocol frames
The bytes are now inserted into a communication frame according to the selected protocol (e.g., Modbus RTU).
A typical Modbus RTU frame looks like:
| Slave Address | Function Code | Data | CRC |
Example frame:
- Address: 01
- Function: 03 (Read Holding Registers)
- Data: Register address + quantity
- CRC: Error check
The frame:
- Defines who the message is for
- Defines what action is requested
- Contains actual data values
- Includes error-checking bits
This framing ensures:
- Correct device receives data
- Correct function is executed
- Data integrity is maintained
After the message frame is created, it must be physically transmitted over the communication cable.
Why Serial Data is Used Over Current and Voltage Signals
Traditionally, analog signals such as 4–20 mA and 0–10 V were used. However, serial data offers many advantages:
Advantages
| Feature | Serial Communication | Analog Signals |
|---|---|---|
| Noise immunity | High | Medium |
| Data capacity | Multi-parameter | Single variable |
| Accuracy | Digital (no drift) | Drift possible |
| Diagnostics | Available | Not available |
| Cable length | Long | Limited |
| Expansion | Easy | Difficult |
Why Preferred
- Multiple parameters over one cable
- Error detection
- Higher resolution
- Remote configuration
- Networked communication
Modbus Communication
The MODBUS® protocol is a widely used industrial communication messaging structure designed to establish master–slave (client–server) communication between intelligent electronic devices. It was originally developed by Modicon and has since become an industry standard due to its simplicity, openness, and reliability.
A Modbus message transmitted from a master to a slave device contains four essential elements:
- Slave Address – Identifies the target device
- Function Code – Specifies the requested operation (read/write)
- Data Field – Contains parameters or register values
- Error Check – Ensures data integrity (LRC or CRC)
One of the key strengths of Modbus is that it is independent of the physical layer. This means the same messaging structure can operate over different physical communication standards such as:
- RS-232
- RS-422
- RS-485
- Ethernet (Modbus TCP)
Modbus Communication Process
1. Request Message
When a master sends a request:
- The function code tells the slave what action to perform
- The data field provides additional details needed to complete the action
- The error check field allows the slave to verify message integrity
Example
Function code 03 (Read Holding Registers):
- Master specifies:
- Starting register address
- Number of registers to read
- Slave responds with register values
2. Response Message
If the request is successful:
- Function code is echoed back
- Data field contains requested values
If an error occurs:
- Function code is modified (MSB set to 1)
- Data field contains an exception code
- Error check allows master validation
Modbus Transmission Modes
Controllers can communicate using two serial transmission modes:
- ASCII Mode
- RTU Mode
ASCII Mode
In ASCII (American Standard Code for Information Interchange) mode:
- Each 8-bit byte is transmitted as two ASCII characters
- Characters are printable: 0–9, A–F
- Allows up to 1-second delay between characters without error
Frame Format
Start Address Function Data LRC End
: 2 chars 2 chars N chars 2 chars CR LF
ASCII Frame Rules
- Message starts with colon “:” (0x3A)
- Ends with CR (0x0D) and LF (0x0A)
- Devices monitor network for colon
- If delay > 1 second → error assumed
Character Format
| Parameter | Value |
|---|---|
| Start bit | 1 |
| Data bits | 7 |
| Parity | Even / Odd / None |
| Stop bits | 1 (with parity) / 2 (no parity) |
| Error check | LRC (Longitudinal Redundancy Check) |
RTU Mode
In RTU (Remote Terminal Unit) mode:
- Each byte contains two hexadecimal digits
- Higher data density → faster transmission
- Messages must be sent as a continuous stream
RTU Frame Format
Start Address Function Data CRC End
3.5 char 8 bits 8 bits N*8 bits 16 bits 3.5 char
RTU Timing Rules
- Message starts after 3.5 character silent time
- Message must be continuous
- If silence > 1.5 char before completion → frame discarded
- New message must wait 3.5 char time
- CRC verifies message integrity
Character Format
| Parameter | Value |
|---|---|
| Start bit | 1 |
| Data bits | 8 |
| Parity | Even / Odd / None |
| Stop bits | 1 (with parity) / 2 (no parity) |
| Error check | CRC (Cyclic Redundancy Check) |
Address Field
- ASCII → 2 characters
- RTU → 8 bits
- Valid slave addresses: 1 to 247
- Address 0 = broadcast
Function Code Field
The function code defines the operation the slave must perform.
Common Modbus Function Codes
| Code | Hex | Description |
|---|---|---|
| 01 | 0x01 | Read Coils |
| 02 | 0x02 | Read Discrete Inputs |
| 03 | 0x03 | Read Holding Registers |
| 04 | 0x04 | Read Input Registers |
| 05 | 0x05 | Write Single Coil |
| 06 | 0x06 | Write Single Register |
| 08 | 0x08 | Diagnostics |
| 11 | 0x0B | Get Comm Event Counter |
| 15 | 0x0F | Write Multiple Coils |
| 16 | 0x10 | Write Multiple Registers |
| 17 | 0x11 | Report Server ID |
| 22 | 0x16 | Mask Write Register |
| 23 | 0x17 | Read/Write Multiple Registers |
| 43/14 | 0x2B/0x0E | Read Device Identification |
Error Checking
| Mode | Method |
|---|---|
| ASCII | LRC |
| RTU | CRC-16 |
These methods:
- Detect transmission errors
- Ensure message integrity
- Reject corrupted frames
Why Modbus is Still Widely Used
- Open protocol
- Simple implementation
- Works on RS-232 / RS-485 / Ethernet
- Low bandwidth requirement
- Multi-vendor compatibility
- Easy troubleshooting
Disadvantages of Serial Communication
| Against | Disadvantages |
|---|---|
| Analog | Requires configuration |
| Needs protocol | |
| Limited speed | |
| HART | HART supports analog fallback |
| HART is hybrid | |
| Vendor dependency | |
| Address conflicts | |
| General | Cable termination required |
| Network troubleshooting | |
| Slower than Ethernet |
Serial Communication Modes
A) RS-232
| Property | Details |
|---|---|
| Distance | ~15 meters |
| Speed | Up to 115 kbps |
| Devices | PC, modem |
| Topology | Point-to-point |
| Voltage | ±3 to ±15 V |
| Connector | DB9, DB25 |
B) RS-485
| Property | Details |
|---|---|
| Distance | Up to 1200 m |
| Speed | 10 Mbps |
| Devices | PLC, meters |
| Topology | Multi-drop |
| Nodes | Up to 32 |
| Signaling | Differential |
| Connector | Terminal blocks |
Commercial Products Available
PLCs
- Siemens S7-1200
- Allen Bradley MicroLogix
- Schneider M340
Serial Devices
- Modbus energy meters (Schneider, ABB)
- VFDs (Danfoss, ABB)
- Flow meters (Endress+Hauser)
- Smart transmitters (Rosemount)
Converters
- USB to RS-485
- Ethernet to serial gateways
Industrial Gateways
- Moxa serial device servers
- HMS Anybus
- Prosoft communication modules
Serial communication remains a foundation of industrial networking. Despite modern Ethernet technologies, protocols like RS-485 and Modbus continue to dominate due to their reliability, simplicity, and cost-effectiveness. Understanding serial communication is essential for automation engineers, control engineers, and instrumentation professionals.