Efficiency and standards

OPC Unified Architecture The future standard for communication and information modeling in Wolfgang Mahnke, Stefan-Helmut Leitner

OPC Unified Architecture (OPC UA) is the new standard specification for interconnectivity in state-of-the-art industrial automation technology, enabling rich information modeling capabilities, replacing existing OPC specifications. OPC UA provides a framework for interoperability to be used over the next 10 years and beyond (published also as IEC 62541).

ABB played a major role in creating OPC UA and has ensured the new standard meets process automation community requirements. After several years of work, a major segment of the specification was released in Febru- ary 2009, and the first ABB product supporting OPC UA is already on the market.

56 ABB Review 3/2009 OPC Unified Architecture

Efficiency and standards

PC is a set of industrial standards 1 OPC UA can be used for applications within the automation pyramid. Ofor systems interconnectivity, pro- viding a common interface for commu- nications between different products from different vendors Factbox 1 . There Enterprise level are over 22,000 products supplied by ERP over 3,200 vendors. Process control (Unix) systems must be able to communicate OPC UA Corporate network with all these products, accessing data OPC UA clients or providing data access via a com- Plant level MES mon communications platform. Classic (Windows) Firewall OPC provides standard specifications OPC UA Operations network for data access (DA), historical data access (HDA), and alarms and events Process control level OPC UA servers (A&E). These OPC specifications are HMI DCS (Windows) () Firewall widely accepted by the automation in- OPC UA Plant floor network dustry. Classic OPC is based on aging Microsoft-COM/DCOM-technology,1) Control & field level Controllers Sensors (VxWorks) which has led to the development of new OPC Foundation specifications known as OPC UA (Unified Architec- ture). These specifications have been Factbox 1 OPC Factbox 2 Meta model and information models developed by more than 30 automa- tion vendors, during a time period of five years. The main goal of OPC UA OPC (OLE* for process control) was devel- A meta model is a model to describe mod- is to keep all the functionality of Clas- oped in 1996 by the automation industry els. The meta model of an SQL (Structured sic OPC, while switching from Micro- as a standard specification that would al- Query Language) database defines the soft-COM/DCOM-technology to state- low the communication of real-time plant concept of a table, in an object-oriented of-the-art Web services technology. By data between control devices produced by programming language the concepts of a using web service technology OPC UA different manufacturers. The OPC Founda- class and objects, and in IEC 61131-3 becomes platform-independent and tion was created to maintain the standard languages the concept of tasks, function can thus be applied in scenarios and has since overseen the introduction of blocks, programs, etc. In OPC UA the meta where Classic OPC is not used today. a series of standard specifications (such as model defines the concepts of objects, OPC UA can be seamlessly integrated OPC data access). Today the OPC Foun- their types, variables, data types, etc. into Manufacturing Execution Systems2) dation states that OPC UA is no longer an (MES) and Enterprise Resource Plan- acronym for OLE for process control, but An information model is a model based on ning3) (ERP) systems, running not only OPC UA is an acronym for OPen Connec- a meta model defining a specific semantic on Unix/Linux systems using , but tivity Unified Architecture). (meaning). In case of OPC UA this is main- also on controllers and intelligent de- ly done by defining specific types of ob- vices having specific real-time capable *) Object Linking and Embedding (OLE) allows jects and variables, but also by defining operation systems. Of course, compat- the visual display of data from other programs specific objects and variables having a that the host program is not normally able to ibility with earlier OPC specifications specific semantic (eg, entry points into the generate itself (eg, “embedding” a pie chart in was a requirement for OPC UA. It does a text document). The data in the file used to address space of a server). For example, not, therefore, preclude its use in produce the embedded chart can change, based on the OPC UA meta model an Windows-based environments where “linking” the data so that the chart is updated information model for analyzer devices is Classic OPC already operates today – within the embedded document. defined by specifying specific types of suiting Microsoft’s Windows Commu- analyzers. An OPC UA server can use this nication Foundation4), which can also type of information to represent its data communicate using Web services 1 . coming from an analyzer device.

OPC UA has to fulfill and improve the non functional requirements of Classic Footnotes OPC providing, for example, robust, 1) (COM) was introduced by Microsoft in 1993 to allow component software to com- reliable, high-performance communi- municate between different applications. Distributed Component Object Model (DCOM) was also introduced cation suitable for automation. Learn- by Microsoft allowing software components to communicate even when distributed across a network. 2) ing from OPC XML-DA5) (the first at- Manufacturing Execution Systems (MES) manage and monitor work in progress on the factory floor. 3) Enterprise resource planning (ERP) is a company-wide computer software system used to manage and coordi- tempt made by the OPC Foundation nate all the resources, information, and functions of a business from shared data bases. to provide XML-based web services), 4) Windows Communication Foundation (WCF) is a programming framework used to build applications that inter- OPC UA was designed to support communicate. binary encoding for high-performing 5) OPC XML-DA builds on the existing OPC DA standard to deliver multi-vendor interoperability and connectivity data exchange. To provide reliable to factory floor information via the Internet.

