AUTOSAR コンポジションおよびコンポーネントの追加とコンポーネント実装のリンク
AUTOSAR アーキテクチャ モデルを作成した後は、AUTOSAR ソフトウェア設計の最上位レベルの作成を始めます。コンポジション エディターと Simulink® ツールストリップの [モデル化] タブを使用して、AUTOSAR コンポジションおよびコンポーネントを追加し、接続します。
前の手順で、ローカルの作業フォルダー例を開いて空の AUTOSAR アーキテクチャ モデルを作成しました。必要な場合は、この手順を繰り返し、作業フォルダーを開いて空のモデルを作成します。
スロットル位置制御アプリケーションを作成するときに、最終結果を示すモデル例 autosar_tpc_composition
を参照できます。
アーキテクチャ キャンバスへのコンポジションとコンポーネントの追加
通常、AUTOSAR コンポジションには、共通の目的をもつ一連の AUTOSAR コンポーネントとコンポジションが含まれます。スロットル位置制御アプリケーションの作成の一環として、このチュートリアルでは 4 つのセンサー コンポーネントをセンサー コンポジション内に配置します。ツールストリップの [プラットフォーム] の選択を [Classic Platform] に設定すると、モデルが Classic アーキテクチャのモデル化用に構成されることに注意してください。
センサー コンポジションとそのコンポーネントを AUTOSAR アーキテクチャ モデルに追加するには、以下を行います。
アーキテクチャ モデル キャンバスで、Software Composition ブロックを追加し、Sensors という名前を付けます。たとえば、[モデル化] タブで [ソフトウェア コンポジション] を選択し、キャンバスに Software Composition ブロックを挿入します。強調表示された名前フィールドに
Sensors
と入力します。コンポジションを追加するには、Software Composition ブロックを開き、ソフトウェア コンポーネントを追加します。
Sensors ブロックを開き、モデル キャンバスにコンポジションの内容が表示されるようにします。コンポジション内に、TPS_Primary、TPS_Secondary、Monitor、および PedalSensor という名前の AUTOSAR ソフトウェア コンポーネントを追加します。たとえば、[モデル化] タブで [Classic コンポーネント] を選択して 1 つずつ作成できます。
次に、要求側ポートと提供側ポートをコンポーネントに追加してから、コンポーネント ポートを他のコンポーネント ブロックまたはコンポジションのルート端子に接続します。コンポーネントの要求側ポートと提供側ポートを追加するために、このチュートリアルでは Software Component ブロックを、ポートが既に定義されている実装モデルにリンクします。
実装モデルをリンクしてコンポーネントの動作を定義
AUTOSAR アプリケーションの動作はその AUTOSAR ソフトウェア コンポーネントで定義されます。AUTOSAR アーキテクチャ モデルへの Software Component ブロックの挿入が終わると、Simulink の動作をコンポーネントに追加できるようになります。各 Software Component ブロックでは、以下を実行できます。
ブロック インターフェイスに基づいてモデルを作成する。
実装モデルにリンクする。
AUTOSAR XML (ARXML) コンポーネント記述からモデルを作成する。
このチュートリアルでは、わかりやすくするために、AUTOSAR コンポーネントごとに 1 つの Simulink 実装モデルを提供しています。
TPS_Primary コンポーネント用の
autosar_tpc_throttle_sensor1.slx
TPS_Secondary コンポーネント用の
autosar_tpc_throttle_sensor2.slx
Monitor コンポーネント用の
autosar_tpc_throttle_sensor_monitor.slx
PedalSensor コンポーネント用の
autosar_tpc_pedal_sensor.slx
Simulink 動作をコンポーネントに追加するには、以下を実行します。
アーキテクチャ モデルで、Sensors コンポジション ブロックがまだ開いていない場合は開きます。コンポジション内で、各 AUTOSAR センサー コンポーネントを、その動作を実装する Simulink モデルにリンクします。
たとえば、TPS_Primary コンポーネント ブロックを選択し、表示される省略記号にカーソルを合わせ、キュー [モデルにリンク] を選択します。
[モデルにリンク] ダイアログ ボックスで、実装モデル
autosar_tpc_throttle_sensor1.slx
を参照します。コンポーネントを実装モデルにリンクするには、[OK] をクリックします。
コンポーネント TPS_Secondary、Monitor、および PedalSensor をその実装モデルにリンクします。各モデルをリンクしたら、コンポーネント ポートが見やすいよう、対応するコンポーネント ブロックのサイズを変更できます。
Software Component ブロックを指定した実装モデルにリンクすると、ブロックとモデル インターフェイスが一致するように更新されます。ルートの Inport ブロックおよび Outport ブロックを使用するモデルにリンクした場合、モデルの信号端子はバス端子に変換されます。モデル コンテンツを表示するには、コンポーネント ブロックを開きます。
コンポーネントを相互に接続し、コンポジションのルート端子にも接続します。
コンポーネントを相互に接続するには、コンポーネント提供側ポートから別のコンポーネントの受信側ポートに線をドラッグします。
コンポーネントを Sensors コンポジションのルート端子に接続するには、コンポーネント ポートから Sensors コンポジションの境界へドラッグします。
オプションで、モデル例
autosar_tpc_composition
のルート端子の名前を完全に一致させるために、端子の名前TPS_HwIO
およびTPS_HwIO1
をTPS1_HwIO
およびTPS2_HwIO
に変更します。
アーキテクチャ モデルの最上位レベルの完了
スロットル位置制御アプリケーションを完了するには、以下を行います。
アーキテクチャ モデルの最上位レベルに戻ります。2 つの Classic Component ブロックを追加して、Ctrl および Actuator という名前を付けます。
AUTOSAR コンポーネント Ctrl と Actuator をその Simulink 実装モデル
autosar_tpc_controller.slx
とautosar_tpc_actuator.slx
にリンクします。Sensors コンポジション、Ctrl コンポーネント、Actuator コンポーネントを相互に、またアーキテクチャ モデルの境界に接続します。
インターフェイスやデータ型の問題をチェックするには、アーキテクチャ モデルを更新します。[モデル化] タブで [モデルの更新] を選択します。問題が見つかった場合、そのモデルをモデル例
autosar_tpc_composition
と比較します。モデルに固有の名前 (
myTPC_Composition.slx
など) を付けて保存します。
次に、AUTOSAR アーキテクチャ モデルで集約されたコンポーネントの動作をシミュレーションします。