Main Content

AUTOSAR キャリブレーション パラメーターとルックアップ テーブルのモデル化

Simulink® では、AUTOSAR キャリブレーション パラメーターおよびルックアップ テーブルをモデル化できます。これらは、キャリブレーション ツールおよび測定ツールを使用して、AUTOSAR アプリケーションの実行時調整をサポートします。

AUTOSAR キャリブレーション パラメーター

キャリブレーション パラメーターは電子コントロール ユニット (ECU) 内の値です。これらのパラメーターはキャリブレーション データ管理ツールまたはオフラインのキャリブレーション ツールを使用して調整または変更します。

AUTOSAR 規格は以下のタイプのキャリブレーション パラメーターを指定します。

  • AUTOSAR ソフトウェア コンポーネントからアクセスできる "キャリブレーション コンポーネント" (ParameterSwComponent) に属するキャリブレーション パラメーター。

  • 1 つの AUTOSAR ソフトウェア コンポーネントのみで定義しアクセスする内部キャリブレーション パラメーター。

Simulink モデルにキャリブレーション パラメーターへのアクセスを提供するには、ブロック パラメーターでキャリブレーション パラメーターを参照します。

モデル ワークスペースの Simulink パラメーター オブジェクトを AUTOSAR キャリブレーション パラメーターにマッピングするには、AUTOSAR コード パースペクティブを開き、コード マッピング エディターの [パラメーター] タブを使用します。選択されたパラメーターの AUTOSAR コードとキャリブレーション属性を表示および変更するには、 アイコンをクリックします。詳細については、モデル ワークスペース パラメーターの AUTOSAR コンポーネント パラメーターへのマッピングを参照してください。

STD_AXIS、FIX_AXIS、および COM_AXIS ルックアップ テーブル向けのキャリブレーション パラメーター

AUTOSAR アプリケーション用の標準軸 (STD_AXIS)、固定軸 (FIX_AXIS)、および共通軸 (COM_AXIS) ルックアップ テーブルをモデル化できます。AUTOSAR アプリケーションは、次のいずれかまたは両方の方法でルックアップ テーブルを使用できます。

  • 高速検索オペレーションを実装する。

  • キャリブレーション ツールと測定ツールでアプリケーションの調整をサポートする。

ルックアップ テーブルは入力値を出力値にマップするデータ配列を使用して、数学関数を近似します。n 次元ルックアップ テーブルは n 次元関数を近似できます。COM_AXIS ルックアップ テーブルでは、調整可能なブレークポイント (軸ポイント) が複数のテーブル軸間で共有されます。

AUTOSAR 規格は、STD_AXIS、FIX_AXIS、および COM_AXIS ルックアップ テーブル データのキャリブレーション パラメーター カテゴリを定義します。

  • CURVE、MAP、CUBOID パラメーターはそれぞれ 1 次元、2 次元、3 次元のテーブル データを表します。

  • COM_AXIS パラメーターは軸データを表します。