ABB Review 3/2009 57 OPC Unified Architecture

Efficiency and standards

enables information modeling and 2 Examples of OPC versus OPC UA models facilitates many additional operations. OPC UA defines a simple set of base Classic OPC OPC UA types that can be extended by infor- Strictly hierarchical Simple hierarchical Scales from simple to Full-meshed network mation models (either application and structured nodes structured nodes complex models of typed nodes vendor-specific models, or standard- ized models). The idea is that OPC UA A01 A01 A01 FType specifies how data is exchanged,

F01 F01 PV while standard information models F01 specify what information is exchanged. EU PV PV PV

EU EU Intensive interest in information mod- X01 eling has already created the impetus F02 F02 F02 to standardize information models based on OPC UA. Common field de- PV PV PV X02 vices could use a standardized infor- EU EU EU mation model to enable true plug- and-play multivendor interoperability [1]. This model was originally defined by the Field Device Integration (FDI) communication OPC UA has built-in used to obtain that measurement. This initiative and has already been refined mechanisms able to handle problems, information is helpful in typical sce- by the Analyzer Devices Integration such as lost messages. OPC UA has narios of Classic OPC, because the (ADI) group [2], defining specific ana- built-in security, a requirement that same graphics, ie, software compo- lyzer devices. A working group, found- has become more and more important nent and configuration, displayed on ed in October 2008 by PLCopen,6) in environments where factory floor an operator workstation can be used focuses on an OPC UA information data must be accessed from the office for each device of the same type, op- model for IEC 61131-3 languages. The network. erating throughout the system. In ad- use of standard information models dition, this information can also be raises interoperability to a new level, OPC UA can, in the utilized in a broader area of applica- not only allowing interoperable data tions, like MES and ERP systems, help- exchange, but also making the model long-term, drastically ing to integrate data without the need interoperable. This can, in the long- reduce engineering costs to exchange tag lists that provide the term, drastically reduce engineering semantics of the tags. OPC UA pro- costs when integrating systems that when integrating systems vides the flexibility to define and use use products from different vendors. that use products from rich information models, but does not different vendors. require their use. An OPC UA server OPC UA scales very well in several can still expose a simple information directions. It allows OPC UA applica- model, like OPC DA servers do today, tions to run on embedded devices OPC UA brings together the different but it can also provide much more with very limited hardware resources, specifications of Classic OPC provid- information. as well as on very powerful machines ing a single entry point into a system like mainframes. Typically, servers offering current data access, alarms A major advantage of using OPC UA running in such different environ- and events, together with the history compared with Classic OPC, is that it ments will not provide the same infor- of both. In contrast to Classic mation. The server on the OPC, OPC UA provides a sin- embedded device is unlikely 3 Pillars of OPC UA gle small set of generic servic- to provide a long history of es access to all information. the data and will only sup- Standard port a few clients, whereas Whereas Classic OPC has a information models other servers may provide eg, (UA Part8), (UA Part9), (UA Devices), … very simple meta model several years worth of history Base OPC UA information model (UA Part5) Factbox 2 providing tags in a and support thousands of cli- simple hierarchy, OPC UA OPC UA services (UA Part4) ents. Information modeling provides a rich information aspects of OPC UA are also model using object-oriented Communication infrastructure OPC UA 2 Footnote techniques . It is not only (UA Part6) meta model 6) PLCopen is a vendor- and product-in- possible to provide a mea- Web services (UA Part3) UA TCP dependent worldwide association. Its sured value and its engineer- mission is to be the leading association ing unit using OPC UA, but resolving topics related to control pro- also to identify the specific gramming to support the use of inter- type of temperature sensor national standards in this field.

58 ABB Review 3/2009 OPC Unified Architecture

Efficiency and standards

