Real-Time Workshop User's Guide | ![]() ![]() |
Real-Time Workshopのオープンアーキテクチャ
Real-Time Workshopは、広範囲な操作環境とハードウェアタイプで使用するために設計された、オープンシステムです。Real-Time Workshopの主な要素を変更および拡張するための多くの方法があります。図 2-3にそれらの要素を示します。
図 2-3: Real-Time Workshopのアーキテクチャ
以下の要素を変更することにより、Real-Time Workshopプログラム生成プロセスをユーザのニーズに応じて設定することができます。
model
.mdl
)Simulinkは、高水準言語(VHLL)開発環境を提供します。言語要素は、アルゴリズムを視覚的に具体化するブロックおよびサブシステムです。Real-Time Workshopは、VHLLソースプログラム(model
.mdl
)を処理するコンパイラとして考えることができ、従来の高水準言語(HLL)コンパイラに対して適したコードを生成します。
CまたはAdaで書かれたS-ファンクション を使い、新規の一般的な目的のブロックを追加したり、ブロックに既存のコードを組み込むことによって、SimulinkのVHLLを拡張することができます。
model
.rtw
)コード生成プロセスの初期段階は、ソースモデルを解析することです。結果を記述するファイルには、システムとブロックおよびそれらの接続の記述が階層構造のになっています。
S-ファンクションAPIには、特殊な関数 mdlRTW
が含まれます。これは、ユーザ自身のブロックからmodel
.rtw
ファイルにパラメータデータを挿入することにより、コード生成プロセスをカスタマイズします。
Target Language Compilerは、中間モデルの記述を読み込み、モデルをプログラムとして実現するためのコードを生成するプログラムを解釈します。
TLCプログラムの要素を、2種類の方法でカスタマイズできます。第一には、コード生成パラメータすべてを制御するユーザ独自のシステムターゲットファイルを実現することができます。第二には、ユーザ独自のS-functionブロックのような個々のブロックからどのようにコードが生成されかを制御するブロックターゲットファイルを実現することができます。
生成コードのカスタマイズやカスタムコードとのインタフェースを作成する数種類の方法があります。
ランタイムインタフェース は、コードと生成モデルコードとのインタフェースで構成されます。以下を含むカスタムランタイムインタフェースファイルを作成できます。
model
.mk
A makefile, model
.mk
は、生成コードのコンパイルとリンクを制御します。Real-Time Workshopは、コード生成/ビルドプロセス中にテンプレートmakefileからmodel
.mk
を生成します。コンパイラオプションやmake
プロセスのその他の変数を制御するカスタムテンプレートmakefileを作成することができます。
これらのすべてのコンポーネントは、Simulinkモデルを実行プログラムに変換するプロセスに寄与します。つぎの節は、このプロセスの概要です。
![]() | 制御システムに対するラピッドプロトタイピング | 自動プログラムビルド | ![]() |