Matlab executable throws error in opc.ua.Client

5 visualizaciones (últimos 30 días)
Andreas
Andreas el 6 de Sept. de 2024
Respondida: Stefanie Schwarz el 16 de Sept. de 2024
I used MATLAB Compiler (2022b) to deploy a small algorithm that grabs data over the matlab opc-ua interface. So i used the icomm\opc...On the computer where i have all the toolboxes the executeable can be run without throwing an error. But when i run it on another computer, where i installed the 2022b runtime i get the following error-stack:
file: C:\Programm Files\MATLAB\MATLAB Runtime\R2022b\mcr\toolbox\icomm\opc\opc\+opc\+ua\Client.m
name: Client.Client
line: 386
I tried it on severals pc´s, only when there is also a matlab license of the toolbox containing the opc-ua it works.
Can someone please give me a hint how i can solve the problem.
  4 comentarios
Steven Lord
Steven Lord el 8 de Sept. de 2024
Can you show the code for the method in which you create the opc-ua connection?
Andreas
Andreas el 8 de Sept. de 2024
I just use the connect function of matlab.
Here is the code:
obj.client = opcua(hostname,portNr);
obj.client.setSecurityModel('None')
%Connect client to server
connect(obj.client);
One additional information: I checked the availability of the opc-ua server with UA-Expert on all computers when i tried to run the exe-file. So, the connection is OK (checked with UA-Expert), but on every computer i´ve tried to run it with the mcr 2022b, the error above was thrown. The line 386 of the error suggests a wrong server, port or datatype of these parameters, but they are read out by the same json-file as on the computer where is runs without any trouble.

Iniciar sesión para comentar.

Respuestas (2)

Image Analyst
Image Analyst el 8 de Sept. de 2024
Editada: Image Analyst el 8 de Sept. de 2024
Try including that file explicitly in your compilation, something like
mcc yourapp.m -a " C:\Program Files\MATLAB\MATLAB Runtime\R2022b\mcr\toolbox\icomm\opc\opc\+opc\+ua\Client.m"
but actually you must change the path to what it is on your computer, not the target computer, so it will find it.
  4 comentarios
Andreas
Andreas el 9 de Sept. de 2024
Thank you for your answer and the interesting link.
I found 2 files called Client.m on different paths inside the MATLAB folder of the target computer:
  1. C:\Program Files\MATLAB\MATLAB Runtime\R2022b\mcr\toolbox\icomm\opc\opc\+opc\+ua\Client.m
  2. C:\Program Files\MATLAB\R2022b\mcr\toolbox\icomm\opc\opc\+opc\+ua\Client.m
A binar comparison shows differences in those files...
I also found a link in the CTF folder which links to the 1. file.
I tried the dependency walker but, to be honest, i cannot read out anything from the detected erros, which name some missing dll-files.
Image Analyst
Image Analyst el 9 de Sept. de 2024
I don't know what that thing is. It's not something that shows up as an applet inside MATLAB is it? Does it have it's own GUI? Because I think applets on the Apps tab of the tool ribbon cannot be included in a standalone executable. Otherwise I'd try to recompile with the latest R2024a and try that. If that doesn't work, call tech support.

Iniciar sesión para comentar.


Stefanie Schwarz
Stefanie Schwarz el 16 de Sept. de 2024
The error in line 386 of "opc.ua.Client" indicates that there might be an issue with resolving the OPA UA endpoint hostname. See the following MATLAB Answer for more info:

Categorías

Más información sobre Data Import from MATLAB en Help Center y File Exchange.

Productos


Versión

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by