Fast Restart and SimState

13 次查看(过去 30 天)
Audrow Nash
Audrow Nash 2017-7-19
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

回答(1 个)

Ankitha Kollegal Arjun
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

类别

Help CenterFile Exchange 中查找有关 Event Functions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by