Rational Rhapsody を使用した Simulink S-Function の作成

IBM® Rational® Rhapsody® を使用して、Simulink の S-Function を作成し、作成した S-Function を Simulink モデルに接続することができます。

このタスクについて

このフィーチャーは、IBM Rational Rhapsody Developer for C でのみ適用可能です。

手順

  1. Rational Rhapsody プロジェクトを作成します。
  2. プロジェクトに Simulink プロファイルをインポートします。
  3. 構成を作成し、S-FunctionConfig ステレオタイプを適用します。
  4. 新しく作成した構成を、アクティブ構成に設定します。
  5. クラスを作成し、S-FunctionBlock ステレオタイプを適用します。
  6. このクラスに、着信データを処理するための着信フロー・ポートを追加します。
  7. このクラスに、発信データを処理するための発信フロー・ポートを追加します。
  8. 追加した各フロー・ポートに対し、フロー・ポートを示す属性をクラスに追加します。この属性の名前とタイプは、対応するフロー・ポートと同じでなければなりません。
  9. このクラスのステートチャートを実装します。
  10. 作成した構成に対応するコードを生成します。
  11. この構成の出力ディレクトリーに、以下のものを含めます。
    • このモデル用に生成されたソース・ファイル
    • Rational Rhapsody フレームワーク・ファイル (Rational Rhapsody IDF フレームワークに含まれるファイル)
    • RhapsSFunc_the_name_you_gave_to_the_block.c という名前の Simulink C テンプレート・ファイル (例えば、RhapsSFunc_BlockSFA.c)
    • MexOpts.txt という名前の mex オプション・ファイル
    • the_name_you_gave_to_the_block_Model.mdl という名前の S-Function ブロックを表す Simulink モデル・ファイル (例えば、RhapsSFunc_BlockSFA_Model.mdl)
  12. MATLAB を開き、Rational Rhapsody コードが含まれている出力ディレクトリーに移動します。
  13. コマンド mex @MexOpts.txt を実行します。

タスクの結果

S-Function の出力の作成

S-FunctionConfig 構成用のコードを生成すると、 Rational Rhapsody は以下のアクションを実行します。

Rational Rhapsody が生成した mex オプション・ファイルを使用して mex コマンドを実行すると、Simulink が使用できるバイナリー・ファイルを MATLAB MEX コンパイラーが作成します。

タイミングと S-Function

時間関連のイベントについては、Rational Rhapsody は、ターゲットのオペレーティング・システムのタイミング・メカニズムを使用します。Simulink には独自のタイミング・メカニズムがあるため、Rational Rhapsody は S-Function コードを生成する際に、この点を考慮に入れます。Simulink クロックが入力として S-Function に追加されます。これは、Rational Rhapsody ではユーザーに表示されませんが、結果ファイルが Simulink にインポートされるため、ユーザーは、定義された S-Function を表す要素とともにクロック要素を確認することができます。


フィードバック