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

13 views (last 30 days)
直樹 田中
直樹 田中 on 29 Jan 2021
Commented: 直樹 田中 on 1 Feb 2021
simulinkで作製したモデルの中で、あるサブシステム(もしくはブロック)だけはシミュレーション時だけ有効、EmbeddedCoderでコード生成する時には無効(コメントアウト)する方法はありますか?

Answers (1)

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

Sign in to comment.

Categories

Find more on 配布 in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!