OPC UA device class


we are looking for an OPC UA device server. I am wondering if anyone is aware of any other implementations besides the the two listed in the catalogue, of which one (TangoOpcUa) is unavailable (I checked with the author) and the other (TangoOpcUaAccess) - which I haven't tested yet - has a GPL license.


OpcUaAccess was done for the community. What is the problem with the GPL licence? Would it help if the licence was LGPL? But then how can we ensure bug fixes and improvements are shared with the community.


Whether or not GPL is problematic for our case is something that is still being verified at this point - unfortunately, the call is not mine to make. In the meantime, I was just wondering if there are any other known implementations that I might have missed. LGPL is - as far as I know - more permissive as simply using the code doesn't require you to disclose your own, but I'm no lawyer and may be wrong on this one. Be that as it may, I appreciate and agree with the community-driven approach.
Edited 11 months ago
Rather than potentially-limiting GPL, the biggest problem with TangoOpcUaAccess seems to be that it apparently makes use of the OpenOpcUa internally, the source code for which is no longer available freely, making TangoOpcUaAccess problematic to compile. Besides, TangoOpcUaAccess appears to be written for Windows only. I tried to get it running on Linux with some adaptations, but with no success so far.

Did you contact Mr Condemine for OpenOpcUA ?
What were the problems a compile time ? I don't remeber using specific Windows stuff.

TangoOpcUaAccess is used to connect to the opc ua server.

Then we use TangoOpcUaObject http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Communication/OPCUA/TangoOpcUaObject/ to create binding between an opc ua data and a Tango one. This is written in Python.

no, I didn't contact anyone. I pulled the code from the repository and tried to build it with a makefile - note that only Visual Studio project is present initially, so you can't build for Linux out of the box. There are various Windows-specific code constructs that won't compile on Linux, e.g. __stdcall and GetSystemTime(). As for linking with OpenOpcUa, their site claims that a fee is required to get the full codebase. The libs (.so) included in their available demos didn't work for me when I tried to link them with the OPC UA device server, as they were apparently compiled for a different architecture/platform.
Edited 11 months ago
Register or login to create to post a reply.