Simulink では、以下のことができます。

  • STD_AXIS、FIX_AXIS、および COM_AXIS 構成の AUTOSAR ルックアップ テーブルを含む ARXML ファイルを次のようにインポートします。

    • STD_AXIS 構成のルックアップ テーブルの場合、インポーターは、ルックアップ テーブル ブロックを作成し、Simulink.LookupTable オブジェクトで初期化します。

    • FIX_AXIS 構成のルックアップ テーブルの場合、インポーターは、ルックアップ テーブル ブロックを作成し、Simulink.Parameter オブジェクトでテーブルの値を初期化します。ブレークポイントの値は固定軸パラメーターの値で初期化されます。

    • COM_AXIS 構成のルックアップ テーブルの場合、インポーターは、Simulink.Breakpoint オブジェクトで初期化された Prelookup ブロックと Simulink.LookupTable オブジェクトで初期化された Interpolation Using Prelookup ブロックを作成します。

    • インポーターは、作成した各 Simulink ルックアップ テーブルを、コードおよびキャリブレーション属性とともに AUTOSAR パラメーターにマッピングします。

    • ARXML ファイルがルックアップ テーブル入力を測定する入力変数を定義する場合、インポーターは対応するモデル コンテンツを作成します。入力変数がグローバル変数である場合、インポーターは静的グローバル信号をルックアップ テーブル ブロック入力に接続します。入力変数がルートレベル入力である場合、インポーターはルートレベルの入力端子をルックアップ テーブル ブロック入力に接続します。

  • STD_AXIS、FIX_AXIS、および COM_AXIS ルックアップ テーブルを作成し、AUTOSAR パラメーターにマッピングしてください。コード マッピング エディターの [パラメーター] タブを使用して、ルックアップ テーブル オブジェクトを AUTOSAR パラメーターにマッピングします。

    • STD_AXIS 構成の AUTOSAR ルックアップ テーブルをモデル化するには、AUTOSAR Blockset の Curve または Map ブロックを作成します。

      各ルックアップ テーブル ブロックを開いて、AUTOSAR 4.0 コード置換ライブラリ (CRL) からルーチンを生成するように設定します。ブロック設定を変更すると、ブロック ダイアログ ボックスでターゲットの AUTOSAR ルーチンの名前が更新されます。

      データを保存するには、モデル ワークスペースで単一の Simulink.LookupTable オブジェクトを作成します。そのオブジェクトを Curve または Map ブロック内で使用します。

      データは生成された C コードで単一の構造体のフィールドとして表示されます。構造体型の特性 (名前など) を制御するには、オブジェクトのプロパティを使用します。

    • FIX_AXIS 構成の AUTOSAR ルックアップ テーブルをモデル化するには、AUTOSAR Blockset の Curve または Map ブロックを、[ブレークポイントの指定]: [等間隔] を指定して作成します。

      各ルックアップ テーブル ブロックを開いて、AUTOSAR 4.0 コード置換ライブラリ (CRL) からルーチンを生成するように設定します。ブロック設定を変更すると、ブロック ダイアログ ボックスでターゲットの AUTOSAR ルーチンの名前が更新されます。

      データを保存するには、モデル ワークスペースで単一の Simulink.Parameter オブジェクトを作成します。そのオブジェクトを 1-D Lookup Table ブロック内で使用します。

      テーブル データは、生成された C コードに個別の変数として表示されます。ブレークポイントの値は定数として表示されます。

    • COM_AXIS 構成の AUTOSAR ルックアップ テーブルをモデル化するには、1 つ以上の AUTOSAR Blockset の Prelookup ブロックを作成します。各 PrelookupAUTOSAR Blockset の Curve Using Prelookup ブロックまたは Map Using Prelookup ブロックとペアにします。

      各ルックアップ テーブル ブロックを開いて、AUTOSAR 4.0 コード置換ライブラリ (CRL) からルーチンを生成するように設定します。ブロック設定を変更すると、ブロック ダイアログ ボックスでターゲットの AUTOSAR ルーチンの名前が更新されます。

      テーブル データの各セットを保存するには、モデル ワークスペースで Simulink.LookupTable オブジェクトを作成します。各ブレークポイント ベクトルを保存するには、モデル ワークスペースで Simulink.Breakpoint オブジェクトを作成します。各 Simulink.LookupTable オブジェクトを Curve Using Prelookup ブロックまたは Map Using Prelookup ブロック内で使用し、各 Simulink.Breakpoint オブジェクトを Prelookup ブロック内で使用します。ルックアップ テーブル間でブレークポイント データを共有して、メモリ消費量を軽減できます。

      テーブル データの各セットは、生成された C コードに個別の変数として表示されます。テーブル サイズが調整可能な場合、各ブレークポイント ベクトルは、ブレークポイント データを格納する 1 つのフィールド、およびオプションでベクトルの長さを格納する 1 つのフィールドをもつ構造体として表示されます。2 番目のフィールドでは、テーブルの有効なサイズを調整できます。テーブル サイズが調整できない場合、各ブレークポイント ベクトルは配列として表示されます。

    • AUTOSAR 操作点をルックアップ テーブルに追加します。ルート レベルの入力端子を Curve ブロック、Map ブロック、または Prelookup ブロックに接続します。あるいは、静的グローバル メモリで Curve ブロック、Map ブロック、または Prelookup ブロックへの入力信号を設定します。

    • モデル ワークスペースの Simulink ルックアップ テーブル オブジェクトを AUTOSAR キャリブレーション パラメーターにマッピングするには、AUTOSAR コード パースペクティブを開き、コード マッピング エディターの [パラメーター] タブを使用します。選択されたパラメーターの AUTOSAR コードとキャリブレーション属性を表示および変更するには、 アイコンをクリックします。詳細については、モデル ワークスペース パラメーターの AUTOSAR コンポーネント パラメーターへのマッピングを参照してください。

  • 多次元ルックアップ テーブルの配列レイアウトを設定します。Simulink の [コンフィギュレーション パラメーター] ダイアログ ボックスの [インターフェイス] ペインで、[配列のレイアウト] (Simulink Coder)[列優先] (既定) または [行優先] に設定します。配列レイアウトの選択は、C コードおよびエクスポートされた ARXML SwRecordLayout 記述などのコード生成に影響します。

    行優先のレイアウトを選択する場合、[数学とデータ型] ペインに移動して、コンフィギュレーション オプション [行優先の配列レイアウトに最適化されたアルゴリズムを使用] を選択します。アルゴリズムの選択は、シミュレーションとコード生成に影響します。

  • [コンフィギュレーション パラメーター] ダイアログ ボックスの [インターフェイス] ペインで、C コード生成のための AUTOSAR 4.0 コード置換ライブラリを選択します。

  • STD_AXIS、FIX_AXIS、および COM_AXIS ルックアップ テーブルの内容で ARXML コードおよび C コードを生成します。

    生成された C コードには必須の Ifl および Ifx ルックアップ関数呼び出しと Rte データ アクセス関数呼び出しが含まれます。

    生成された ARXML ファイルには、調整可能ルックアップ テーブル パラメーターの実行時キャリブレーションをサポートするため、次のような情報が含まれます。

    • アプリケーション データ型 (テーブル データの場合はカテゴリが CURVE、MAP または CUBOID、軸データの場合はカテゴリが COM_AXIS) を参照するルックアップ テーブルのキャリブレーション パラメーター。

    • 設定したデータ キャリブレーション プロパティをもつ、カテゴリが CURVE、MAP、CUBOID および COM_AXIS のアプリケーション データ型。これらのプロパティには、[SwCalibrationAccess][DisplayFormat][SwAddrMethod] が含まれます。

    • カテゴリが CURVE、MAP、CUBOID および COM_AXIS のアプリケーション データ型によって参照されるソフトウェア レコード レイアウト (SwRecordLayout)。

詳細については、AUTOSAR キャリブレーションおよび測定用のルックアップ テーブルの設定を参照してください。

参考

| | | | | | | | |

関連する例

詳細