Goodday, everyone!

I need your help. I need to write a C++ program that can get and set values from/to variables of the program run on a PLC.
The manufaturer of the PLC told me they use Modbus RTU and OPC UA data transfer protocols to connect it to PLC programming software CODESYS. The data I need to change is transferred via OPC UA so I built QtOpcUa module ( and added it to my project. I studied these examples of how to make a client: The three programs from here (client, server, viewer) all work great but when I tried to change example server's IP to my PLC's IP QtCreator failed to succeed. What's more: this viewer also failed to get a tree of nodes from PLC's loaded program.

However, when I tried to use another software developer's OPC UA client UaExpert ( it read nodes of both the example server and my PLC. So its values can be read and changed dynamically what I found out using it. I just don't understand why that first client can't see it as well as my program based entirely on the client example?