Problem with the DI based namespace server.

Questions regarding the use of UaModeler

Moderator: uamodeler

Post Reply
tomas60
Jr. Member
Jr. Member
Posts: 1
Joined: 22 Oct 2025, 09:11

Problem with the DI based namespace server.

Post by tomas60 »

Hello everyone,

I am currently working on setting up an OPC UA server using the C++-based OPC UA Client/Server/PubSub SDK (version 1.8.5.638) along with UaModeler (version 1.8.0.590) for our project, and I would appreciate some guidance on an issue I have encountered.

Our goal is to replicate the same structure of OPC UA nodes that was used in the previous version of our device. This earlier version was built using a different SDK and tools. From this existing version, I have access to an XML Nodeset2 file (generated using SiOME), which I imported into UaModeler.

The original node structure looks like this:
Types -> TopologyElementType -> ComponentType -> DeviceType -> Custom_type

Using UaModeler, I have manually created an instance of this Custom_type:
Object ->DeviceSet -> Custom_object

Then I generated the code.

In the SDK, I have checked to include DI model during compilation.
When I started the server with the DI model namespace, I was able to connect to the server with UaExpert, and I could see the correct structure as expected.
Then I have added also my Custom namespace via Nodemanager and started server

OpcUaDi::NodeManagerDevices* pNodeManagerDI = new OpcUaDi::NodeManagerDevices(firesEvents, nHashTableSize);
pServer->addNodeManager(pNodeManagerDI);
Custom::NodeManagersitop* pNodeManagerCustom = new Custom::NodeManagerDevices(firesEvents, nHashTableSize);
pServer->addNodeManager(pNodeManagerCustom);
ret = pServer->start();

However, when I try to start the server with both node managers (DI and Custom), I am unable to connect to the server via UaExpert. It shows me a BadTimeout error message. Yet, when debugging the server, I can see it starting in the standard way, without any visible issues.

I also made test, when Custom_object was created under the OPC namespace, and not DI namespace (Object -> Custom_object). Then I used only Custom node manager.
In that case, I could see the server started correctly, and after connection via UaExpert, I could see the modeled structure.

So when I am using only my Custom node manager, then everything seems to be working correctly. But when I am using both DI and Custom node manager to configure server, then it is not starting correctly.

Could anyone help shed light on why the combination of DI and Custom node managers causes this issue or suggest what I might be doing incorrectly?

Thank you very much for your help!

User avatar
Support Team
Hero Member
Hero Member
Posts: 3325
Joined: 18 Mar 2011, 15:09

Re: Problem with the DI based namespace server.

Post by Support Team »

Hi,

when using the C++SDK you should use UaExpert for browsing and exporting the NodeSet2.xml files. This gives the possibility of exporting per each namespace, and loading in UaModeler in correct order.

From your description is hard to say what goes wrong, might be an issue with loading in correct order, might be an issues in the NodeSet2 (dangling references), or some doublicates.

Best option is to create support ticket with form on the website, and attach your UaModeler-Project with it:
https://webdav.unifiedautomation.com/support/support_form.html
Best regards
Unified Automation Support Team

Post Reply