Main Content

ビルド プロセス

ビルド プロセスの概要

TLC はターゲット言語で記述されたファイルをコンパイルします。ターゲット言語はインタープリター型言語であり、コンパイラは実行するたびにソース ファイルに対して動作します。ターゲット ファイルを変更し、モデルの次回のビルド時にその変更の効果を調べることができます。変更を確認するために、TLC バイナリや他の大規模なバイナリを再コンパイルする必要はありません。

ターゲット言語はインタープリター型言語であるため、一部のステートメントはコンパイルされない、または実行されない (したがって、コンパイラでチェックされない) ことがあります。次に例を示します。

%if 1
   Hello
%else
   %<Invalid_function_call()>
%endif

この例では、Invalid_function_call ステートメントは実行されません。この例は、すべての行を実行するテスト ケースを使用して TLC コードをテストする必要があることを強く示唆しています。

ターゲット言語ファイルの作成と使用

この例では、モデルから特定のテキストを生成するターゲット言語ファイルを作成します。独自のターゲット言語ファイルを作成して使用する際に従う必要がある一連の手順が示されています。

プロセス

まず、次の図に示されているように Simulink® モデルを作成します。

  1. 新しいモデルを作業フォルダーに basic として保存します。

  2. [コンフィギュレーション パラメーター] ダイアログ ボックスを表示します。

  3. [ソルバー] ペインを選択します。

  4. [ソルバー] ペインで以下を行います。

    1. [タイプ] フィールドで [固定ステップ] を選択します。

    2. [ソルバー] フィールドで、[離散 (連続状態なし)] を選択します。

    3. [追加オプション][固定ステップ サイズ] フィールドで [0.1] を指定します。(この値を指定しないと、コードを生成する際にコード ジェネレーターで警告が出され、既定値が提供されます。)

  5. [適用] をクリックします。

  6. [コード生成] ペインを選択します。

  7. [.rtw ファイルを残す] を選択してから、[適用] をクリックします。この手順により、ビルドの完了後に model.rtw ファイルの内容を検査できるようになります。

  8. [コード生成のみ] を選択してから、[OK] をクリックします。

  9. モデルをビルドします。

ビルド プロセスでは basic_grt_rtw フォルダーにコードが生成されます。MATLAB® コマンド ウィンドウで進行状況を確認できます。コード生成が完了すると、以下のメッセージが表示されます。

### Successful completion of code generation for model: basic

slbuild コマンド

モデル ウィンドウで Ctrl+B を押して slbuild を呼び出します。ただし、一部の状況では、MATLAB プロンプトから slbuild を直接実行する必要があります。

model.rtw ファイルを MATLAB プロンプトから生成するには、以下を入力します。

slbuild('model')

slbuild へのその他のオプションを指定し、モデル参照シミュレーション ターゲットまたはスタンドアロン実行可能ファイルをビルドまたはリビルドすることができます。詳細については、以下を入力してください。

help slbuild

これは MATLAB プロンプトで入力します。あるいは、Simulink ドキュメンテーションで slbuild を参照してください。

basic.rtw ファイルの表示

model.rtw ファイルには、ラベル付けされたレコードおよびフィールドの階層が含まれます。各レコードは大かっこで区切られ、下位のレコード/フィールドが含まれます。ラベルは、各レコードおよびフィールドの目的を記述します。モデルに対して作成された model.rtw ファイル内のレコードおよびフィールドは、モデルの各種詳細およびそのコンテキストを指定する [コンフィギュレーション パラメーター] の設定を記述します。

MATLAB またはテキスト エディターでファイル ./basic_grt_rtw/basic.rtw を開きます。

ターゲット ファイルの作成

メモ

以下の演習は、.rtw ファイルがビルド プロセスでどのように使用されるのかに関する概念的な概要を示しています。コード ジェネレーターでは、以前のビルドで作成された .rtw ファイルでの TLC の手動呼び出しはサポートされていません。また、.rtw ファイルの内容はドキュメント化されておらず、変更される可能性があります。basic.tlc ファイルは、TLC ファイルからアクセスしてビルド プロセスの一部として実行できる .rtw ファイルで情報がどのように提供されるのかを示します。

次に、このモデルのターゲット ファイルの役割を果たす basic.tlc ファイルを作成します。コードを生成するのではなく、このファイルを使用してモデルに関する一部の情報を単に表示します。概念はコード生成で使用されるものと同じです。

basic が含まれているフォルダーに basic.tlc というファイルを作成します。このファイルには以下の行が含まれている必要があります。

%with CompiledModel  

My model is called %<Name>.
It was generated on %<GeneratedOn>.
It has %<NumModelOutputs> output(s) and %<NumContStates> continuous state(s).

%endwith

メモ

ビルド プロセスで、TLC の呼び出し時にコマンド ラインで指定される .tlc ファイル (たとえば、grt.tlc) は、システム ターゲット ファイル (STF) と呼ばれます。これは、[コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成] ペインで [システム ターゲット ファイル] ブラウザー オプションを使用して選択できます。

この例では、ビルド プロセスの一部として .rtw ファイルを生成してから、STF の例としてファイル basic.tlc を使用して TLC を手動で実行します。basic.tlc は、例の出力を生成するために (機能に制限はあるものの) .rtw ファイルの情報がどのように使用されるのかを示します。これを行うには、MATLAB プロンプトで以下を入力します。

set_param(0, 'RTWDataReferencesMinSize',10)
slbuild('basic') 
tlc -r basic_grt_rtw/basic.rtw basic.tlc -v

最初の行により、ビルド フォルダー 'basic_grt_rtw'.rtw ファイルが生成されます。前の手順でファイルを既に生成したため、この手順は不要です。ただし、モデルを変更し、操作を繰り返す必要がある場合には役立ちます。

2 行目により、ファイル basic.tlc で TLC が実行されます。-r オプションは、ファイル basic.rtw.rtw ファイルとして使用するように TLC に指示しています。-r と入力ファイル名をスペースで区切る必要があることに注意してください。-v オプションは、アクティビティのレポートで詳細に出力するように TLC に指示しています。

このコマンド ペアの出力は以下のとおりです。(日付は異なります)。

My model is called basic.
It was generated on Wed Jun 22 20:51:11 2005.
It has 1 output(s) and 0 continuous state(s).

また、(たとえば、Constant ブロックの値として rand(2,2) を使用して) モデルを変更してから、プロセスを繰り返して TLC の出力の変化を確認することもできます。

関連するトピック