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.
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.