Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

rtwbuild

モデルから生成されたコードをビルド

説明

rtwbuild(model) は、現行モデルのコンフィギュレーション パラメーターの設定内容に基づいて、model からコードを生成します。引数 model が、MATLAB® 環境内にまだ読み込まれていない場合は、コードを生成する前に rtwbuild がこれを読み込みます。

[コード生成のみ] のモデル コンフィギュレーション パラメーターをクリアした場合は、関数はコードを生成し、実行可能イメージをビルドします。

コード生成時間を短縮するため、rtwbuild はモデルをリビルドするときに、インクリメンタル モデルのビルドを提供します。コード ジェネレーターは、最後に行われたモデルのビルド以後に変更されたモデルまたはサブモデルのみリビルドします。最上位モデルのビルドを強制的に実行する場合は、引数 'ForceTopModelBuild' を参照してください。

rtwbuild(model,Name,Value) は、1 つ以上の Name,Value 引数のペアによって指定された追加オプションを使用します。

rtwbuild(subsystem) は、現行モデルのコンフィギュレーション パラメーターの設定内容に基づいて、subsystem からコードを生成します。ビルドを開始する前に、親モデルを開くか読み込みます。

[コード生成のみ] のモデル コンフィギュレーション パラメーターをクリアした場合は、関数はコードを生成し、実行可能イメージをビルドします。

Embedded Coder® のソフトウェア ライセンスをお持ちの場合は、rtwbuild(subsystem,'Mode','ExportFunctionCalls') によって、外部アプリケーション コードにエクポートできる関数呼び出しを含む subsystem からコードが生成されます。

[ブロックの作成] コンフィギュレーション パラメーターが [SIL] に設定されていて、Embedded Coder をお持ちの場合、blockHandle = rtwbuild(subsystem,'Mode','ExportFunctionCalls') は指定したサブシステムから生成されたコード用に作成された SIL ブロックに、ハンドルを戻します。これにより、SIL ブロックを数値的等価性のテストに使用できます。

すべて折りたたむ

モデル rtwdemo_rtwintro 用の C コードを生成します。

rtwbuild('rtwdemo_rtwintro')

GRT システム ターゲット ファイルの場合、コード ジェネレーターは次のコード ファイルを生成し、これらを rtwdemo_rtwintro_grt_rtw および slprj/grt/_sharedutils フォルダーに配置します。

モデル ファイル共有ファイルインターフェイス ファイル他のファイル

rtwdemo_rtwintro.c

rtwdemo_rtwintro.h

rtwdemo_rtwintro_private.h

rtwdemo_rtwintrotypes.h

rtGetInf.c

rtGetInf.h

rtGetNaN.c

rtGetNaN.h

rt_nonfinite.c

rt_nonfinite.h

rtwtypes.h

multiword_types.h

builtin_typeid_types.h

rtmodel.h

rt_logging.c

次のモデル コンフィギュレーション パラメーター設定が適用されている場合、コード ジェネレーターは追加の結果を生成します。

パラメーター設定結果
[コード生成][コード生成のみ] がクリアされている実行可能イメージ rtwdemo_rtwintro.exe
[コード生成][レポート][コード生成レポートを作成] が選択されているレポートが表示され、生成されたコード ファイル、サブシステムおよびコード インターフェイス レポート、エントリポイント関数、入力端子、出力端子、インターフェイス パラメーターおよびデータ ストアなどへのリンクと情報が提供される

モデルのチェックサムおよびパラメーターの設定に関係なく、モデル rtwdemo_mdlrefbot を参照している rtwdemo_mdlreftop 用に、コードを生成して実行可能イメージをビルドします。

rtwbuild('rtwdemo_mdlreftop', ...
    'ForceTopModelBuild',true)

モデル rtwdemo_mdlreftop でエラーを発生させ、モデルを rtwdemo_mdlreftop_witherr として保存します。モデル rtwdemo_mdlreftop_witherr 用のコードを生成して実行可能イメージをビルドしながら、診断ビューアーおよびコマンド ウィンドウにビルド エラー メッセージを表示します。

