OPC Server
   HOME

TheInfoList



OR:

Open Platform Communications (OPC) is a series of
standards Standard may refer to: Symbols * Colours, standards and guidons, kinds of military signs * Standard (emblem), a type of a large symbol or emblem used for identification Norms, conventions or requirements * Standard (metrology), an object th ...
and specifications for industrial telecommunication. They are based on Object Linking and Embedding (OLE) for
process control An industrial process control in continuous production processes is a discipline that uses industrial control systems to achieve a production level of consistency, economy and safety which could not be achieved purely by human manual control. I ...
. An industrial automation task force developed the original standard in 1996 under the name OLE for Process Control. OPC specifies the communication of real-time plant data between control devices from different manufacturers. After the initial release in 1996, the OPC Foundation was created to maintain the standards. Since OPC has been adopted beyond the field of process control, the OPC Foundation changed the name to Open Platform Communications in 2011. The change in name reflects the applications of OPC technology for applications in building automation,
discrete manufacturing Discrete manufacturing is the production of distinct items. Automobiles, furniture, toys, smartphones, and aeroplanes are examples of discrete manufacturing products. The resulting products are easily identifiable and differ greatly from process m ...
, process control and others. OPC has also grown beyond its original OLE implementation to include other data transportation technologies including Microsoft Corporation's
.NET Framework The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
, XML, and even the OPC Foundation's binary-encoded TCP format.


History

The OPC specification' was based on the OLE,
COM Com or COM may refer to: Computing * COM (hardware interface), a serial port interface on IBM PC-compatible computers * COM file, or .com file, short for "command", a file extension for an executable file in MS-DOS * .com, an Internet top-level d ...
, and DCOM technologies developed by Microsoft Corporation for the
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
operating system family. The specification defined a standard set of
object Object may refer to: General meanings * Object (philosophy), a thing, being, or concept ** Object (abstract), an object which does not exist at any particular time or place ** Physical object, an identifiable collection of matter * Goal, an ai ...
s,
interfaces Interface or interfacing may refer to: Academic journals * Interface (journal), ''Interface'' (journal), by the Electrochemical Society * ''Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Lin ...
e.g.
IDL IDL may refer to: Computing * Interface description language, any computer language used to describe a software component's interface ** IDL specification language, the original IDL created by Lamb, Wulf and Nestor at Queen's University, Canada ...
and
methods Method ( grc, μέθοδος, methodos) literally means a pursuit of knowledge, investigation, mode of prosecuting such inquiry, or system. In recent centuries it more often means a prescribed process for completing a task. It may refer to: *Scien ...
for use in process control and manufacturing automation applications to facilitate interoperability. The most common OPC specification is
OPC Data Access The OPC Data Access Specification is the first of a group of specifications known as the OPC Classic Specifications. OPC Data Access is a group of client–server standards that provides specifications for communicating real-time data from data ...
, which is used for reading and writing real-time data. When vendors refer to "OPC" generically, they typically mean
OPC Data Access The OPC Data Access Specification is the first of a group of specifications known as the OPC Classic Specifications. OPC Data Access is a group of client–server standards that provides specifications for communicating real-time data from data ...
(OPC DA). OPC DA itself has gone through three major revisions since its inception. Versions are backwards compatible, in that a version 3 OPC Server can still be accessed by a version 1 OPC Client, since the specifications add functionality, but still require the older version to be implemented as well. However, a client could be written that does not support the older functions since everything can be done using the newer ones, thus a DA-3-compatible client will not necessarily work with a DA 1.0 Server. In addition OPC DA specification, the OPC Foundation maintains the
OPC Historical Data Access This group of standards, created by the OPC Foundation, provides COM specifications for communicating data from devices and applications that provide historical data, such as databases. The specifications provides for access to raw, interpolated an ...
(HDA) specification. In contrast to the real time data that is accessible with OPC DA, OPC HDA allows access and retrieval of archived data. The OPC Alarms and Events specification is maintained by the OPC Foundation, and defines the exchange of alarm and event type message information, as well as variable states and state management. By 2002, the specification was compared to Fieldbus and other previous standards. An OPC Express Interface, known as OPC Xi, was approved in November, 2009, for the
.NET Framework The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
. OPC Xi used
Windows Communication Foundation The Windows Communication Foundation (WCF), previously known as Indigo, is a free and open-source runtime and a set of APIs in the .NET Framework for building connected, service-oriented applications. .NET Core 1.0, released 2016, did not supp ...
instead of DCOM, so it can be configured for communication across the enhanced security of network address translation (NAT). About the same time, the
OPC Unified Architecture OPC Unified Architecture (OPC UA) is a cross-platform, open-source, IEC62541 standard for data exchange from sensors to cloud applications developed by the OPC Foundation. Distinguishing characteristics are: * Standardized data models freely a ...
(UA) was developed for platform independence. UA can be implemented with Java,
Microsoft .NET The Microsoft .NET strategy is a marketing plan that Microsoft followed in the early 2000s. Steve Ballmer described it as the company's "most ambitious undertaking since Internet Strategy Day in 1995". In support of this strategy, between 2000 and ...
, or C, eliminating the need to use a
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
platform of earlier OPC versions. UA combined the functionality of the existing OPC interfaces with new technologies such as XML and Web services to deliver higher level manufacturing execution system (MES) and enterprise resource planning (ERP) support. The first working group for UA met in 2003, version 1.0 was published in 2006. On September 16, 2010, The OPC Foundation and the MTConnect Institute announced cooperation to ensure interoperability and consistency between the two standards.


