更新SourceData
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
function verify_pmlsm_ansys_integration
|
||||
% Verify the persisted PMLSM-to-AEDT integration without manual path setup.
|
||||
|
||||
projectDir = fileparts(mfilename('fullpath'));
|
||||
modelDir = fullfile(projectDir, 'LEM_slx');
|
||||
modelFile = fullfile(modelDir, 'PMLSM.slx');
|
||||
artifactDir = fullfile(projectDir, 'analysis_artifacts');
|
||||
cacheDir = fullfile(artifactDir, 'pmlsm_verify_cache');
|
||||
codeDir = fullfile(artifactDir, 'pmlsm_verify_codegen');
|
||||
if ~isfolder(cacheDir)
|
||||
mkdir(cacheDir);
|
||||
end
|
||||
if ~isfolder(codeDir)
|
||||
mkdir(codeDir);
|
||||
end
|
||||
|
||||
addpath(modelDir, '-begin');
|
||||
Simulink.fileGenControl('set', 'CacheFolder', cacheDir, ...
|
||||
'CodeGenFolder', codeDir, 'createDir', true);
|
||||
|
||||
fprintf('ANSOFT_BEFORE_LOAD\t%s\n', which('AnsoftSFunction'));
|
||||
load_system(modelFile);
|
||||
closeModel = onCleanup(@() close_system('PMLSM', 0));
|
||||
fprintf('PERSISTED_USER_DATA\t%s\n', get_param('PMLSM/S-Function', 'UserData'));
|
||||
fprintf('PERSISTED_INIT_FCN\t%s\n', get_param('PMLSM', 'InitFcn'));
|
||||
|
||||
in = Simulink.SimulationInput('PMLSM');
|
||||
in = in.setModelParameter('StopTime', '0.001', 'SimulationMode', 'normal');
|
||||
try
|
||||
out = sim(in);
|
||||
catch ME
|
||||
fprintf('VERIFY_STATUS\tFAIL\n');
|
||||
fprintf('ERROR_ID\t%s\n', ME.identifier);
|
||||
if evalin('base', 'exist(''Simulink_Coupling_Error'', ''var'')')
|
||||
fprintf('COUPLING_ERROR\t%s\n', ...
|
||||
string(evalin('base', 'Simulink_Coupling_Error')));
|
||||
end
|
||||
rethrow(ME);
|
||||
end
|
||||
|
||||
fprintf('ANSOFT_AFTER_INIT\t%s\n', which('AnsoftSFunction'));
|
||||
fprintf('VERIFY_STATUS\tPASS\n');
|
||||
fprintf('VERIFY_OUTPUTS\t%s\n', strjoin(who(out), ', '));
|
||||
end
|
||||
Reference in New Issue
Block a user