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

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

このタスクについて

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

手順

Rational Rhapsody で Simulink の S-Function を作成し、これを Simulink で使用するには、次の手順を行います。

  1. Rational Rhapsody プロジェクトを作成します。
  2. プロジェクトに Simulink プロファイルをインポートします。
  3. 構成を作成し、S-FunctionConfig ステレオタイプを適用します。
  4. 新しく作成した構成を、アクティブ構成に設定します。
  5. クラスを作成し、S-FunctionBlock ステレオタイプを適用します。
  6. このクラスに、着信データを処理するための着信フロー・ポートを追加します。
  7. このクラスに、発信データを処理するための発信フロー・ポートを追加します。
  8. 追加した各フロー・ポートに対し、フロー・ポートを示す属性をクラスに追加します。この属性の名前とタイプは、対応するフロー・ポートと同じでなければなりません。
  9. このクラスのステートチャートを実装します。
  10. 作成した構成に対応するコードを生成します。
  11. この構成の出力ディレクトリーに、以下のものを含めます。
    • このモデル用に生成されたソース・ファイル
    • Rational Rhapsody フレームワーク・ファイル (Rational Rhapsody IDF フレームワークに含まれるファイル)
    • Simulink の C テンプレート・ファイル。RhapsSFunc_(ブロックに指定した名前).c
    • mex オプション・ファイル。MexOpts.txt
    • S-Function ブロックを表す、Simulink モデル・ファイル。RhapSFunc_(ブロックに指定した名前)_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 を表す要素とともにクロック要素を確認することができます。


フィードバック