Is there a way to get the Simulink real-time parameter set (rtp) from a rapid accelerator build without rebuilding it?
9 次查看(过去 30 天)
显示 更早的评论
I am building and using a rapid accelerator target for myModel using
rtp = Simulink.BlockDiagram.buildRapidAcceleratorTarget(myModel);
newRtp = Simulink.BlockDiagram.modifyTunableParameters(rtp, 'myParam', myValue);
sim(myModel, 'SimulationMode', 'rapid', ...
'RapidAcceleratorUpToDateCheck', 'off', ...
'RapidAcceleratorParameterSets', new_rtp);
If I don't have an rtp object (but I know my model hasn't changed and I want to run in rapid mode without re-building the model) can I get rtp from the model somehow (without re-building)?
Something like:
Simulink.BlockDiagram.buildRapidAcceleratorTarget(myModel); % oops, should have captured the output
rtp = Simulink.BlockDiagram.getExistingRapidAcceleratorTarget(myModel); % does something like this exist?
0 个评论
回答(1 个)
Nirja Mehta
2017-8-30
You can check the checksum of your model and get rtp only if checksums are different.
% To compile the model before calling Simulink.BlockDiagram.getChecksum
myModel([],[],[],'compile')
[cs1,csdet1]=Simulink.BlockDiagram.getChecksum(myModel);
% Get rtp for first time
rtp = Simulink.BlockDiagram.buildRapidAcceleratorTarget(myModel);
[cs2,csdet2]=Simulink.BlockDiagram.getChecksum(myModel);
if (cs1 ~= cs2)
% This means your model changed, time to update rtp
rtp = Simulink.BlockDiagram.buildRapidAcceleratorTarget(myModel);
end
% Your code now
newRtp = Simulink.BlockDiagram.modifyTunableParameters(rtp, 'myParam', myValue);
sim(myModel, 'SimulationMode', 'rapid', ...
'RapidAcceleratorUpToDateCheck', 'off', ...
'RapidAcceleratorParameterSets', new_rtp);
Hope this helps.
3 个评论
Lee
2017-10-30
Does saving and reloading the rtp object even work? I've had strange behaviors when reloading saved objects in the past so hadn't even tried it yet... In theory this is a solution, but i agree, no where near as elegant as your proposed function call. Mathworks?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Multicore Processor Targets 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!