What is an OPC Driver and an OPC Client?
All of the OPC Specifications
are 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 complaint 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.
|