メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

スロットル位置制御システムのソフトウェア アーキテクチャのモデル化

この例では、System Composer™ でスロットル位置制御システムのソフトウェア アーキテクチャを作成し、そのコンポーネントからの関数の実行順序をスケジュールしてシミュレートし、コードを生成する方法を説明します。

スロットル制御のコンポジション

この例では、System Composer で 6 つのコンポーネントを使用してスロットル位置制御システムのソフトウェア アーキテクチャをモデル化します。スロットル位置制御コンポーネントは、スロットル位置とペダル位置を読み取り、新しいスロットル位置を出力します。2 つのスロットル位置センサー コンポーネントはスロットルの現在の位置を提供し、ペダル位置センサー コンポーネントは適用されたペダル位置を提供します。コントローラー コンポーネントはこれらの信号を使用して、新しいスロットル位置をパーセント値として特定します。アクチュエータ コンポーネントは、そのパーセント値をハードウェアに適した値に変換します。

model = systemcomposer.openModel('ThrottleControlComposition');

アーキテクチャ レベルでのモデルのシミュレーション

ソフトウェア アーキテクチャ モデルをシミュレートします。

sim('ThrottleControlComposition');

コンポーネントからの関数のリストを表示し、それらの実行順序などのプロパティを編集するには、関数エディターを使用します。関数エディターを開くには、[モデル化] タブの [設計] セクションで [関数エディター] をクリックします。関数エディターの詳細については、Simulate and Deploy Software Architecturesを参照してください。

システム レベルでのモデルのシミュレーション

スロットル本体を含むスロットル制御システムをシミュレートするには、Model ブロックを使用してシステム モデルでソフトウェア アーキテクチャ モデルを参照します。ThrottleControlSystem モデルには、ソフトウェア アーキテクチャの関数のより複雑なスケジューリングをモデル化するための Stateflow® Chart ブロックも含まれています。

この機能を使用するには Stateflow ライセンスが必要です。

open_system('ThrottleControlSystem');

プラントと Stateflow スケジューラを含むシステム モデルをシミュレートするには、次のコマンドを使用します。

sim('ThrottleControlSystem');

ソフトウェア アーキテクチャ内のコンポーネント タイプの表示

ソフトウェア アーキテクチャ内の一意のコンポーネント タイプを表示するには、クラス ダイアグラム ビューを作成してすべてのコンポーネントを追加します。クラス ダイアグラム ビューを作成するには、[モデル化] タブの [ビュー] セクションで [アーキテクチャ ビュー] をクリックし、[新規] をクリックして新しいクラス ダイアグラムを作成します。ビュー ギャラリーの [ダイアグラム] セクションから [クラス ダイアグラム] を選択します。リストから [コンポーネント フィルターの追加][すべてのコンポーネントを選択] を選択し、ソフトウェア アーキテクチャ内のすべてのコンポーネントをビューに追加します。

クラス ダイアグラムにメソッドを入力するには、ソフトウェア アーキテクチャ モデルをコンパイルする必要があります。モデルをコンパイルするには、[モデル化][モデルの更新] に移動します。

詳細については、Class Diagram View of Software Architecturesを参照してください。

コード生成

制御システムをターゲット ハードウェアに展開するコードを生成できます。コード生成には Embedded Coder® ライセンスが必要です。ThrottleControlComposition モデルを開き、slbuild コマンドを実行するか "Ctrl+B" を押してモデルをビルドし、コードを生成します。

slbuild('ThrottleControlComposition');

生成されたコードには、ソフトウェア アーキテクチャ内のコンポーネントの関数ごとにエントリポイント関数が含まれます。エクスポート関数モデル用のコード生成の詳細については、エクスポート関数モデルのコードの生成を参照してください。

Copyright 2020-2021 The MathWorks, Inc.

参考

| | | |

トピック