CruiseControlSystem のシミュレーション例

CruiseControlSystem シミュレーション例に従って、動的モデルのシミュレーションをアクティブ化および実行できます。

始める前に

Simulink コンポーネントを Rational® Rhapsody® モデルに統合するには、以下のソフトウェアが必要です。
  • Matlab (Matlab 7) が Simulink (バージョン 6) と Real-Time Workshop コンポーネント (Simulink モデルから C および C++ のコードを生成する) とともに使用可能で、ライセンスを受けている必要があります。
  • Rational Rhapsody 製品のバージョン 7.0 以降。

手順

  1. C または C++ の新規または既存の Rational Rhapsody モデルを開きます。
  2. オプション: SysML プロファイルを追加します。
  3. 「Simulink」または「SimulinkInC」(プロファイルの言語が C の場合) を追加します。
  4. いくつかの新規ブロックを作成し、各ブロックに「SimulinkBlock」ステレオタイプを指定します。 これらのブロックは連続サブシステムを表します。
  5. 「SimulinkBlock」を右クリックし、「Simulink モデルのインポート/同期」を選択します。

    「時間イベント受理」ボタン

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

    「時間イベント受理」ボタン

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

    「時間イベント受理」ボタン

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

    「時間イベント受理」ボタン

  11. 「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 モデルが表示されます。 SimulinkBlockPropFeedback、および EnvironmentReaction は通常の Simulink サブシステムとして存在しています。 すべての Rhapsody ブロックは 1 つの SFunction に変換されており、 これは Rhapsody によって生成されたコードで実装されています。

    「時間イベント受理」ボタン

タスクの結果

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

「時間イベント受理」ボタン


フィードバック