scalable. A server can provide any- conditions [7], programs [8], historical specifications (ie, Address Space Mod- thing from a very simple model, simi- data [9], and aggregate functions [10]. el, Information Model and Security lar to Classic OPC, to highly sophisti- It also provides mechanisms to sup- Model). With their broad software ar- cated models providing highly sophis- port multiple information models on chitecture expertise and extensive ticated meta data on the given data. one server. Data about the informa- connections to experts, these employ- A client can just ignore this additional tion models can be read by the servic- ees helped to make decisions about information and provide a simple es, so that clients knowing only the the design and technology required to view of the data or make use of the services, are capable of accessing all create a secure, reliable and high-per- meta data provided by the server. the information. Of course, clients formance OPC UA standard. A special knowing specific information models focus for ABB was to ensure that the OPC UA defines two main pillars sup- can be optimized by making use of OPC UA information modeling con- porting interoperability: the communi- that knowledge. cepts fit well with Extended Automa- cation infrastructure and the OPC UA tion System 800xA’s well-established meta model 3 . The communication in- OPC UA is not directly compatible and powerful Aspect Object Model. frastructure defines how information with Classic OPC, because it uses a ABB’s corporate research provided is exchanged and the meta model de- different technology for data commu- mapping concepts for integrating fines what information is exchanged. nication. To fulfill this requirement, third-party OPC UA servers into Sys- however, the OPC Foundation not on- tem 800xA acting as an OPC UA cli- Independent of the communication in- ly provides software infrastructure for ent, and for integrating System 800xA, frastructure, OPC UA defines a set of OPC UA communication (stacks7) in as an OPC UA server, into third-party abstract services [3] that can run on ANSI ,8) .NET9) and Java), but also OPC UA clients 4 . A prototype imple- different communication infrastruc- wrappers and proxies that either wrap mentation has proved that the OPC tures and use the meta model [4] as existing servers to OPC UA clients or UA concepts can be applied to System the basis for defining appropriate pa- provide a proxy server10) for Classic 800xA easily. rameters for the services. The base OPC clients to access OPC UA servers. OPC UA Information Model [5] pro- ABB is strongly supportive of OPC UA vides base types and entry points to OPC UA at ABB and has committed resources to en- the server’s address space. On top of ABB was heavily involved in the cre- sure adequate training courses and the base information model, vendor- ation of OPC UA. Several ABB em- presentations are available to intro- specific or standard information mod- ployees were members of the OPC UA duce the OPC UA concepts. A third- els can be built. OPC UA already de- working group formed by the OPC party C++ based OPC UA software fines several standard information Foundation. Over time, ABB members development kit (SDK) is provided for models for data access [6], alarms and have edited three of the eight released use within ABB. A sharepoint server

4 Typical screen shots from System 800xA a System 800xA native view (Plant Explorer) b System 800xA view using a generic OPC UA client

Footnotes 7) A communication stack is the software that implements a across a computer network. 8) ANSI C is the American National Standards Institute’s standard C programming language. By creating a standard for software developers writing in C the code is portable (ie, little effort is required to adapt it to a new environment). 9) The Microsoft.NET Framework is a software framework available with several operating systems intended to be used by most new applications creat- ed for the Windows platform. 10) A proxy server acts as a go-between for requests from clients seeking resources from other servers. 11) Anybody inside ABB can contact the authors of this article for training or access to ABB’s sharepoint server.

ABB Review 3/2009 59 OPC Unified Architecture

Efficiency and standards

provides the latest news and SDK up- As the development of the specifica- OPC UA products dates to keep the ABB OPC UA com- tion was finalized ABB participated ABB is currently evaluating the appli- munity informed worldwide11). in several interoperability workshops cation of OPC UA to certain ABB organized by the OPC Foundation products. Others have already been ABB also took part in the early adopt- to ensure interoperability of ABB’s evaluated and OPC UA-compatible er program of the OPC Foundation, OPC UA applications with third-party products are on their way. Among helping to develop an ANSI C-based implementations, including those from these early products are SCADA Van- OPC UA stack, developing the security ICONICS, Siemens, Beckhoff, Kep- tageTM , which is due for release in module and participating in code re- ware, and OSISoft. 2010, and process analytical technolo- views. The portable design of the gy – PAT 2.0, which is already on the stack already allowed ABB to develop ABB is strongly supportive market as the first ABB product sup- a port to VxWorks, a popular real-time porting OPC UA. operation system running on many of OPC UA and has ABB controllers like the AC800M and committed resources to SCADA Vantage the robotics controller (IRC5). In addi- ABB’s IndustrialIT SCADA Vantage is a tion, the OPC Foundation provides ensure adequate training SCADA (Supervisory Control and Data the stack with ports for Linux and courses and presenta- Acquisition) system typically used in Windows operating systems. tions are available to the oil and gas industry 6 . The infor- mation provided includes instances introduce the OPC UA and types, current data, alarms & 5 The authors have written a book, OPC events, and history. The same infor- Unified Architecture, which provides further concepts. mation can be exposed natively via an discussion of advanced topics. ABB was involved in the development OPC UA server 7 . Thus the SCADA of standard information models based Vantage data is exposed in a standard- on OPC UA for field devices (FDI) and ized way and can be used by third- analyzer devices (ADI). In addition, party products as well as integrated ABB is a member of the PLCopen into other ABB products having an working group defining an OPC OPC UA client. The release of SCADA UA-based information model for Vantage with an OPC UA server is IEC 61131-3 languages. scheduled for 2010. Later versions will also have an OPC UA client to allow Internal presentations and training, the integration of OPC UA servers into together with ABB participation at SCADA Vantage. several OPC UA developer conferenc- es and other events, have emphasized Process analytical technology ABB’s leading role in OPC UA devel- ABB’s IndustrialIT eXtended PAT pro- opment and its position as technology motes the integration of analytical leader. ABB’s determination to pro- measurements into the manufacturing vide an easy-to-read introduction to process and was released in 2007. the OPC UA concept with further dis- A major upgrade with OPC UA sup- cussion of advanced topics is illustrat- port was released in Q1 2009. It utiliz- ed by its authorship of the first book es OPC UA to provide standardized written on OPC UA [11] 5 . connectivity to process analyzers.

