What is an OPC Driver and an OPC Client?

All of the OPC Specificationsare based on the OPC Client/Server model. Client/Server describes the relationship between two computer applications in which one application, the OPC client, makes a service request from another application, the OPC Driver (also known as an OPC Server), which fulfills the request. Although the OPC Client/Server model can be used within a single computer, when used in a network it provides a versatile and modular infrastructure that offers flexibility, interoperability, and scalability. This model is different from other common distributed architectures such as Master/Slave (or Primary/Secondary) and peer-to-peer networks.

In the Master/Slave (or Primary/Secondary) model. The Master application controls one or more other applications, the Slaves. Once the Master/Slave relationship is established, the direction of control is always from the master to the Slave(s). Peer-to-peer is a communication model in which each party has the same capabilities and either party can initiate a communication session.

So, what is an OPC Driver and what does it do? An OPC Driver is a software application, that has been written to one of the OPC Specifications. An OPC Driver will respond to requests, and provide data to one or more OPC Clients in a standard, consistent manner. Any compliant OPC Client can interface with, and request data from any compliant OPC Driver, regardless of the vendor, or the underlying system providing the data. The original audience for OPC Clients/Servers was the Process Automation industry, to provide a standard interface to industrial devices, such as a PLC, DCS, HMI, SCADA, RTU or DAS. Since requiring a standard interface to obtain data from a system is not unique to this industry, OPC Drivers are now available for countless other systems including historians, relational databases, RFID scanners, file systems, enterprise applications, custom devices, building control systems, IT networks, robots, even road signs.

The primary OPC Specifications, OPC Data Access (OPC DA), OPC Historical Data Access (OPC HDA)and OPC Alarms & Events (OPC A&E)are based on Microsoft COM (and DCOM), which is also based on the Client/Server model. From a programmatic point of view, the terms OPC Client and COM Client, and OPC Server and COM Server can be used interchangeably. Every OPC Client/Server is also a COM Client/Server. In sort, an OPC Driver provides a set of standard interfaces, properties and methods, such than any OPC Client can connect/disconnect, obtain information on what data is available, and read/write data in a standard manner.