Matlab executable throws error in opc.ua.Client

2 次查看(过去 30 天)
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 个评论
Steven Lord
Steven Lord 2024-9-8
Can you show the code for the method in which you create the opc-ua connection?
Andreas Pfeffer
Andreas Pfeffer 2024-9-8
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.

请先登录,再进行评论。

回答(2 个)

Image Analyst
Image Analyst 2024-9-8
编辑:Image Analyst 2024-9-8
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 个评论
Andreas Pfeffer
Andreas Pfeffer 2024-9-9
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 2024-9-9
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.

请先登录,再进行评论。


Stefanie Schwarz
Stefanie Schwarz 2024-9-16
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:

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by