6 The SCADA Vantage native explorer 7 The SCADA Vantage OPC UA view

60 ABB Review 3/2009 OPC Unified Architecture

Efficiency and standards

first OPC UA products, including 8 OPC UA helps xPAT integrate analyzers, either by using a proprietary interface for each Emerson, Honeywell, Wonderware, analyzer provided by an analyzer controller a , or using OPC UA for all analyzer devices and Yokogawa. supporting OPC UA b . a b

Process controller Process controller SCADA Vantage data is (PLC, DCS) (PLC, DCS) exposed in a standardized Proprietary Proprietary OPC UA OPC UA way and can be used by interface interface interface interface Analyzer Analyzer Analyzer third-party products as controller controller controller Proprietary Proprietary Proprietary well as integrated into interface interface interface other ABB products having an OPC UA client. FBRM NIR FBRM Smart NIR analyzer analyzer analyzer analyzer Prospects OPC UA is ready to replace Classic OPC using state-of-the art, high-per- formance technology that is reliable and secure, raising interoperability in automation to a new level, by allow- ing standard information models based on OPC UA. With the wrappers and proxies provided by the OPC With its powerful integration capabili- analyzer controller or directly on the Foundation, existing OPC products ties and functionality, xPAT helps cus- analyzer device and thus eliminate are guaranteed to work within the tomers in the life science industry im- additional hardware. Using the ADI OPC UA environment. plement quality, by design, through- information model, it is not only out the entire pharmaceutical product possible to standardize how data is life-cycle, from drug discovery communicated, but also what data is through development to production. exchanged. Process analytical Other suppliers The first products from other suppliers technology – PAT 2.0 – have already been launched, even be- is already on the market fore the specification was released. This includes ICONICS’ HMI/SCADA as the first ABB product system, GENESIS 64, which also uses supporting OPC UA. OPC UA for internal communication, Beckhoff’s TwinCat and Kepware’s KEPServerEx, both running on con- ABB’s xPAT uses OPC UA when inte- trollers, as well as Siemens’ SIMATIC grating analyzers 8 . The OPC UA NET. For 2009, long lists of competi- server can either be hosted on an tors have promised to deliver their

References [1] OPC Foundation: Devices, Draft Version 0.75, Dec. 2008 [2] OPC Foundation: Analyzer Devices, Draft Version 0.30.00, Dec. 2008 [3] OPC Foundation: UA Spec. Part 4 – Services, Version 1.01, Feb. 2009 [4] OPC Foundation: UA Spec. Part 3 – Address Space Model, Version 1.01, Feb. 2009 [5] OPC Foundation: UA Spec. Part 5 – Information Model, Version 1.01, Feb. 2009 [6] OPC Foundation: UA Spec. Part 8 – Data Access, Version 1.01, Feb. 2009 [7] OPC Foundation: UA Spec. Part 9 – Alarms and Conditions, DRAFT Version 0.93q, Nov. 2007 [8] OPC Foundation: UA Spec. Part 10 – Programs, Version 1.00, Jan. 2007 [9] OPC Foundation: UA Spec. Part 11 – Historical Access, Version 1.00, Jan. 2007 [10] OPC Foundation: UA Spec. Part 13 – Aggregates, RC Version 1.0, July 2008 Wolfgang Mahnke [11] Mahnke, W., Leitner, S.-H., Damm, M. (2009). OPC Unified Architecture. Springer Verlag. Stefan-Helmut Leitner ABB Corporate Research

Further reading Ladenburg, Germany OPC Foundation: UA Spec. Part 6 – Concepts, Version 1.00, Feb. 2009 [email protected] OPC Foundation: UA Spec. Part 7 – Profiles, Version 1.00 Feb. 2009 [email protected]

ABB Review 3/2009 61