Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[4diac-dev] Improved OPC UA

Hi all,


because the OPC UA modules was giving us a lot of headaches and we needed some feature which we internally implemented as quick patches, we put everything together and did a big clean up of the module (lot of leaks are gone).


The code can be found in the public repository in the branch called feature/MO44GA


git fetch origin

git checkout feature/MO44GA


The module is prepared to be used with v0.3.0 from open62541 and if the master branch is needed (commit 534ca8b4026c1481db9fc67039e282bc99cbff86 )

, in CMake you can set the variable FORTE_COM_OPC_UA_MASTER_BRANCH


Inside the OPC UA module  I put  a file (same as the one in attachment) with some quick explanations of what’s been done and how to use the module from this branch.


The idea is to get some feedback about it. Nothing is set in stone and every comment is welcome. We are too deep in it that we are maybe used to some things that are wrong.


Many cool features were added, which means that the usability kind of decreased. But don’t be afraid to test it. I can guarantee you that the module won’t fail.


For the lazy ones, here below the first part of the file which the things done:


## Bugs ready to be closed


* Reconnection of Client when connection is lost:

* SUBSCRIBE blocks can't subscribe to variables on other OPC-UA servers:

* Look up node in remote server by nodeid and not only browsename:

* The server should not be started if only a Client FB is deployed:

* Set server capabilities in OPCUA:

* Add check for string termination and fix one-line if in opcuaHandler:


## New features


* Each layer is not a thread anymore.

* Ability to set own NodeIds to nodes (numeric, strings, and bytestring. GUID not implemented)

* Ability to set the desired browse name to nodes. No more automatic generation from the connected FB

* Nodesets can easily be integrated to forte


## Yet to be done


* Ability to create objects

* Create forte namespace and limit local server to it (?)

* Ability to reference a namespace locally/remotely using the uri and not only the number

* Add most common opc ua types in forte (LocalizedText, QualifiedName)

* Add support for arrays


Jose Cabral




Forschungsinstitut des Freistaats Bayern für

softwareintensive Systeme und Services

Guerickestraße 25

80805 München


Tel.: +49 (89) 3603522 529

Fax: +49 (89) 3603522 50

E-Mail: cabral@xxxxxxxxxxx


Amtsgericht München: HRB: 176633

USt-IdNr.: DE263907002, Steuer-Nr.: 143/237/25900

Rechtsform: gemeinnützige GmbH

Sitz der Gesellschaft: München

Geschäftsführer: Dr. Harald Rueß, Thomas Vallon

Vorsitzender des Aufsichtsrats: Dr. Manfred Wolter



Back to the top