My matlab application communicates with dymola software (for dynamic modeling/simulation/calculation) by giving inputs and fetching outputs. Everything working fine in Matlab command window. The standalone application developed in the matlab (using Application compiler) works fine in the same system as the one it was developed in. Once I install the application (with matlab runtime) into an host system without the full matlab installation, The OPC code fails. * Code developed/compiled in : Windows 10 Pro, * deployed to/Host system : Windows 10 Pro, * Matlab version 2017b * OPC toolbox version 4.0.4 * Matlab runtime 9.3
The OPC code snippet is as follows:
%% File: SetupOPCDA_MatlabDymolaConnection()
try
%opcregister('install')
hostInfo = opcserverinfo('localhost');
disp(hostInfo.ServerID);
da = opcda('localhost','Dymosim.OPCServer.1');
% Connect to Dymola OPC server
connect(da);
grp = addgroup(da);
ns = getnamespace(da);
catch Err % line 33
The below given outputs are from running the generated exe file from command line in the host system. Its failing with error:
OPC Foundation Core Components not installed. Run OPCREGISTER to install the OPC Foundation Core Components.
On uncommenting the line opcregister('install')
I'm getting the following error (Please note I'm running the exe from commandline):
Setting OPC connection...Warning: OPC Core Components are already installed. Reinstalling may require a repair of the Core Components.
Continuing this operation will modify any OPC Foundation files already installed.
MATLAB may shut down, and a system reboot may occur.
Type 'Yes' (exactly as shown) to install the OPC Foundation files
Confirmation string: Yes
'Yes' is not recognized as an internal or external command,
operable program or batch file.
Operation cancelled by user.
On giving the line as: opcregister('install','-silent')
Error:
Warning: OPC Core Components are already installed. Reinstalling may require a repair of the Core Components.
TWarning: Installation was not successful. Exit code was 1619.
OPC Foundation Core Components not installed. Run OPCREGISTER to install the OPC Foundation Core Components.
To compare, This is the output I get in my system, the one in which the code was developed and compiled: OPC working fine, Gives server names as outputs
'Matrikon.OPC.Simulation.1' 'Dymosim.OPCServer.1'
It works fine in the developer system, but it fails in host system.
Confirmation string: Yes 'Yes' is not recognized as an internal or external command,
I guess that funny bit is caused by you not actually typing onto the MATLAB command window, but instead on the OS console. Have you tried the repair option? mathworks.com/help/opc/ug/opcregister.html – Danielrepair
option, withsilent
flag. ResponseOPC Foundation Core Components not installed. Run OPCREGISTER to install the OPC Foundation Core Components.
I agree with you on theConfirmation string
thing – vki_11