I recently ran an application using clients and opcua servers in labview, where the first client sends a data to the server and it gives the data to a second client. After that, I tried to replicate the server's features using the node_opcua stack. In order to get the connection and exchange of data between the server developed in nodejs and the clients opc ua labview, initially I need to establish a connection between the server (labview) and clients (labview), later cancel the server connection (labview), keeping clients "connected" and then connecting my server (nodeopcua). If I try to connect directly between server (nodeopcua) and clients (labview) nothing happens.
Reading the opcua documentation in labview I found something reporting that servers and clients need to trust each other. Is it possible to cancel the standard certifications used by the labview clients? If yes, how?
Based on your info, when you the cancelled the server(labview) connection, didn't stop clients(labview) and then connected to your server(nodeopcua), right? If so, you should confirm the server endpoint URL of the server(labview) and the server(nodeopcua) are the same firstly.
Could you please answer the following questions?
1. Which version of your OPC UA? 2017 or earlier?
2.Why you want to cancel the certificate?
The client must have a certificate when running. If you don't specify the certificate's name, client will create a default one (Default OPC UA.der) and the location is "...\National Instruments\certstore\opcua".
On the nodeopcua server, I use the same URL as the labview server, holding the default TCPview port of labview.
first question: I'm using the 2017 version;
second question: Actually I'm not sure if you need to cancel the certificate. When I connect my nodeopcua server according to what has been reported, clients are already certified, so I get the connection. If I try to connect to disconnected clients, nothing happens because clients are not certified. Right ? Believing there is no way to cancel the certificate, how could I provide for the certificate to the labview clients, via the nodeopcua server or any other external server options?
For OPC UA protocol, server and client should trust certificates each other. For the nodeopcua server, it has its own server's certificate. We need to load clients' certificates to the server and the server should trust those certificates. For the LabVIEW client, it also has its own client's certificate as I said before. Then we should load the nodeopcua server's certificate to local and trust the certificate by the Connect.vi. Specially, for OPC UA 2017, if you set the trust any server to T, client will trust all servers and you don't need to point out the nodeopcua server's certificate explicitly.
Please mention, the server's certificate must be created by the server and the client's certificate must be created by the client. Typically, we use FTP to transfer certificates
I was able to run the nodeopcua server on the first attempt, using its explanation. Thank you very much.
When I try to use the same server code, however on another device (RaspberryPi3) I get in my labview client the following code: -356698 Unable to locate the host. Ensure the hostname is valid or use the IP address.
I tried to assign the client both the host name and the IP address, but the same message continues. When I use a client in the UA expert, running on the same machine where labview is installed, I get success.
Could you tell me why the labview client does not find the rasperry IP?