CruiseControlSystem シミュレーション例に従って、動的モデルのシミュレーションをアクティブ化および実行できます。
始める前に
Simulink コンポーネントを Rational® Rhapsody® モデルに統合するには、以下のソフトウェアが必要です。
- Matlab (Matlab 7) が Simulink (バージョン 6) と Real-Time Workshop コンポーネント (Simulink モデルから C および C++ のコードを生成する) とともに使用可能で、ライセンスを受けている必要があります。
- Rational Rhapsody 製品のバージョン 7.0 以降。
手順
- C または C++ の新規または既存の Rational Rhapsody モデルを開きます。
- オプション: SysML プロファイルを追加します。
- 「Simulink」または「SimulinkInC」(プロファイルの言語が C の場合) を追加します。
- いくつかの新規ブロックを作成し、各ブロックに「SimulinkBlock」ステレオタイプを指定します。
これらのブロックは連続サブシステムを表します。
- 各「SimulinkBlock」を右クリックし、「Simulink モデルのインポート/同期」を選択します。

- 「Simulink モデルのインポート/同期」で、Simulink モデルの場所を選択し、「インポート/同期」ボタンをクリックします。

- いくつかの新規ブロックを作成して、それぞれの振る舞いを実装します。これらのブロックは、離散的サブシステムです。
- ビルダー・ブロックになる新規ブロックを 1 つ作成し、「SimulinkStructureBlock」ステレオタイプを割り当てます。
- 「SimulinkStructureBlock」の「フィーチャー」ダイアログを開いて、「タグ」タブを開き、
Simulink シミュレーションに必要な情報を入力します。

- 「SimulinkStructureBlock」に「内部ブロック図」(IBD) を作成し、
Rhapsody および SimulinkBlock の各パーツを追加し、
コネクター (リンク) を介してパーツ のフロー・ポート を接続します。

- 「SimulinkStructureBlock」または「内部ブロック図」(IBD) 内を右クリックし、
「Simulink」サブメニューの 4 つのオプションのいずれかを選択します。
- 生成: 「SimulinkStructureBlock」を Simulink モデルとして生成します。
Rhapsody によって生成されたコードは、トレース/アニメーション設定されません。
- 生成およびシミュレート (Generate and Simulate): 「SimulinkStructureBlock」を Simulink モデルとして生成し、Simulink シミュレーションを自動的に開始します。
- アニメーション用に生成 (Generate for Animation): 「SimulinkStructureBlock」を Simulink モデルとして生成します。
Rhapsody ブロックのアニメーションのみを表示できます。
- アニメーション用に生成およびシミュレート (Generate and Simulate for Animation): 「SimulinkStructureBlock」を Simulink モデルとして生成し、
Simulink シミュレーションを自動的に開始します。

結果として Matlab が開き、新規 SFunction が作成およびコンパイルされ、「SimulinkStructureBlock」を表す新規 Simulink モデルが表示されます。
SimulinkBlock、PropFeedback、および EnvironmentReaction は通常の Simulink サブシステムとして存在しています。
すべての Rhapsody ブロックは 1 つの SFunction に変換されており、
これは Rhapsody によって生成されたコードで実装されています。

タスクの結果
これで、Simulink でシステムをシミュレートできるようになりました。
左側のスコープ・イメージは desiredSpeed シミュレーションの例を示しており、右側のイメージは actualSpeed シミュレーションの例を示しています。
