コード生成時だけコメントアウトする方法

simulinkで作製したモデルの中で、あるサブシステム(もしくはブロック)だけはシミュレーション時だけ有効、EmbeddedCoderでコード生成する時には無効(コメントアウト)する方法はありますか?

回答 (1 件)

Toshinobu Shintai
Toshinobu Shintai 2021 年 1 月 30 日
編集済み: Toshinobu Shintai 2021 年 1 月 30 日

0 投票

R2020bであれば、バリアントサブシステム(Variant Subsystem)を使うことで可能です。以下のようにバリアント制御モードに「sim/codegenの切り替え」が存在しています。
このモードに設定後、バリアント制御スイッチに「(sim)」と設定すればシミュレーション時、「(codegen)」と設定すればコード生成時にバリアントが切り替わるようになります。
R2019bでは上記の機能が使えません。
代替手段としては昔ながらの方法になりますが、シミュレーション実行時には「rtwtypes.h」が読み込まれませんので、
#define RTWTYPES_H
が実行されません。
従って、上記defineが定義されているかどうかを調べることで、今の実行がシミュレーションなのかそうでないのか、を知ることができます。

1 件のコメント

直樹 田中
直樹 田中 2021 年 2 月 1 日
ご回答ありがとうございます。
>上記defineが定義されているかどうかを調べること
調べ方と、調べたうえでどのようにすればいいかもお教え頂ければ幸いです。

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange配布 についてさらに検索

製品

リリース

R2019b

質問済み:

2021 年 1 月 29 日

コメント済み:

2021 年 2 月 1 日

Community Treasure Hunt

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

Start Hunting!