rtwbuild('rtwdemo_mdlreftop_witherr', ...
    'OkayToPushNags',true)

モデル rtwdemo_rtwintro のサブシステム Amplifier に C コードを生成します。

rtwbuild('rtwdemo_rtwintro/Amplifier')

GRT ターゲットの場合、コード ジェネレーターは次のコード ファイルを生成し、これらを Amplifier_grt_rtw および slprj/grt/_sharedutils フォルダーに配置します。

モデル ファイル共有ファイルインターフェイス ファイル他のファイル

Amplifier.c

Amplifier.h

Amplifier_private.h

Amplifier_types.h

rtGetInf.c

rtGetInf.h

rtGetNaN.c

rtGetNaN.h

rt_nonfinite.c

rt_nonfinite.h

rtwtypes.h

multiword_types.h

builtin_typeid_types.h

rtmodel.h

rt_logging.c

この表にリストされているパラメーター設定を適用すると、コード ジェネレーターはリストされている結果を生成します。

パラメーター設定結果
[コード生成][コード生成のみ] がクリアされている実行可能イメージ Amplifier.exe
[コード生成][レポート][コード生成レポートを作成] が選択されているレポートが表示され、生成されたコード ファイル、サブシステムおよびコード インターフェイス レポート、エントリポイント関数、入力端子、出力端子、インターフェイス パラメーターおよびデータ ストアなどへのリンクと情報が提供される

外部アプリケーション コードにイメージをエクスポートするには、Function-Call Subsystem から実行可能イメージをビルドします。

rtwdemo_exporting_functions
rtwbuild('rtwdemo_exporting_functions/rtwdemo_subsystem','Mode','ExportFunctionCalls')

実行可能イメージ rtwdemo_subsystem.exe が、作業フォルダーに表示されます。

モデルから生成されたコードをテストするための SIL ブロックを Function-Call Subsystem から作成します。

モデル rtwdemo_exporting_functions 内のサブシステム rtwdemo_subsystem を開いて、[ブロックの作成] モデル コンフィギュレーション パラメーターを [SIL] に設定します。

SIL ブロックを作成します。

mysilblockhandle = rtwbuild('rtwdemo_exporting_functions/rtwdemo_subsystem',...
'Mode','ExportFunctionCalls')

コード ジェネレーターは生成されたサブシステム コード用に SIL ブロックを生成します。テスト ベクトルまたはスティミュラスの入力を提供するテスト ハーネス モデル、または環境にブロックを追加することができます。これにより、SIL テストを行うシミュレーションを実行し、SIL ブロック内の生成されたコードがオリジナルのサブシステムと同じ結果を作成することを確認できます。

Function-Call Subsystem から実行可能イメージをビルドするときに生成される初期化関数に名前を付けます。

rtwdemo_exporting_functions
rtwbuild('rtwdemo_exporting_functions/rtwdemo_subsystem',...
'Mode','ExportFunctionCalls','ExportFunctionInitializeFunctionName','subsysinit')

初期化関数名 subsysinit が、rtwdemo_subsystem_ert_rtw/ert_main.c に表示されます。

モデル rtwdemo_mdlreftop_witherr のコードの生成中および並列ビルドの実行中に、[ビルド ステータス] ウィンドウにビルド情報を表示します。

rtwbuild('rtwdemo_mdlreftop_witherr', ...
    'OpenBuildStatusAutomatically',true)

入力引数

すべて折りたたむ

コードを生成する、または実行可能イメージをビルドするモデルです。オブジェクトまたはモデル名を表す文字ベクトルとして指定します。

例: 'rtwdemo_exporting_functions'

コードを生成する、または実行可能イメージをビルドするサブシステムです。サブシステム名または絶対ブロック パスを表す文字ベクトルとして指定します。

例: 'rtwdemo_exporting_functions/rtwdemo_subsystem'

