Fast Restart and SimState

2 visualizzazioni (ultimi 30 giorni)
Audrow Nash
Audrow Nash il 19 Lug 2017
How does Fast Restart work with SimState?
In following this process, https://www.mathworks.com/help/simulink/ug/fast-restart-workflow.html, the second step says to save a SimState. When I try to save a SimState, I get the following error:
The following parameters are not supported by the sim command when Fast Restart is enabled: 'SaveFinalState, FinalStateName, SaveCompleteFinalSimState'
Here is a snippet of my code:
set_param(simulation,'FastRestart','on')
% Create a SimState at the final time of 0
% (as soon as the simulator starts)
simOut = sim(simulation,'StopTime','0',...
'SaveFinalState', 'on',...
'FinalStateName','xFinal',...
'SaveFormat','Structure');
% Adjust simulator over iterations
for i = 1:100
% Adjust parameters in the workspace
simOut1 = sim(simulation,'StartTime', ...
'0', 'StopTime', '5',...
'SaveFinalState', 'off', ...
'LoadInitialState', 'on', ...
'InitialState', 'xFinal');
end

Risposte (1)

Ankitha Kollegal Arjun
Ankitha Kollegal Arjun il 27 Lug 2017
As the error message suggests, some properties of the 'Sim' command cannot be altered when the model is in compiled state (which is essentially the case when 'FastRestart' is turned on). For example, you cannot perform 'save' operations in this mode. As a workaround, you can turn off the FastRestart mode and set these options using set_param. After doing so, you can turn on FastRestart and simulate using the 'sim' command. Please find the modified code below:
load_system(mdl);
set_param(mdl,'FastRestart','off');
set_param(mdl,'SaveFinalState','on','FinalStateName','xFinal','SaveFormat','Structure');
set_param(mdl,'FastRestart','on');
% Create a SimState at the final time of 0
% (as soon as the simulator starts)
simOut = sim(mdl,'StopTime','0');
set_param(mdl,'FastRestart','off');
set_param(mdl,'StartTime','0','SaveFinalState','off','StopTime','5');
set_param(mdl,'FastRestart','on');
% Adjust simulator over iterations
for i = 1:100
simOut1 = sim(mdl,'LoadInitialState', 'on', ...
'InitialState', 'simOut.xFinal');
end

Categorie

Scopri di più su Simulink in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by