|Improved OPC UA support for 4diac [message #1814132]
||Wed, 04 September 2019 13:57
| Jose Maria Jesus Cabral Lassalle
Registered: February 2016
After some months of working, the improved OPC UA module for 4diac is now finally merged in the developed branch.|
Why change the OPC UA Module?
After working with OPC UA and real cases with different companies using different OPC UA stacks, we realized that the OPC UA module in FORTE wasn't reliable and often crashed, and wasn't easy to extend. Also, we noticed that other companies had the same problem. So we decided to make a deep clean-up of the OPC UA module and add the capabilities we found were needed.
So... what's new?
The changes were done in the FORTE code, and the main things include:
- Client and server are completely separated. Using just clients capabilities won't start the server.
- When using the client, if the connection is lost, FORTE will reconnect.
- You can now look for nodes in remote server using not only the browsename, but also the Node ID.
- You can set a desired Node ID (and name) for the variables you create in your local server. (Numeric, String and Bytestring).
- You can easily integrate your own nodesets to FORTE's compilation.
- You can easily add your own types.
- Support of v0.3.0 and v1.0 versions of open62541.
But, how good is it actually?
- Before, each Function Block has its own thread. Now, not anymore, meaning a great improvement in performance.
- 9 bugs were closed.
- 9 4diac applications were developed that execute more than 1300 test on FORTE's code.
- More than 80% coverage.
- A CI (continuous integration) was set to execute all tests on each commit, using both branch versions of open62541.
- 0 compilation warnings / 0 cppcheck warnings nor errors.
I like it already, how do I use it?
You need to use the develop branch of FORTE. The usage has changed a little, but the documentation is already up online. The main changes are which Function Blocks are used for different OPC UA capabilites and how does the ID looks like.
So, please use it, test it and open bugs for it. And of course, if you want to contribute to it, please do it by pushing your changes to FORTE's branch "feature/MO44GA" which will trigger the CI.
Powered by FUDForum
. Page generated in 0.02253 seconds