Thinking about OPC UA …

Today we had a little internal brainstorm session about adding OPC UA to the list of supported interfaces for openSCADA. While openSCADA implements the OPC DA client side using native Java it of course be nice to have something similar for OPC UA.

But since OPC UA is not based on COM/DCOM it would interesting to not only have a client side but also be able to export openSCADA functionality using OPC UA on the server side. Imagine having an open source OPC UA implementation which exports the OSGi based „master“ server providing direct access.

Since openSCADA already has the idea of multiple wire protocols (ICE from ZeroC was implemented in the past) it should no be big issue writing another „Exporter“ which simply exports a „Hive“ implementation using OPC UA. Of course the same would be possible not only for DA, but for AE and HD as well.

But for now this is only a bit of brainstorming …

This entry was posted in News. Bookmark the permalink.

27 Responses to Thinking about OPC UA …

  1. John Gillerman says:

    Are you aware of OpenOPCUA? It is an open souce UA stack.

  2. Michel4CE says:

    The OpenOpcUa site and forge was in maintenance during the last days but is now online again.
    Please register to it and contact me if you want to participate in the project.

  3. I am very interested in this, and would love to help if needed. My concern is, where would you get the API/Protocol documentation? The only place I’ve found it is OPCFoundation’s website, and you have to be a paying member to get access to their “open” protocol specs.

    To that end, how would licensing work if you do end up getting access to this documentation?

    • Jens Reimann says:

      Well this would only work using a clean approach and reverse engineering. We made some initial tests and got some communication working just by sniffing the traffic between two OPC UA communication partners. So the main issue would be documenting the protocol from base up. Since wireshark has a dissector for OPC UA this should be a big help.

      So licensing could go under LGPL, GPL or any other OpenSource license.

      But, at least for the moment, we have no need for implementing OPC UA. That is why we did not continue after we checked out that it would be possible. And without some need, meaning someone to pay for the development or some project with that specific requirement, we have not a huge interest in putting our time on this topic.

      • That is completely understandable.

        I’ve been contemplating doing this as well, but was wondering how you approached those specific hurdles.

        I’m not a lawyer, but the OPC specs are published under the RCL (never heard of it) but it states “under the RCL your changes, bug fixes, extensions, etc. must be made available to the community.” I figure the term “community” ties the source and changes back to foundation members.

        If we do tackle this, I would hope to make it official (as Utgard is on the OPC website) but also be able to keep it open-source.

        Thank you for your feedback!

  4. Daniele Pala says:

    There is an OpenSCADA with OPC UA support

  5. Matthias Wald says:


    why is all this so difficult?
    OPC Foundation has a java redistributable which can be used freely. We do have a OPC-UA implementation based on this.

    Best regards,

    • It was my understanding that your organization had to be an OPC Foundation member to download their API’s and tools. Of which, we are not. Its a very “closed” open implementation, and the fees of becoming a member are based on sales, staff, etc…

      Of course, please, correct me if I am wrong, because such a redistributable would probably be of benefit to many of the readers of this site.

      • Jens Reimann says:

        Yes, this is the case. And after a short e-mail conversation with Matthias Wald it turned out that also from his point of view this seems the case. There is no “free” or “open” version of OPC UA available from the OPC Foundation.

        So creating an open source version of OPC UA one would need a clean room approach, analyzing, documenting and implementing it.

      • John Gillerman says:

        OPC UA Tools and OPCF source code is limited to members. The released specs are downloadable by non-members. $900 is the cost for a non voting OPCF membership. Or just join the OpenOPCUA consortium to get free source.

  6. John Gillerman says:

    Tom, you said: “The closed nature of OPC UA has always baffled me.” Just to state the facts, OPC UA is not closed. The specs are open and there are open source implementations of the stack.

    • Jens Reimann says:

      So it would be nice if you could link to these specifications.

      • John Gillerman says:

        I can’t link to them, but you can just register at the OPCF website and download the released specs.

  7. Olivier RD says:

    OK, It took a while but I finally manage to free up som time and implemented most of the server and client OPC-UA stuff in C++ there
    It works will all tested clients and server (not so many yet)
    The code should be OK. Not because of me but because the other commiter is obviously very good at C++ 🙂
    Python bindings are also available

  8. Sten says:

    We also have a relatively new open source OPC UA implementation in C99 here A minimal server is up and running, some rudimental client support is also available.

  9. Calidanman says:

    Who is currently using this product? I’m looking for some application examples. I tried searching a bit with no luck. Thank you!

Leave a Reply

Your email address will not be published. Required fields are marked *