The open62541 is a C-based OPC-UA stack and on its own it can't
be used as a back-end for Quasar.
Therefore, the Quasar team has created a compatibility layer
which lets use open62541 in quasar projects. The compatibility
layer is quickly available to quasar developers as one of
supported "optional modules".
Note that the procedure requires to posses the build config file
for open62541 - at the moment, you can obtain it from
Piotr.Nikiel@cern.ch
The quasar team is working on a more sustainable way to distribute
it.
In order to configure your quasar project to use the open62541,
follow the steps (it is assumed you already have a quasar
project):
Quasar makes full use of UA SDK ServerConfig.xml to configure
things like:
Unfortunately, support for ServerConfig.xml is not yet there when
the open62541 is used as a backend. The ticket to follow is:
https://its.cern.ch/jira/browse/OPCUA-686
Changing the defaults must generally be hardcoded, e.g.
look at the constructor in Server/src/opcserver_open62541.cpp.
m_server_config is the object storing the configuration for the
server when open62541 is used.
Feature |
UA SDK 1.3+ |
open62541-compat (TODO:
version) |
|
Cache-variables |
|||
Data Types: Boolean, SByte (~signed char), Byte (~unsigned char), Int16, UInt16, Int32, UInt32, Int64, UInt64, Float, Double, String, ByteString |
✓ |
✓ |
|
Variant Data Type (supporting the data types
listed above) |
✓ | ✓ | |
Null Data Type |
✓ | ✓ | |
Access rights (r/w/rw control) |
✓ | x |
|
No-sampling mode for cache-variables | ✓ | x | |
Source-variables |
x | ||
Support for same data types as with
cache-variables |
✓ | x | |
Synchronous read/write handling |
✓ | x | |
Asynchronous read/write handling |
✓ | x | |
Methods |
|||
Support for same data types as with cache-variables | ✓ | ✓ | |
Synchronous invocation |
✓ | ✓ | |
Asynchronous invocation |
x |
x |
|
Calculated items |
(broken) |
x |
|
Standardized
back-end configuration (ServerConfig.xml) |
✓ | x |