主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

AUTOSAR基本ソフトウェアサービスとランタイム環境のシミュレーション

参照実装を使用して,基本ソフトウェアメモリと診断サービスへのAUTOSARコンポーネント呼び出しをシミュレートします。

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

AUTOSAR規格には,AUTOSARランタイム環境で実行される基本ソフトウェア(BSW正在)サービスが定義されています。サービスにはNVRAM经理(NvM)诊断事件管理器(民主党)および函数抑制经理(鳍)があります。AUTOSARランタイム環境では,AUTOSARソフトウェアコンポーネントは通常,クライアント/サーバー通信または送信側/受信側通信を使用してBSW正在サービスにアクセスします。

AUTOSARソフトウェアコンポーネントモデルでNvM,民主党および鱼翅サービスインターフェイスへのクライアント呼び出しを実装するには,事前構成済みのNvM,民主党および鱼翅の呼び出し側ブロックをドラッグアンドドロップします。(客户端端口名称)(操作)などの各ブロックのパラメーターには,値が事前に入力されています。ブロックパラメーターを構成することで、たとえば、呼び出すサービス オペレーションを選択します。AUTOSAR ソフトウェア コンポーネントに追加された Caller ブロックを構成するには、モデルを同期します。ソフトウェアで AUTOSAR クライアント サービス インターフェイス、オペレーションおよびポートが作成され、各 Simulink 関数呼び出しが AUTOSAR クライアント ポートとオペレーションにマッピングされます。詳細については、AUTOSAR NVRAM经理サービスの呼び出しの構成AUTOSAR诊断事件管理器サービスの呼び出しの構成およびAUTOSAR函数抑制经理サービスの呼び出しの構成を参照してください。

以下に示すのは,スロットル位置の統合モデルです。このモデルには2つのスロットル位置センサーコンポーネントと,1つのスロットル位置モニターコンポーネントが統合されています。センサーコンポーネントは,生のスロットル位置センサー(TPS)値を受け取り,TPSパーセント値に変換します。モニターコンポーネントは、プライマリ センサー コンポーネントとセカンダリ センサー コンポーネントから提供された TPS パーセント値を受け取り、どちらの TPS 信号を通過させるかを決定します。センサー コンポーネントは BSW NvM および Dem サービスを呼び出し、モニター コンポーネントは BSW Dem サービスを呼び出します。

open_system (“autosar_bsw_presim”);

センサーコンポーネントautosar_bsw_sensor1およびautosar_bsw_sensor2のそれぞれに初始化函数ブロックが含まれています。このブロックはNvMサービスインターフェイスNvMServiceを呼び出します。これらの呼び出しは,基本软件ライブラリブロックNvMServiceCallerを使用して実装されています。各ブロックは,NvMServiceオペレーションReadBlockを呼び出すよう構成されています。ReadBlockの呼び出しには,クライアントポートS1LowSetPointおよびS2LowSetPointが使用されます。autosar_bsw_sensor1の初始化函数ブロックを以下に示します。

以下に示すのは,初始化函数ブロックにおけるReadBlock呼び出しのNvMServiceCallerブロックのダイアログボックスです。詳細については,NvMServiceCallerを参照してください。

センサーコンポーネントautosar_bsw_sensor1およびautosar_bsw_sensor2のそれぞれに,民主党サービスインターフェイスDiagnosticMonitorへの呼び出しが2つ含まれています。両呼び出しは、基本软件ライブラリブロックDiagnosticMonitorCallerを使用して実装されています。各ブロックは,DiagnosticMonitorオペレーションSetEventStatusを呼び出すよう構成されています。SetEventStatusの呼び出しには,クライアントポートS1StuckLowS1StuckHighS2StuckLowS2StuckHighが使用されます。

以下に示すのは1つ目のセンサーコンポーネントのStuckLow呼び出しのDiagnosticMonitorCallerブロックのダイアログボックスです。詳細については,DiagnosticMonitorCallerを参照してください。

モニターコンポーネントautosar_bsw_monitorには,民主党サービスインターフェイスDiagnosticMonitorへの呼び出しが1つと,民主党サービスインターフェイスDiagnosticInfoへの呼び出しが4つ含まれています。

  • センサーコンポーネントと同様,DiagnosticMonitor呼び出しはDiagnosticMonitorCallerブロックによって実装されており,このブロックはSetEventStatusオペレーションを呼び出すよう構成されています。クライアントポートの名前はTPSです。

  • 4つのDiagnosticInfo呼び出しは、基本软件ライブラリブロックDiagnosticInfoCallerを使用して実装されています。各ブロックは,DiagnosticInfoオペレーションGetEventFailedを呼び出すよう構成されています。GetEventFailedの呼び出しには,クライアントポートTPS1StuckLowTPS1StuckHighTPS2StuckLowTPS2StuckHighが使用されます。

以下に示すのは,TPS1StuckLow呼び出しのDiagnosticinfoCallerブロックのダイアログボックスです。詳細については,DiagnosticInfoCallerを参照してください。