Design

OPC was designed to provide a common bridge for Windows-based software applications and process control hardware. Standards define consistent methods of accessing field data from plant floor devices. This method remains the same regardless of the type and source of data. An OPC Server for one hardware device provides the same methods for an OPC client to access its data as any other OPC Server for any hardware device. The aim was to reduce the amount of duplicated effort required from hardware manufacturers and their software partners, and from the
supervisory control and data acquisition Supervisory control and data acquisition (SCADA) is a control system architecture comprising computers, networked data communications and graphical user interfaces for high-level supervision of machines and processes. It also covers sensors and o ...
(SCADA) and other human-machine interface (HMI) producers in order to interface the two. Once a hardware manufacturer had developed their OPC Server for the new hardware device, their work was done with regards to allowing any 'top end' to access their device, and once the SCADA producer had developed their OPC client, it allowed access to any hardware with an OPC compliant server. OPC servers provide a method for different software packages (as long as it is an OPC client) to access data from a process control device, such as a
programmable logic controller A programmable logic controller (PLC) or programmable controller is an industrial computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, machines, robotic devices, or any activity tha ...
(PLC) or distributed control system. Traditionally, any time a package needed access to data from a device, a custom interface or driver had to be written. There is nothing in the OPC specifications to restrict the server to providing access to a process control device. OPC Servers can be written for anything from getting the internal temperature of a microprocessor to the current temperature in Monument Valley. Once an OPC Server is written for a particular device, it can be reused by any application that is able to act as an OPC client. OPC servers can be linked and communicate to other servers. OPC servers use Microsoft's OLE technology (also known as the Component Object Model, or COM) to communicate with clients. COM technology permits a standard for real-time information exchange between software applications and process hardware to be defined. Some OPC specifications are published, but others are available only to members of the OPC Foundation. So while no company "owns" OPC and anyone can develop an OPC server whether or not they are a member of the OPC Foundation, non-members will not necessarily be using the latest specifications. It is up to each company that requires OPC products to ensure that their products are certified and that their system integrators have the necessary training.


See also

* Modbus RTU * Lonworks * KNX (standard) * IEC 61850 * MTConnect


References


External links


FatRat Library - free OPC server developers toolkit

OpenOPC - Open Source OPC client development in Python

OPC Foundation

OPC Programmers' Connection

OPC Unified Architecture Address Space e-book

prOpc Library - Open Source OPC server/client toolkit in Delphi
{{Automation protocols Application programming interfaces Industrial automation Computer standards