Supervisory Control & Data Acquisition
Communication Technology
Modbus Protocol
What is Modbus ?
An open data communication protocol developed in 1979 Published by Modicon Open structure Flexible Widely known Supplied by many SCADA and HMI software Have OPC Servers 2 serial transmission modes: ASCII 10 bits RTU (Binary) 11 bits Communication interface RS-232/485 Ethernet (TCP/IP)
Application structure (general)
Modbus Client (Master)
SCADA
HMI
RS-232/485
Internet Internet
Modbus Device (Slave)
Modbus Device (Slave)
Query-Response Cycle
Query
Station Number
Function Code
Station Number
Data Bytes (Flexible)
Function Code
Data Bytes (Flexible)
Error Check
Error Check
Response
Hardware classification
Station Device: 0 ~ 255 Digital input 1xxxx: 4 digits for hexadecimal address (0000 ~ FFFF) 1xxxxx: 5 digital for decimal address (0 ~ 65535) Digital output 0xxxx: 4 digits for hexadecimal address (0000 ~ FFFF) 0xxxxx: 5 digital for decimal address (0 ~ 65535) Analog input 4xxxx: 4 digits for hexadecimal address (0000 ~ FFFF) 4xxxxx: 5 digital for decimal address (0 ~ 65535) Analog output 3xxxx: 4 digits for hexadecimal address (0000 ~ FFFF) 3xxxxx: 5 digital for decimal address (0 ~ 65535)
Two serial transmission modes
Data system
ASCII Mode
Bits per data unit
ASCII character, ‘0’~’9’,’A’~’F’
1 Start Bit 7 Data Bits 1 Parity Bit (Even/Odd) 1 Stop Bit
Error Check Field
1 Start Bit 7 Data Bits 2 Stop Bit
Longitudinal Redundancy Check (LRC)
Data system
RTU Mode
Bits per data unit
8-bit Binary, 00~FF
1 Start Bit 8 Data Bits 1 Parity Bit (Even/Odd) 1 Stop Bit
Error Check Field
1 Start Bit 8 Data Bits 2 Stop Bit
Cyclical Redundancy Check (CRC)
Modbus Message Packet
ASCII Mode
Station Number Function Code
2 Chars 2 Chars Data n Chars
Start 1 Char : Error Check 2 Chars LRC End 2 Chars CR,LF
RTU Mode
Station Number Function Code
8 Bits 8 Bits Data n x 8 Bits
Start 3.5 Char Silence Error Check 2 x 8 Bits CRC End 3.5 Chars Silence
Modbus Plus network
Prefixed Data Station Number Function Code Data
6 x 8 Bits
Byte 0, 1: transaction ID – usually 0
Byte 2, 3: protocol ID = 0 Byte 4, 5: number of bytes following
Read/Write Modes
Single Read/Write Multiple Read/Write
Basic application #1
Modbus/TCP Clients (Masters)
Modbus/TCP command protocol
Internet Internet
Default Firmware Modbus/TCP Slave Device
Basic application #2
Modbus/TCP Clients (Masters)
Serial Device Clients (Masters)
Modbus/TCP command protocol
Command protocol depend on serial devices
Internet Internet
Modbus/TCP Slave Device
Default Firmware
Serial Remote Device
Virtual Comm Technique
Modbus SDK
Modbus Embedded Controller
Modbus Client (Master)
Modbus protocol
User-defined protocol
SCADA
HMI
Modbus Embedded Controller
Check Modbus Request
Update I/O
RS-485
Run User Process
. . .
RS-232
PLC
Advanced application Modbus/TCP Clients (Masters)
General TCP/IP Client (Masters)
Serial Device Clients (Masters)
Modbus/TCP Slave
User-defined TCP/IP Slave
Internet Internet