Software Standards Propel Information Exchange
Engineers needed a better way to move data from I/O devices through controller data tables to their HMI/SCADA (human-machine interface/supervisory control and data acquisition) software. Traditional methods were limited to moving blocks of bits from Remote I/O or other devices over a proprietary network or a slow serial network.
Engineers needed a better way to move data from I/O devices through controller data tables to their HMI/SCADA (human-machine interface/supervisory control and data acquisition) software. Traditional methods were limited to moving blocks of bits from Remote I/O or other devices over a proprietary network or a slow serial network. As HMI software grew more crucial to efficient plant operation, companies looked to standards to improve the process and facilitate communications among applications and devices from many companies.
Since most new software used in automation is based on Microsoft Windows, Microsoft (Redmond, Wa.) representatives gathered with technical people from several automation companies to find a way to leverage Microsoft's Object Linking and Embedding (OLE) technology as the foundation for automation information exchange. Thus was born OPC (OLE for Process Control) and the OPC Foundation.
OPC DA (data access) is now widely accepted in industry. So widely, in fact, that there is a search for defining new names behind the acronym. One is OLE for Production Control. Tom Burke, OPC Foundation president and advisory software developer at Rockwell Automation (Mayfield Heights, O.) suggests 'Openness, Productivity, and Connectivity.' This standard, along with its processes and procedures, stands as a testament to the value of open standards benefiting an entire industry.
Joe Rubino, Omron Electronics (Schaumburg, Ill.) software product marketing manager, sees OPC use continually growing. 'We no longer have to provide drivers for legacy products or for competitive products. We can just use OPC. We see more efforts to standardize. The biggest use is for moving data from PLCs to operator interfaces, although users are doing some data movement from HMI to HMI front ends using OPC.'
OPC is built on COM (component object model) and DCOM (distributed component object model), Microsoft technologies which have evolved from OLE and the earlier DDE (dynamic data exchange). Mr. Rubino goes on to point out the positives and drawbacks. 'Feedback from customers,' he adds, 'tells us that COM seems to be pretty solid. There are reservations about DCOM, especially in the stability of connections. There are questions about what happens to data when a disconnect happens.'
Even while OPC DA became widely adopted, other technologies grew, and control engineers and their suppliers wanted to exploit them, too. Prime among these are technologies that grew out of the Internet and world wide web. Embedded web pages provide information from operator interface to help documentation for maintenance troubleshooting. Controllers can e-mail engineers and maintenance technicians when there is a problem or potential problem. One question is how best to use these technologies.
The Internet is moving into its third generation: from connectivity (FTP, e-mail),
to presentation (HTML web pages), to programmability (with XML and related technologies).
Another problem lies within a second drawback to DCOM its difficulty in traversing through corporate firewalls. Since so many corporate IT strategies that involve control engineers include Internet technologies, it becomes essential to embrace new technologies compatible with corporate IT infrastructures.
XML (eXtensible Markup Language) is just such a technology. It is based upon the Standardized General Markup Language (SGML), developed at IBM labs beginning in the late 1960s. The popular HTML (HyperText Markup Language) is an earlier derivation of SGML. These 'languages' have been adopted as open, worldwide standards by the World Wide Web Consortium (W3C, www.w3.org ).
XML is a text-based language that uses tags similarly to HTML. The difference is that XML tags describe the type or kind of information contained in the element whereas HTML tags describe how the page will look when accessed by a compatible browser. XML tags can be something like product name, output variable, serial number, number in inventory, etc.
In fact, XML is just one of the software technologies involved in this attempt to find a universal way of moving information from device to device, platform to platform, regardless of hardware or operating system. Other technologies include eXtensible Style Sheet Language (XSL), which tells computers how to format XML information for viewing; Document Type Definition (DTD), which defines the rules of a type of document; and Simple Object Access Protocol (SOAP), which defines a 'message' of XML data to be transported across the web. See the sidebars for greater explanation of XML and SOAP.
Initial implementation of OPC XML will probably follow this format where
OPC data will flow from field devices to HMI/SCADA software, while XML
data flow from HMI to business application software and from HMI to
browsers for operator interface.
SOAP is a 'lightweight' messaging format that works with any operating system,
platform, or programming language. It encapsulates the XML message
and requires a transport mechanism, like HTTP, to move it to the client.
OPC and XML marry
Since OPC already exists as a viable standard for exchange of control information, it merely needs extending with a technology that enables better Internet compatibility. Why not marry OPC to XML?
Members of OPC Foundation thought of this about two years ago. A committee of technical personnel has been hard at work, and a standard is about to be unveiled to the public. Details involved more than embedding one in the other.
Don Holley, OPC Foundation vice president of marketing and National Instruments' (Austin, Tex.) industrial automation marketing manager, says, 'Recent developments of the committee have been a move to turn the process into a Microsoft.Net service. You can wrap an existing OPC data access server in XML to expose it to the Internet, or you can create an XML.Net service completely from scratch without the accompanying COM/DCOM. We've seen that enterprise applications are more likely to support receiving information from XML than COM/DCOM.'
OPC/XML committee member and Iconics' (Foxborough, Mass.) consulting engineer, Jim Luth, states, 'The slowdown in releasing the OPC/XML spec is due to XML being a text file unlike COM [which is like C++]. We found that a good way to implement the standard was to get tools from the Microsoft .Net platform. The first release of the specification affects the same data as OPC DA, presenting live data. Also, by going to XML and SOAP, the way is opened to write clients and servers to non-Microsoft platforms and languages. Although several companies have ported COM to non-Microsoft platforms, XML will permit easier integration with higher level business systems.'
Adds USDATA (Richardson, Tex.) marketing manager, Larry Bible, 'OPC has been a key to the advancement of HMI/PLC connectivity. This has allowed the software industry to concentrate on HMI development. Now XML has the opportunity to do for the top of the pyramid what OPC did for the bottom. XML improves upon OPC by allowing non-HMI software products to access real-time data without special industry-specific drivers.'
Bernie Anger, vice president of software development at GE Fanuc Automation (Charlottesville, Va.), notes, 'The biggest challenge with OPC is that it had to run on a PC. The super exciting news with XML is that we can now have OPC servers and clients on any Internet appliance supporting XML, which brings great promise for a new generation of communication. For example, we'll next be seeing controllers supporting OPC X natively, and there will be communications directly between a PLC and an Internet browser. At GE Fanuc, this has allowed us to shift resources needed to enable and support communications between devices to instead focus on a higher value-add in user functionality.'
Paul Camuti, general manager of Industrial Software Business Unit, Siemens Energy and Automation (Princeton, N.J.), says OPC has played an important role in the industry. 'From an enabling technology view, OPC DA has delivered on its goals of reducing the effort of integrating disparate control systems. In the not-so-distant past, the time spent on integrating HMI and controls was high, and the reuse of these software components was low. Since the introduction of these standards, the work required to accomplish this link has been dramatically lowered.'
Mr. Camuti continues, 'OPC continues to play a leading role in the automation industry. This is the case with OPC DX [data exchange]. The synergy between the leading fieldbuses and Ethernet that OPC DX makes possible is an important factor in overcoming system boundaries and in promoting interoperability of systems from different vendors. The data exchange extensions will allow another level of interoperability in control systems.'
OPC Foundation picked the Tuesday of the ISA show in Houston to announce a breakthrough in vendor cooperation. Unfortunately, that day was also picked by a group of terrorists to perpetrate the largest terrorist attack in U.S. history. Understandably, the automation news was greatly overshadowed by more important events. However, the OPC DX announcement was significant for the control industry. ( CE , Oct. '01, News, p.15; Nov., p. 17.)
The OPC DX standard is to provide interoperable data exchange and server-to-server communications across Ethernet networks. One reason for the significance was that each major fieldbus, including FOUNDATION Fieldbus, Profibus, ControlNet, and DeviceNet, were each developing gateways from their networks to Ethernet. This could have led to an Ethernet Tower of Babel. Instead, OPC Foundation members found a way to benefit users without destroying tremendous work already done.
Dick Caro, ARC Advisory Group (Dedham, Mass.) vp, says (only somewhat tongue in cheek), 'This is the Big News of this Century. Why? Because Siemens and Rockwell, plus all the major bus support groups have joined together. This, hopefully, will be the final solution to the bus wars.'
Making sense of it all
John Baier, director of software architecture, Rockwell Software (Mayfield Heights, O.), elaborates, 'OPC DX and OPC XML are separate entities with unique purposes. DX was invented to allow peer-to-peer messaging between OPC servers, allowing users to leverage the existing OPC DA protocol. While OPC DA has been used successfully between HMI clients and OPC data servers, OPC DX now adds the ability to share data between OPC servers in a seamless fashion.
'OPC XML is a new standard that allows OPC or factory-floor data to be accessed using a standard XML web service. A client can get data from an OPC server by using OPC XML even through a firewall.
'OPC DX uses straight XML technology, rather than OPC XML, for configuration of the servers. As vendors implement OPC XML, it's going to be easier for these servers to exchange data using the XML protocol. As a result, smaller devices might be able to solely implement OPC XML rather than having to support all of the OPC protocols. Over the next few years, the vision of devices with direct web access will carry out, starting with PLCs and moving towards smaller devices in the future.'
This has been called the Third Generation of the Internet. First was connectivity-and simple text messaging. Then came the web and information displayed as 'web pages.' The third generation is information exchange over the Internet. XML is the language of the third generation.
Peter Wengert, industry manager manufacturing for Microsoft Corp. (Redmond, Wa.), says, 'The exciting thing about XML and web services is that it extends a paradigm not only across the Internet but also down to the shop floor. Developers can use the same technologies whether talking to control, HMI, ERP, or the supply chain.'
Other practical advances of open standards are that the big companies with a broad range of products can exploit them, along with smaller companies with good ideas.
Lighthammer Software Development Corp.'s (Exton, Pa.) Illuminator product provides XML support to SAP R3 ERP products from factory-floor information coming from OPC.
The Software Toolbox (Charlotte, N.C.) has released a set of OPC-enabled instrumentation ActiveX controls that enable construction of operator displays from data gathered from OPC servers across the enterprise.
When the entourage from corporate descends with a better idea, such as 'We want to integrate real-time factory-floor data into our enterprise systems to improve customer support and reduce costs,' these tools will be there to help solve the problem and make you a hero.
XML defines data
XML is a text-based programming language based upon the SGML standard, primarily a method of putting structured data into a text file. Like HTML, it uses tags or words bracketed by '&;' and '>;' and attributes of the form name='value' .
While HTML specifies what each tag and attribute mean and how they will look in a browser, XML uses tags to delimit pieces of data and leaves interpretation up to the application that reads it. Since XML is text-based, the file can be written or fixed by using a simple text editor rather than a more complex programming tool.
According to Rashesh Modi, Wonderware (Irvine, Calif.) chief technology officer, 'What's great about XML is that we can use it to do some of the things we now do with traditional object-oriented programming techniques. What might object-based data be? How about a pressure reading from a smart pressure transmitter, or a compensated flow reading from a smart Coriolis flowmeter?
There are many that believe XML represents the third level of object-based communications (after DDE/NetDDE and COM/DCOM), with a dramatic impact on the evolution of all software.'
Here are some examples of HTML and XML coding from Mr. Modi's white paper, 'XML Points the Way to Open Systems.' The HTML code will format the name in bold text and the rest in plain text. It also puts a line break after each line and a line space after the first line.
&B>John Q Public&/B> &P> firstname.lastname@example.org&BR> phone: 301-286-aaaa&BR> fax: 301-286-bbbb&BR> NASA&BR> 588.0&BR> Greenbelt, MD 20221&BR> XML
In the XML code example, first named is the CML version number, also included is a version number and document prolog, which tells the browser and any additional software how to process the document.
&XML Version = '1.0' standalone = 'yes'?> &EMPLOYEE> &NAME> &FIRST>John&/FIRST> &MIDDLE>Q&/MIDDLE> &LAST>Public&/LAST> &/NAME> &EMAIL>email@example.com&/EMAIL> &PHONE>301-286-aaaa&/PHONE> &FAX>301-286-bbbb&/FAX> &ADDRESS> &ORG>NASA&/ORG> &MAILSTOP>588.0&/MAILSTOP> &CITY>Greenbelt&/CITY> &STATE>MD&/STATE> &ZIP>20221&/ZIP> &/ADDRESS> &/EMPLOYEE>
Elements begin with a letter or underscore and are case sensitive. Note that the 'EMPLOYEE' element holds several other complete elements. XML can handle entities and documents, elements and attributes, structural items, and types and instances. With HTML and Dynamic HTML, source data are intertwined with presentation data, making it difficult to achieve dynamic results that change with real-time data. An XML-based web server can handle client-side editing, building of SQL queries, downloading of forms, and conversion of data objects to HTML.
Extensible style sheets allow the developer to separate content from display, and to provide the look-and-feel desired. At the same time, users can have local computation and manipulation of data, multiple views, granular updates, and can scale and compress data, all while saving the network from overwork.