OPC Complex Data is a companion specification to OPC Data Access and OPC XML-DA that allows servers to expose and describe more complicated data types such as binary structures and XML documents. The OPC Foundation is responsible for defining and maintaining the OPC Complex Data specification.
Complex data is a term that describes OPC Data Access (DA) items whose values are constructed. OPC Complex Data provides a mechanism for OPC DA clients to discover the structure of the data values. This section introduces OPC Data Access and how OPC Complex Data relates to it.
The OPC DA specifications require DA items to be simple types or arrays of simple types. Therefore, prior to the OPC Complex Data Specification, OPC DA servers represented structured data simply as a sequence of bytes. The OPC DA specifications do not provide a mechanism for servers to describe the structure of these bytes, and as a result, clients that did not have knowledge about the structure were unable to interpret them.
This specification defines the information, represented as OPC DA item properties, that OPC DA servers may make available to OPC DA clients to describe the structure of the data. Constructed data items whose structure is defined using these properties are known as complex data items.
An example of a complex data item is a data structure that represents a ‘Connection’ to some physical I/O device. It contains read-only configuration information as well as read-only runtime status information and writable control points.
This structure could be represented in a DA server namespace as multiple DA items within a single branch; however, the DA client would not be able to read a coherent snapshot of the connection status since the status could change while each individual item is being read. Moreover, representing the structure a set of independent items means the all information about how the items relate to each other is lost.
OPC Complex Data solves these problems by:
This specification is intended as reference material for developers of OPC compliant Client and Server applications. It is assumed that the reader is familiar with the OPC Data Access specifications, Microsoft COM/DCOM technology, XML schemas, and the needs of the Process Control industry.
This specification is intended to facilitate development of OPC DA Servers in C and C++, and of OPC DA Client applications in the language of choice. Therefore, the developer of the respective component is expected to be fluent in the technology required for the specific component.
Visit the OPC Foundation website for more detailed information about the OPC Complex Data specification.