How can we get rtwbuild function output in some variable?

7 次查看(过去 30 天)
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,

采纳的回答

Walter Roberson
Walter Roberson 2018-9-14
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 个评论
Walter Roberson
Walter Roberson 2018-9-15
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.)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Schedule Model Components 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by