How can we get rtwbuild function output in some variable?
1 view (last 30 days)
Show older comments
Hello,
I need to generate code from simulink model for this i am using following command:
rtwbuild('model_name')
with this command code is generating but i need to check that code is generated or not so i writes following code:
result= rtwbuild('model_name')
if result == 1
disp("Code is generated")
else
disp("Code is not generated")
end
but every successful build control is navigate to else part. and in the case of unsuccessful build control is not passing to if condition. Can anybody please tell me is there any way to check rtwbuild function return value? Thanks,
0 Comments
Accepted Answer
Walter Roberson
on 14 Sep 2018
rtwbuild does not return 0 or 1.
"It will return a non-empty block handle to an auto-generated S-Function wrapper, if the selected target creates a S-Function block."
so you should be checking isempty() rather than a numeric value.
5 Comments
Walter Roberson
on 15 Sep 2018
When I look at the code, it looks to me that if the build process encounters an error, then an error is thrown.
If a subsystem is being built and no error occurred, then the output will be the block handle. If a model is being built, and no error occurred, then [] will be output.
There do not appear to be many circumstances under which an error in building a subsystem could result in no error being thrown, but it looks like it could happen if there was an error in S-function post-processing.
Putting this together, it suggests that you use try/catch, and that if no catch occurred and you are building a subsystem then check the return value for non-empty, and that if no catch occurred but you are not building a subsystem that you just assume that no error occurred (because error would have been thrown if there was.)
More Answers (0)
See Also
Categories
Find more on Schedule Model Components in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!