Open Platform Communications

Last updated

Open Platform Communications (OPC) is a series of standards and specifications for industrial telecommunication. They are based on Object Linking and Embedding (OLE) for process control. 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.

Contents

After the initial release in 1996, the OPC Foundation was created to maintain the standards. [1] Since OPC has been adopted beyond the field of process control, the OPC Foundation changed its name to Open Platform Communications in 2011. [1] The name change reflects the applications of OPC technology for applications in building automation, discrete manufacturing, 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, XML, and even the OPC Foundation's binary-encoded TCP format.

History

The OPC specification' was based on the OLE, COM, and DCOM technologies developed by Microsoft Corporation for the Microsoft Windows operating system family. The specification defined a standard set of objects, interfaces e.g. IDL and methods for use in process control and manufacturing automation applications to facilitate interoperability. The most common OPC specification is OPC Data Access, which is used for reading and writing real-time data. When vendors refer to "OPC" generically, they typically mean OPC Data Access (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 (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. [2] By 2002, the specification was compared to Fieldbus and other previous standards. [3]

An OPC Express Interface, known as OPC Xi, was approved in November, 2009, for the .NET Framework. [4] OPC Xi used Windows Communication Foundation instead of DCOM, so it can be configured for communication across the enhanced security of network address translation (NAT). [5]

About the same time, the OPC Unified Architecture (UA) was developed for platform independence. [5] UA can be implemented with Java, Microsoft .NET, or C, eliminating the need to use a Microsoft Windows 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. [6]

