OPC for Linux
This site contents useful information about development OPC servers/clients under Linux platform and some other articles and specification which may be helpful for beginners.
What is OPC and why Linux?
  - XML/DA client
  - Java client
  - DCOM implement
  - Intermediate SW/HW solution
  - UA-COM wrappers
  - Python & Pyro
  - PyOPC
Links and tools

XML/DA client and gateway

The XDAGW-CS Client-side Gateway from advosol.us is an OPC-DA Server with a built-in XML-DA client. The gateway creates XML-DA subscriptions for all items referenced by a client and updates its data cache periodically. The clients can read data quickly out of the cache.
OPC XML DA - technology and specification. Web Services are applications made available over the Internet as the name suggests. The externally accessible functionality of a Web Service is described by a file written in a specific language - the Web Service Description Language (WSDL), itself based on XML. WSDL in combination with a validating XML parser enable the validation of SOAP messages. This way, custom code will never receive syntactically or semantically erroneous data, which should improve the stability of the service. The XML-DA specification bases on the web services standards XML, SOAP and WSDL and standardizes the SOAP messages exchanged between cliens and server. The standardization of messages instead of an application interface allows the implemtation on different operating systems.Applications implementing or using Web Services interact with each other by using the Simple Object Access Protocol (SOAP). SOAP combines XML so as to encapsulate messages in a format suitable for transmission using HTTP Internet protocol.

OPC-DA Client to XML-DA Server Gateway
The OPC-DA Client to XML-DA Server Gateway enables OPC DA client applications to access XML-DA servers.
The XML-DA Gateway offers a way to allow existing OPC DA client applications access to remote servers and to upgrade step-by-step to web services technology.

The XML-DA Gateways enables XML-DA clients to access devices with OPC-DA servers, respectively OPC-DA clients to access local or remote XML-DA servers. The gateways offer a simple way to upgrade step-by-step to the new XML-DA standard. The gateway can be bypassed with minimal changes when XML-DA servers/clients get available.
The gateway is a permanent solution when devices are never be upgraded because:
- the vendor offers XML-DA only in a newer model
- the device lacks the resources for OPC XML-DA
- local OPC DA clients need access to the device

XML-DA OPC on Linux Why use OPC XML-DA?
OPC XML-DA provides the foundation for multi-platform interoperability because it is based on XML instead of the Windows specific DCOM. It simplifies sharing and exchange of data amongst the various levels of the plant hierarchy (low level devices and up to enterprise systems), and to a wider range of platforms.
Unlike previous OPC data access specifications, the OPC XML-DA specification describes data exchange in an environment which assumes no persistent connection between the client and the server. This makes it suitable for a much wider range of communication systems and, since XML is text based it passes firewalls.
The XML-DA Bridge combines the server-side gateway with the XDAGW-CS client-side Gateways and enables OPC-DA clients to access remote OPC-DA servers. Both gateways are available in a .NET3 version for Windows Vista. A .NET3 (WCF) based connection can use any of the .NET3 supported bindings for either high performance or high security.
The XML-DA Bridge connects remote OP DA servers/clients using established standards. DCOM issues can be minimized without proprietary tunneling solutions.
Read the gateway overview for more information.

Due to the Web Services architecture access to OPC XML-DA servers is not as restricted to a local area network as it is for COM based OPC DA servers. Security issues are therefore more important. OPC XML-DA may also be used for data exchange with higher level systems. Such systems typically are only concerned with a small data subset.
The gateway implements effective security measures. It can be configured to restrict the server access to an item subset. E.g. make some items read-only or allow only a subset of the items to be accessed.
The XDAGW-SS gateway is provided in versions that can be configured for secure communication:
The .NET3 (WCF) version can be configured for any WCF communication binding including X.509 certificates
The WSE3 version uses the Microsoft Web Enhancements 3.0 for ASP.NET2 based secure communication
The secure communication is based on the industry standards WS-Security 1.0 and 1.1, WS-Trust, WS-Secure Conversation, WS-Addressing and Message Transmission Optimization Mechanism (MTOM).
The user can define the security policies to optimize the handling according the application requirements.

PyOPC is a Python library implementing the OPC XML Data Access Protocol Version 1.01 (OPC XML-DA 1.01). PyOPC supports the easy creation of XMLDA-compliant clients and servers without having to deal with the SOAP protocol and server issues. The Open Linking and Embedding for Process Control (OPC) consortium released several open standards, which address interfaces for vertical integration in industrial automation. 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:

High level of interoperability: Web services technologies are all based on strictly defined open standards.
High networking abilities: As an underlying communication protocol, Web services utilize Internet protocols such as the Hyper Text Transfer Protocol (HTTP) or the Simple Mail Transfer Protocol (SMTP). These protocols have high networking abilities and may moreover penetrate firewalls.
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].
Information model: The specification provides a simple information model, based on ``OPC Items which represent a piece of information, similar to fieldbus data points. These items can be arranged hierarchically.
Data types: OPC XML-DA adopts several XML-Schema based data types, such as integer, float, date/time specific types. Moreover it defines arrays which are based on these basic types.
Operations: The standard specifies 8 operations such as reading/writing and browsing which can be used to access the underlying fieldbus.
Subscription: The specification further introduces a mechanism to retrieve only changed items, called ``Subscription. Clients may thus subscribe to items and use a dedicated polling operation to retrieve changed data.
Related links
OPC XML-DA Specification
Compare XML-DA and OPC-DA
OPC XML-DA to the factory floor
Comparison of the OPC DA and XML-DA specifications
CP: OPC XML-DA Sample Clients
XML-DA Server Side Gateway
XML-DA Client Side Gateway
XML-DA toolkits by ICONICS
dOPC XGate
PyOPC Open Source framework

Main | XML/DA client | Java clients | DCOM implement | Intermediate SW/HW solution | UA-COM wrappers | Downloads | Links and tools

Authors of this site don`t carry any responsibility of use this content.