金宝app仿真软件编码器および嵌入式编码器のソフトウェアをお持ちの場合,NvMおよび民主党サービス呼び出しのCコードを生成してARXML記述をエクスポートできます。各コンポーネントモデルを開いてビルドします。たとえば,モデルautosar_bsw_monitorをビルドするには,そのモデルを開きます。Ctrl + Bキーを押すか,MATLABコマンドslbuild(“autosar_bsw_monitor”)を入力します。

モデルのビルド結果を確認するには,コード生成レポートを調べます。

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

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

AUTOSAR基本软件ブロックライブラリにはNVRAM服务组件ブロックと诊断服务组件ブロックが含まれます。これらのブロックはNvMサービスオペレーション,民主党サービスオペレーションおよび鱼翅サービスオペレーションの参照実装を提供します。NvMサービス,民主党サービスおよび鱼翅サービスに対するコンポーネント呼び出しのシミュレーションをサポートするには,含まれているモデル内にこれらのブロックを含めます。ブロックは次の2つの方法のいずれかで挿入できます。

  • 金宝app仿真软件测试ハーネスモデルを作成することにより,自動的にブロックを挿入する。

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

BSW正在NvMサービス,民主党サービスおよび鱼翅サービスを呼び出すモデルに服务组件ブロックを自動的に挿入するには,モデル(または含まれるモデル)を開き,仿真软件测试テストハーネスを作成します(仿金宝app真软件测试が必要)。[アプリ]タブで(金宝app仿真软件测试)をクリックします。次に,[テスト]タブで,[テストハーネスの追加)をクリックします。[テストハーネスの作成]ダイアログボックスで,(好的)をクリックします。ソフトウェアによってモデルがコンパイルされ,NVRAM服务组件ブロックと诊断服务组件ブロックが追加され,シミュレーションに必要な端子およびその他の要素が作成されます。たとえば,スロットル位置の統合モデル用に作成されたテストハーネスを以下に示します。

この例のNvMおよび民主党サービス呼び出しに服务组件ブロックを手動で挿入するには,統合モデルを開きます。ライブラリブラウザーまたはadd_blockコマンドを使用するか,モデルウィンドウにブロック名を入力して,モデルにNVRAMおよび诊断服务组件ブロックを追加します。

open_system (“autosar_bsw_presim”);add_block (“autosarlibnvm / NVRAM服务组件”“autosar_bsw_presim / NVRAM服务组件”);add_block (“autosarlibdem /诊断服务组件”“autosar_bsw_presim /诊断服务组件”);set_param (“autosar_bsw_presim”“SimulationCommand”“更新”);

NVRAM服务组件ブロックには,ランタイム環境(RTE)パラメーターや,(NVRAM属性)パラメーターなど,事前に値が入力されているパラメーターがあります。パラメーター設定を調べて,NvMサービスオペレーションの使用方法に基づいて変更が必要かどうかを検討します。詳細については,NVRAM服务组件を参照してください。

RTEタブテーブルはコンポーネントクライアントポートとそれぞれのNvMサービスブロックIDへのマッピングを一覧表示します。テーブルの各列は,基本ソフトウェアの呼び出し側ブロックからNvMサービスへの呼び出しを表します。同じNvMブロックを処理する呼び出しは,通常,同じブロックIDを使用します。この例ではNvMReadBlockクライアントポートを異なるブロックIDにマッピングします。

诊断服务组件ブロックには,RTEパラメーターや民主党の[Counter-Based消除抖动)パラメーターなど,事前に値が入力されているパラメーターがあります。パラメーター設定を調べて,民主党サービスオペレーションの使用方法に基づいて変更が必要かどうかを検討します。

[Counter-Based消除抖动)パラメーターは,民主党サービスの参照実装で提供されるカウンターベースのデバウンスアルゴリズムを制御します。複数のシミュレーションを実行する際に,イベントステップサイズパラメーターとしきい値パラメーターを調整して,その影響を確認できます。詳細については,诊断服务组件を参照してください。

RTEタブテーブルはコンポーネントクライアントポートとそれぞれの民主党または鱼翅サービスID(この例では,イベントID)へのマッピングを一覧表示します。テーブルの各列は,基本ソフトウェアの呼び出し側ブロックから民主党サービスへの呼び出しを表します。同じイベントを処理する呼び出しは,通常,同じイベントIDを使用します。この例では,民主党SetEventStatusクライアントポートを異なるイベントIDにマッピングした後,民主党GetEventFailedクライアントポートを,SetEventStatusポートと共有されたイベントIDにマッピングします。たとえば,SetEventStatusポートのS1StuckHighGetFailedEventポートのTPS1StuckHighはイベントID 1を共有し,S1StucklowTPS1StuckLowはイベントID 2を共有するなどです。

AUTOSAR NvMおよび民主党サービスへの呼び出しのシミュレーション

統合モデルでNVRAM服务组件ブロックと诊断服务组件ブロックを構成してから,モデルをシミュレーションします。このシミュレーションでは,スロットル位置センサーコンポーネントおよびモニターコンポーネントのモデルで,AUTOSAR NvMおよび民主党サービス呼び出しを実行します。

open_system (“autosar_bsw_simulation”);simOutIntegration = sim卡(“autosar_bsw_simulation”);

関連するリンク