Мое приложение matlab связывается с программным обеспечением dymola (для динамического c моделирования / симуляции / расчета), предоставляя входные данные и выбирая выходные данные. Все отлично работает в командном окне Matlab. Автономное приложение, разработанное в Matlab (с использованием компилятора приложений), прекрасно работает в той же системе, в которой оно было разработано. Как только я устанавливаю приложение (с Matlab Runtime) в хост-систему без полной установки Matlab, OP C код не работает * Код разработан / скомпилирован в: Windows 10 Pro, * развернут на / хост-систему: Windows 10 Pro, * Matlab версия 2017b * OP C набор инструментов версии 4.0.4 * Matlab runtime 9.3
Фрагмент кода OP C выглядит следующим образом:
%% 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
Приведенные ниже выходные данные относятся к запуску сгенерированного exe-файла из командной строки в хост-системе. Сбой при ошибке:
OPC Foundation Core Components not installed. Run OPCREGISTER to install the OPC Foundation Core Components.
При раскомментировании строки opcregister('install')
я получаю следующую ошибку (обратите внимание, что я запускаю exe из командной строки):
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.
При вводе строки в виде: opcregister('install','-silent')
Ошибка:
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.
Для сравнения: это вывод, который я получаю в моей системе, тот, в котором код был разработан и скомпилирован: OP C работает нормально, выдает имена серверов как выходные данные
'Matrikon.OPC.Simulation.1' 'Dymosim.OPCServer.1'
Он отлично работает в системе разработчика, но не работает в хост-системе.