Which Protocols Does SCADA Use?

SCADA uses several protocols. The most common protocols are
• Object Linking and Embedding for Process Control (OPC)
• Inter-Control Center Protocol (ICCP)
• Modbus
• Distributed Network Protocol version 3 (DNP3)

OPC
OLE for Process Control is a software interface standard that allows Windows programs to communicate with industrial hardware devices. OPC is implemented in client/server pairs. The OPC server is a software program that converts the hardware communications protocol used by a PLC into the OPC protocol. The OPC client software is any program that needs to connect to the hardware, such as an HMI. The OPC client uses the OPC server to get data from or send commands to the hardware.

ICCP
Inter-Control Center Protocol is an application layer protocol and is also known as International Electrotechnical Commission (IEC) Telecontrol Application Service Element 2 (TASE.2). It has been standardized under the IEC 60870-6 specifications and allows for real-time data exchange over wide area networks (WANs) between utility control centers. ICCP provides transactions for queries, monitoring, data transfer, and scheduling between clients and servers.

Modbus
Modbus is a protocol specification designed for building automation equipment used to interface with various devices over RS485 serial and TCP/IP interfaces. Due to the longevity of the Modbus protocol and its widespread implementation, it is now the most commonly available means of networking industrial electronic devices.

DNP3
Distributed Network Protocol version 3 is an open master/slave control system protocol specifically designed for the requirements of electrical and water utility industries. Specifically, it was developed to facilitate communications between various types of data acquisition and control equipment. It plays a crucial role in SCADA systems, where it is used by SCADA master stations (aka control centers), RTUs, and IEDs. DNP3 supports the following behaviors:
• Request and respond with multiple data types in single messages.
• Segment messages into multiple frames to ensure excellent error detection and recovery.
• Include only changed data in response messages.
• Assign priorities to data items and request data items periodically based on their priority.
• Respond without request (unsolicited).
• Support time synchronization and a standard time format.
• Allow multiple masters and peer-to-peer operations.
• Allow user definable objects including file transfer.