On September 16, 2010, The OPC Foundation and the MTConnect Institute announced cooperation to ensure interoperability and consistency between the two standards. [7]

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 (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 (PLC) or distributed control system (DCS). 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.[ citation needed ]

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.[ citation needed ]

See also

Related Research Articles

<span class="mw-page-title-main">Server (computing)</span> Computer to access a central resource or service on a network

In computing, a server is a piece of computer hardware or software that provides functionality for other programs or devices, called "clients". This architecture is called the client–server model. Servers can provide various functionalities, often called "services", such as sharing data or resources among multiple clients or performing computations for a client. A single server can serve multiple clients, and a single client can use multiple servers. A client process may run on the same device or may connect over a network to a server on a different device. Typical servers are database servers, file servers, mail servers, print servers, web servers, game servers, and application servers.

Object Linking & Embedding (OLE) is a proprietary technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control Extension (OCX), a way to develop and use custom user interface elements. On a technical level, an OLE object is any object that implements the IOleObject interface, possibly along with a wide range of other interfaces, depending on the object's needs.

In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An application written using ODBC can be ported to other platforms, both on the client and server side, with few changes to the data access code.

Windows Management Instrumentation (WMI) consists of a set of extensions to the Windows Driver Model that provides an operating system interface through which instrumented components provide information and notification. WMI is Microsoft's implementation of the Web-Based Enterprise Management (WBEM) and Common Information Model (CIM) standards from the Distributed Management Task Force (DMTF).

The OPC Foundation is an industry consortium that creates and maintains standards for open connectivity of industrial automation devices and systems, such as industrial control systems and process control generally. The OPC standards specify the communication of industrial process data, alarms and events, historical data and batch process data between sensors, instruments, controllers, software systems, and notification devices.

The OPC Data Access Specification is the first of a group of specifications known as the OPC Classic Specifications.

Microsoft Active Accessibility (MSAA) is an application programming interface (API) for user interface accessibility. MSAA was introduced as a platform add-on to Microsoft Windows 95 in 1997. MSAA is designed to help Assistive Technology (AT) products interact with standard and custom user interface (UI) elements of an application, as well as to access, identify, and manipulate an application's UI elements. AT products work with MSAA enabled applications in order to provide better access for individuals who have physical or cognitive difficulties, impairments, or disabilities. Some examples of AT products are screen readers for users with limited sight, on screen keyboards for users with limited physical access, or narrators for users with limited hearing. MSAA can also be used for automated testing tools, and computer-based training applications.

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 and aggregate data.

Windows Image Acquisition is a proprietary Microsoft driver model and application programming interface (API) for Microsoft Windows Me and later Windows operating systems that enables graphics software to communicate with imaging hardware such as scanners, digital cameras, and digital video equipment. It was first introduced in 2000 as part of Windows Me, and continues to be the standard imaging device and API model through successive Windows versions. It is implemented as an on-demand service in Windows XP and later Windows operating systems.

Mobile app development is the act or process by which a mobile app is developed for one or more mobile devices, which can include personal digital assistants (PDA), enterprise digital assistants (EDA), or mobile phones. Such software applications are specifically designed to run on mobile devices, taking numerous hardware constraints into consideration. Common constraints include CPU architecture and speeds, available memory (RAM), limited data storage capacities, and considerable variation in displays and input methods. These applications can be pre-installed on phones during manufacturing or delivered as web applications, using server-side or client-side processing to provide an "application-like" experience within a web browser.

In Microsoft Windows applications programming, OLE Automation is an inter-process communication mechanism created by Microsoft. It is based on a subset of Component Object Model (COM) that was intended for use by scripting languages – originally Visual Basic – but now is used by several languages on Windows. All automation objects are required to implement the IDispatch interface. It provides an infrastructure whereby applications called automation controllers can access and manipulate shared automation objects that are exported by other applications. It supersedes Dynamic Data Exchange (DDE), an older mechanism for applications to control one another. As with DDE, in OLE Automation the automation controller is the "client" and the application exporting the automation objects is the "server".

OPC Unified Architecture is a cross-platform, open-source, IEC62541 standard for data exchange from sensors to cloud applications developed by the OPC Foundation. Distinguishing characteristics are:

Microsoft UI Automation (UIA) is an application programming interface (API) that allows one to access, identify, and manipulate the user interface (UI) elements of another application.

Inductive Automation is a supplier of web-based industrial automation software based in Folsom, California, US. The Ignition SCADA platform is the company's main product line.

Component Object Model (COM) is a binary-interface standard for software components introduced by Microsoft in 1993. It is used to enable inter-process communication object creation in a large range of programming languages. COM is the basis for several other Microsoft technologies and frameworks, including OLE, OLE Automation, Browser Helper Object, ActiveX, COM+, DCOM, the Windows shell, DirectX, UMDF and Windows Runtime. The essence of COM is a language-neutral way of implementing objects that can be used in environments different from the one in which they were created, even across machine boundaries. For well-authored components, COM allows reuse of objects with no knowledge of their internal implementation, as it forces component implementers to provide well-defined interfaces that are separated from the implementation. The different allocation semantics of languages are accommodated by making objects responsible for their own creation and destruction through reference-counting. Type conversion casting between different interfaces of an object is achieved through the QueryInterface method. The preferred method of "inheritance" within COM is the creation of sub-objects to which method "calls" are delegated.

Sercos III is the third generation of the Sercos interface, a standardized open digital interface for the communication between industrial controls, motion devices, input/output devices (I/O), and Ethernet nodes, such as PCs. Sercos III applies the hard real-time features of the Sercos interface to Ethernet. It is based upon and conforms to the Ethernet standard. Work began on Sercos III in 2003, with vendors releasing first products supporting it in 2005.

The CC-Link Open Automation Networks Family are a group of open industrial networks that enable devices from numerous manufacturers to communicate. They are used in a wide variety of industrial automation applications at the machine, cell and line levels.

MTConnect is a manufacturing technical standard to retrieve process information from numerically controlled machine tools. As explained by a member of the team that developed it, "This standard specifies the open-source, royalty-free communications protocol based on XML and HTTP Internet technology for real-time data sharing between shopfloor equipment such as machine tools and computer systems. MTConnect provides a common vocabulary with standardized definitions for the meaning of data that machine tools generate, making the data interpretable by software applications." A simple, real-world example of how this tool is used to improve shop management is given by the same author.

brewmaxx is a process control system for the brewing industry. The various process steps of a brewery can be automated, controlled and monitored via the software components of the brewmaxx range.

Ignition is an Integrated Software Platform for SCADA systems released by Inductive Automation in January 2010. It is based on a SQL Database-centric architecture. Ignition features cross platform web based deployment through Java Web Start technology. The Ignition platform has three main components: the Ignition Gateway, the Designer, and the runtime clients. Independent modules provide separate functionality in any or all of the platform components. Ignition SCADA modules provide features such as: Real-Time Status Control, Alarming, Reporting, Data Acquisition, Scripting, Scheduling, MES, and Mobile support.

References

  1. 1 2 "What is OPC?". OPC Foundation web site. Retrieved October 7, 2021.
  2. OPC A&E specification
  3. Li Zheng and H. Nakagawa (2002). OPC (OLE for process control) specification and its developments August 5, 2002. pp. 917–920. doi:10.1109/SICE.2002.1195286. ISBN   0-7803-7631-5. S2CID   114855720.{{cite book}}: |work= ignored (help)
  4. "OPC Xi Interface Approved". Automation World. December 1, 2009. Retrieved October 7, 2021.
  5. 1 2 Gary Mintchell (November 20, 2009). "OPC Xi Updated". Feed Forward blog. Archived from the original on May 16, 2010. Retrieved October 7, 2021.
  6. "History". OPC Foundation web site. Retrieved October 7, 2021.
  7. "OPC Foundation and MTConnect Institute Announce a Memorandum of Understanding". Press release. OPC Foundation. October 21, 2010. Archived from the original on June 16, 2011. Retrieved October 7, 2021.