OPC-UA stands for Open Platform Communications Unified Architecture. OPC-UA is a communication standard. It is a set of documents that provide rules and information about how software applications and devices can send and receive different kinds of data between each other.
The purpose of OPC-UA is to provide a way for software applications to communicate with different brands of PLCs and devices without having to implement proprietary device-specific communication protocols used by those PLCs and devices. And do this in a secure and platform independent way.
This is achieved through the use of an OPC-UA server. An OPC-UA server handles communication between software applications and devices.
An OPC-UA server uses device-specific protocols to communicate with different brands and kinds of devices and an OPC-UA protocol to communicate with software applications.
Software applications only need to implement a single OPC-UA communication protocol to talk to an OPC-UA server. A software application sends data to an OPC-UA server using an OPC-UA protocol. The OPC-UA server receives the data and sends the data to a device using the device's specific communication protocol. Communication back to the software application works the same in reverse - data is received by the OPC-UA server using the device-specific protocol and sent to the software application using the OPC-UA protocol.
OPC-UA was created by and is maintained by the OPC Foundation.
OPC-UA specifies a binary TCP-based communication protocol and a SOAP, HTTP-based protocol. These two communication protocols can be used by software applications to communicate with OPC-UA servers.
OPC-UA is the successor of the OPC standard. One of the benefits of OPC-UA over OPC is that OPC-UA is operating system independent - can be used on Windows, Linux, OS X, Android etc. OPC is a Microsoft-based technology that is used only on Windows computers.