140 likes | 263 Views
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
E N D
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 Internet RS-232/485 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)
1 Start Bit 7 Data Bits 1 Parity Bit (Even/Odd) 1 Stop Bit 1 Start Bit 7 Data Bits 2 Stop Bit 1 Start Bit 8 Data Bits 1 Parity Bit (Even/Odd) 1 Stop Bit 1 Start Bit 8 Data Bits 2 Stop Bit Two serial transmission modes • ASCII Mode • Data system ASCII character, ‘0’~’9’,’A’~’F’ • Bits per data unit • Error Check Field Longitudinal Redundancy Check (LRC) • RTU Mode • Data system 8-bit Binary, 00~FF • Bits per data unit • Error Check Field Cyclical Redundancy Check (CRC)
Start Station Number Function Code Data Error Check End 1 Char 2 Chars 2 Chars n Chars 2 Chars 2 Chars : LRC CR,LF Start Station Number Function Code Data Error Check End 3.5 Char 8 Bits 8 Bits n x 8 Bits 2 x 8 Bits 3.5 Chars Silence CRC Silence Prefixed Data Station Number Function Code Data 6 x 8 Bits Modbus Message Packet • ASCII Mode • RTU Mode • Modbus Plus network 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 Default Firmware Modbus/TCP Slave Device
Modbus/TCP Clients (Masters) Serial Device Clients (Masters) Internet Modbus/TCP Slave Device Default Firmware Serial Remote Device Basic application #2 Modbus/TCP command protocol Command protocol depend on serial devices Virtual Comm Technique
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
Modbus/TCP Clients (Masters) General TCP/IP Client (Masters) Serial Device Clients (Masters) Modbus/TCP Slave Internet User-defined TCP/IP Slave Special Firmware modified by users Modbus/RTU Master Serial Device Master Advanced application
Modbus Resources http://www.modicon.com Web page of original Modbus protocol inventor, MODICON Inc. http://www.modbg A community for Modbus users http://www.winsite.com/bin/Info?3088 ActiveX freeware to communicate with equipments via Modbus(RTU/ASCII) or Modbus/TCP http://www.pmcrae.freeserve.co.uk/readregu.html Example C code for Linux Modbus/RTU communication