Real-Time Workshop User's Guide    

S-ファンクションを使ったモデル化

Real-Time Workshop Ada Coderは、現在は非インラインS-ファンクションをサポートしません。しかし、AdaまたはC S-ファンクションを使ってモデルに対するAdaコードを生成することは可能です。そのためには、ユーザS-ファンクションのアルゴリズムを組み込んだTLCファイルを作成する必要があります。

つぎの例は、TLCファイルを作成して簡単なAda S-ファンクションをインラインする方法を示しています。TLCファイルの作成に関する詳細は、Target Language Compiler Reference Guideを参照してください。

つぎのブロックを使ってモデルtimes2を作成します。

モデルは、つぎの図のように表示されます。

times2モデルは、入力と正弦波信号をもちその振幅を2倍するtimestwoと呼ばれるシンプルなS-ファンクションを含んでいます。S-ファンクションに対応するTLCファイルを以下に示します。

このTLCファイルの重要な行は、LibBlockInputSignalの2倍をLibBlockOutputSignalに割り当てる行です。この行は、Target Language Compilerにアルゴリズムを直接生成Adaコードに置くように指示します。

このTLCファイルは、
matlabroot/toolbox/simulink/blocks/tlc_ada/timestwo.tlcにあります。

Adaコードの生成

ビルドプロセスは、ユーザモデルがS-ファンクションを含まない場合と同じです。S-ファンクションを含むモデルに対するAdaコードの生成において必要な唯一の追加は、S-ファンクションと同じ名前のTLCファイルを与えることです。そうでない場合は、ビルド手順は全く同じです。


 始めましょう テンプレートMakeファイルの設定