OPC Servers are software applications (drivers) that comply with one or more OPC
specifications as defined by the OPC Foundation. OPC Servers communicate
natively with one or more Data Sources on one side and with OPC Clients on the
other. In an OPC Client / OPC Server Architecture, the OPC Server is
a Slave while the OPC Client is the Master. Communication between the OPC
Client and OPC Server is bi-directional meaning the OPC Clients can read from
and write to OPC Servers.
There are four types of OPC Servers defined by the OPC Foundation. They are as
OPC DA Server – Based on OPC Data Access Specification - specifically designed
for real-time data transmission.
OPC HDA Server – Based on OPC Historical Data Access Specification - provides
OPC HDA Clients with historical data.
OPC A&E Server - Based on OPC Alarms & Events Specification - transfers
Alarm and Event information to OPC A&E Clients.
OPC UA Server – Based on OPC Unified Architecture Specification - based on
OPC Foundation’s newest and most advanced set of OPC
allows OPC Servers to work with all data types.
Collectively, the first three OPC Server types are referred to as ‘classic’ OPC
Servers to distinguish them from the all-encompassing OPC UA based OPC Serves
that will become the main staple of future OPC architectures.
OPC Client - OPC Server Communications - (OPC DA Server,
OPC HDA Server, OPC A&E Server)
Classic OPC Servers utilize the Microsoft Windows’ COM/DCOM infrastructure as a
means of exchanging data. This means these OPC Servers must run on the
Microsoft Windows operating system. An OPC Server can support communications
OPC Clients simultaneously.
- Data Translation/Mapping
A key OPC server function is to translating data native to the data source into
an OPC format that’s compatible with one or more OPC Specifications mentioned
above (example: OPC DA for real-time data). OPC Foundation specifications only
define what the OPC portion of OPC Server communications so the efficiency and
quality of the Native-to-OPC and OPC-to-Native translations depends entirely on
each vendor’s OPC Server implementation.
Server-Data Source Communications
OPC Servers communicate natively with data-sources examples of which are:
devices, controllers, and applications. OPC Foundation specifications do not
specify how OPC Servers connect to and communicate with data sources because of
the wide variety of data sources available; each of which has its own
communication protocol or API communicated over any number of physical
connections (serial RS485 or RS232, Ethernet, wireless, etc). Two common
examples of how OPC Servers communicate with such data sources are:
Via an Application Programming Interface (API) for a custom driver specifically
written for the data-source.
Via protocol which may or may not be proprietary or based on an open standard
(ex. See MatrikonOPC Server for Modbus)
Common OPC Server Examples