名前と値のペアの引数

オプションのコンマ区切りされた Name,Value の引数ペアを指定します。ここで、Name は引数名、Value は対応する値です。Name は一重引用符で囲まなければなりません。名前と値のペアの引数は、Name1,Value1,...,NameN,ValueN のように任意の順番で複数指定できます。

例: rtwbuild('rtwdemo_mdlreftop','ForceTopModelBuild',true)例: rtwbuild(subsystem,'Mode','ExportFunctionCalls','ExportFunctionInitializeFunctionName', fcnname)

true または false として指定された、最上位モデル コードの強制的な再生成です。

アクション指定
参照モデルを含むシステムの最上位モデルのコードをコード ジェネレーターで強制的に再生成する true
モデルおよびモデル パラメーターの変更に基づいて最上位モデルのコードを再生成するかどうかを、コード ジェネレーターが決定するよう指定 false

カスタム ターゲット用のコードなどの外部またはカスタム コードに関連する項目を変更した場合は、最上位モデル用のコードを強制的に再生成させることを考慮します。たとえば、変更を行った場合は、ForceTopModelBuildtrue に設定します。

  • TLC コード

  • rtwmakecfg.m ファイルを含む S-Function ソース コード

  • 統合されたカスタム コード

コード生成フォルダー (たとえば slprj または生成モデル コード フォルダー) を削除することによって、最上位モデル コードを強制的に再生成することもできます。

診断ビューアーからのエラー メッセージを表示します。true または false で指定されます。

アクション指定
ビルド エラー メッセージを診断ビューアーとコマンド ウィンドウに表示するtrue
ビルド エラー メッセージをコマンド ウィンドウにのみ表示するfalse

値を指定しない場合、[コード生成] ペインの [コード生成のみ] (GenCodeOnly) オプションはビルド プロセスの動作を制御します。

値を指定すると、引数は [コード生成] ペインの [コード生成のみ] (GenCodeOnly) をオーバーライドします。

アクション指定

コードのみを生成する。

true

コードを生成して実行可能ファイルをビルドする。

false

Embedded Coder をお持ちの場合は、外部アプリケーション コードにエクポートできる関数呼び出しを含む subsystem からコードが生成されます。

指定したサブシステムに対してエクスポートされた初期化関数に名前を付けます。

ビルド情報を [ビルド ステータス] ウィンドウに表示します。true または false として指定します。[ビルド ステータス] ウィンドウの使用方法の詳細については、参照モデルの並列ビルドのモニターを参照してください。

[ビルド ステータス] ウィンドウは参照モデルの階層構造の並列ビルドをサポートします。シリアル ビルドに [ビルド ステータス] ウィンドウを使用しないでください。

アクション指定
ビルド情報を [ビルド ステータス] ウィンドウに表示true
アクションなしfalse

難読化された C コードを生成するかどうかを true または false として指定します。

アクション指定
知的所有権が侵害される可能性が低くなる、サードパーティと共有可能な難読化された C コードを生成します。true
アクションなし。false

モデル参照シミュレーション ターゲットをビルドするオプション。'IncludeModelReferenceSimulationTargets' および true または false で構成されるコンマ区切りのペアとして指定します。

データ型: logical

出力引数

すべて折りたたむ

生成されたサブシステム コード用に作成された SIL ブロックへのハンドルです。次の両方の条件が満たされた場合のみ、返されます。

  • Embedded Coder ソフトウェアを使用するライセンスを持っている。

  • [ブロックの作成] モデル コンフィギュレーション パラメーターが [SIL] に設定されている。

ヒント

以下の方法でコード生成およびビルド プロセスを開始できます。

  • Ctrl+B キーを押す。

  • [コード][C/C++ コード][モデルのビルド] を選択する。

  • MATLAB コマンド ラインから slbuild コマンドを実行する。

互換性についての考慮事項

すべて展開する

R2020b での動作変更

拡張機能

R2009a で導入