This specification describes the OPC COM objects and their interfaces implemented by OPC servers. Different vendors provide OPC servers, and an OPC client can connect to OPC servers provided by one or more vendors.
Vendor supplied code determines the devices and data to which each server has access, the data names, and the details about how the server physically accesses that data. Specifics on naming conventions are supplied in a subsequent section.
At a high level, an OPC server is comprised of several objects: the server, the group, and the item. The OPC server object maintains information about the server and serves as a container for OPC group objects. The OPC group object maintains information about itself and provides the mechanism for containing and logically organizing OPC items.
The OPC groups provide a way for clients to organize data. For example, the group might represent items in a particular report or operator display. Data can be read and written. Exception based connections can also be created between the client and the items in the group, and can be enabled and disabled as needed. An OPC client can configure the rate that an OPC server should provide the data changes to the OPC client.
There are two types of groups: public and local. Public allows sharing across multiple clients; local is local to a client. (Refer to the section on public groups for the intent, purpose, and functionality, and for further details.) There are also specific optional interfaces for the public groups. Within each group, the client can define one or more OPC items.
The OPC items represent connections to data sources within the server. An OPC item, from the custom interface perspective, is not accessible as an object by an OPC client. Therefore, there is no external interface defined for an OPC item. All access to OPC items is via an OPC group object that contains the OPC item, or simply where the OPC item is defined.
Associated with each item is a Value, Quality and Time Stamp. The value is in the form of a VARIANT, and the Quality is similar to that specified by Fieldbus.
Note that the items are not the data sources; they are just connections to them. For example, the tags in a DCS system exist regardless of whether an OPC client is currently accessing them. The OPC item should be thought of as simply specifying the address of the data, not as the actual physical source of the data that the address references.