The Open Linking and Embedding for Process Control (OPC) consortium released several open standards, which address interfaces for vertical integration in industrial automation. These standards can be used to build Internet/fieldbus interfaces which are placed on gateway devices as shown in figure 1
Historically, OPC used the Distributed Component Object Model (DCOM) for the underlying communication technology. DCOM has the disadvantage of being platform specific: it is only available for Microsoft Windows based systems. Other platforms, such as Linux, can therefore not retrieve fieldbus data from DCOM based servers. Another disadvantage of DCOM is that it can not easily bypass firewalls, hence access will often be limited to certain segments of a corporate network.
In the last years, a new technology, called SOAP Web services, emerged. [LIV02] defines a Web Service as: ``a method or function that is available for other applications to access over the Internet.''. Web services enable Remote Procedure Calls (RPC) and have the following key features:
SOAP Web services are seen as a successor to several alternative technologies such as DCOM and are already broadly accepted by the industry. More information about the SOAP protocol can be found in [SEE02] and [LIV02].
The OPC consortium reacted on this technological evolution by adopting SOAP Web services for their standards. One recent addition of OPC is the "XML Data Access Version 1.0" (XML-DA 1.0) standard. This standard deals with access of underlying fieldbus technologies and covers the following aspects:
The standard does not address security, instead it relies on underlying Web service technologies4. More information about OPC XML-DA can be found in [HIM06] and [OPCXMLDA].
Although OPC XML-DA is based on open and standardized technologies, it can nevertheless be tedious to build services based on this standard. Therefore several OPC frameworks are available that introduce simple building of client and server applications. However, most of these frameworks are not freely available, moreover most of them are based on Microsoft's .Net framework and are therefore platform dependent.
Due to these limitations, the PyOPC framework was developed, which fully implements the OPC XML-DA standard, enabling developers to build OPC XML-DA based applications in an easy way.