Main Content

AUTOSAR 関数抑止のサービス呼び出しの構成とシミュレーション

参照実装を使用して、基本ソフトウェアの関数抑止および関連するサービスへの AUTOSAR コンポーネント呼び出しをシミュレーションします。

AUTOSAR 基本ソフトウェア サービスの呼び出しの構成

AUTOSAR 規格には、AUTOSAR ランタイム環境で実行される基本ソフトウェア (BSW) サービスが定義されています。サービスには Diagnostic Event Manager (Dem) サービス、Function Inhibition Manager (FiM) サービスおよび NVRAM Manager (NvM) サービスがあります。AUTOSAR ランタイム環境では、AUTOSAR ソフトウェア コンポーネントは通常、クライアント/サーバー通信または送信側/受信側通信を使用して BSW サービスにアクセスします。

AUTOSAR ソフトウェア コンポーネント モデルで FiM および関連する Dem サービス インターフェイスへのクライアント呼び出しを実装するには、事前構成済みの FiM および Dem 呼び出し側ブロックをドラッグ アンド ドロップします。[Client port name][Operation] などの各ブロックのパラメーターには、値が事前に入力されています。ブロック パラメーターを構成することで、たとえば、呼び出すサービス オペレーションを選択します。AUTOSAR ソフトウェア コンポーネントに追加された Caller ブロックを構成するには、モデルを同期します。ソフトウェアで AUTOSAR クライアント サービス インターフェイス、オペレーションおよびポートが作成され、各 Simulink 関数呼び出しが AUTOSAR クライアント ポートとオペレーションにマッピングされます。詳細については、AUTOSAR Function Inhibition Manager サービスの呼び出しの構成を参照してください。

2 つのセンサー コンポーネント、1 つのモニター コンポーネントおよび 1 つのオペレーション サイクル コンポーネントを統合する関数抑止統合モデルを次に示します。センサー コンポーネントは BSW FiM サービスと Dem サービス (および NvM サービス) を呼び出し、モニター コンポーネントは BSW FiM サービスと Dem サービスを呼び出し、オペレーション サイクル コンポーネントは BSW Dem サービスを呼び出します。

センサー コンポーネントとモニター コンポーネントはそれぞれ、FiM サービス インターフェイス FunctionInhibition を呼び出します。この呼び出しは、BSW ライブラリ ブロック Function Inhibition Caller を使用して実装されます。各ブロック インスタンスは、FunctionInhibition オペレーション GetFunctionPermission を呼び出すよう構成されています。

オペレーション サイクル コンポーネントは Dem サービス インターフェイス OperationCycle を呼び出します。この呼び出しは、BSW ライブラリ ブロック DiagnosticOperationCycleCaller を使用して実装されます。このブロックは、OperationCycle オペレーション SetOperationCycleState を呼び出すよう構成されています。

AUTOSAR 基本ソフトウェア サービスの参照実装のシミュレーション用の構成

BSW サービスを呼び出す AUTOSAR コンポーネント モデルのシミュレーションを実行するには、含まれるコンポジション、システムまたはハーネス モデルを作成します。その含まれるモデルで、コンポーネントによって呼び出される Dem サービス オペレーション、FiM サービス オペレーションおよび NvM サービス オペレーションの参照実装を提供します。

AUTOSAR Basic Software ブロック ライブラリには、Diagnostic Service Component ブロックと NVRAM Service Component ブロックが含まれます。これらのブロックは、Dem サービス オペレーション、FiM サービス オペレーションおよび NvM サービス オペレーションの参照実装を提供します。Dem サービス、FiM サービス、および NvM サービスに対するコンポーネント呼び出しのシミュレーションをサポートするには、含まれているモデル内にこれらのブロックを含めます。ブロックは次の 2 つの方法のいずれかで挿入できます。

  • Simulink Test ハーネス モデルを作成することにより、自動的にブロックを挿入する。

  • 含まれるコンポジション、システムまたはハーネス モデルに手動でブロックを挿入し、モデルを更新する。

Diagnostic Service Component ブロックと NVRAM Service Component ブロックを手動で挿入した後の関数抑止の統合モデルを次に示します。関数接続を表示するには、[デバッグ] タブで [情報のオーバーレイ]、[関数コネクタ] を選択します。

open_system('autosar_bsw_fim');

Diagnostic Service Component ブロックのパラメーターには、RTE サービス ID パラメーター、Dem の [Counter-Based Debouncing] パラメーターおよび FiM 抑止条件パラメーターなど、事前に値が入力されているパラメーターがあります。RTE タブには、イベント、オペレーション サイクルまたは抑止条件付きの関数について、コンポーネント クライアント ポートと Dem または FiM サービス ID へのマッピングがリストされます。テーブルの各列は、基本ソフトウェアの呼び出し側ブロックから Dem サービスまたは FiM サービスへの呼び出しを表し、ID 値を変更できます。

FIM タブには、関数識別子 (FID) とそれらの関連付けられている抑止条件とクライアント ポートがリスト表示されます。タブには選択した FID の抑止条件を追加または削除するためのグラフィカル コントロールが備わっています。抑止条件ごとに、ID とマスク値を選択します。

詳細については、AUTOSAR Function Inhibition Manager サービスの呼び出しの構成を参照してください。

AUTOSAR FiM および Dem サービスへの呼び出しのシミュレーション

統合モデル内の Diagnostic Service Component ブロックと NVRAM Service Component ブロックを構成してから、モデルをシミュレーションします。シミュレーションでは、センサー コンポーネント モデル、モニター コンポーネント モデルおよびオペレーション サイクル コンポーネント モデル内の AUTOSAR FiM サービス呼び出しと Dem サービス呼び出しを実行します。

open_system('autosar_bsw_fim');
simOutIntegration = sim('autosar_bsw_fim');

関連するリンク