Main Content

AUTOSAR キャリブレーションおよび測定用のルックアップ テーブルの設定

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

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

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

車載アプリケーションの調整のためにルックアップ テーブルをモデル化するには、Simulink.LookupTable クラスと Simulink.Breakpoint クラスを使用します。モデル ワークスペースで Simulink.LookupTable オブジェクトと Simulink.Breakpoint オブジェクトを作成して、ルックアップ テーブルとブレークポイント データを格納および共有し、AUTOSAR コード生成用にデータを設定できます。

ルックアップ テーブル オブジェクトを使用した STD_AXIS ルックアップ テーブルの設定

この例では、Simulink.LookupTable オブジェクトを使って Simulink で STD_AXIS ルックアップ テーブルを作成し、AUTOSAR コード生成用にルックアップ テーブルを設定する方法を示します。この例では、matlabroot/help/toolbox/autosar/examples にあるモデル mAutosarLutObjs.slx を使用します。このモデル ファイルを作業フォルダーにコピーするには、次の MATLAB® コマンドを入力します。

copyfile(fullfile(matlabroot,'help/toolbox/autosar/examples/mAutosarLutObjs.slx'),'.')
  1. STD_AXIS 構成で AUTOSAR ルックアップ テーブルをモデル化します。

    1. マッピングされた AUTOSAR ソフトウェア コンポーネント モデルで、AUTOSAR Blockset Curve または Map ブロックを追加します。この例では、Curve ブロックを追加します。

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

      ブロック ダイアログ ボックスで、次の選択を行います。

      • 浮動小数点ルーチンを生成するには、[IFL (floating-point)] を選択します。

      • [Table Specification] タブで、ルックアップ テーブル オブジェクトを使用してテーブル データを指定するには、[Data Specification][ルックアップ テーブル オブジェクト] に設定します。

    3. モデル ワークスペースで、Simulink.LookupTable オブジェクトを作成し、ルックアップ テーブル データが格納されるように設定します。

    4. Curve ブロック ダイアログ ボックスの [Table Specification] タブで、Simulink.LookupTable オブジェクト名を [Name] フィールドに入力します。

    5. ブロック ダイアログ ボックスの [Algorithm] タブで、[Integer Rounding Method][Zero] に設定します。[内挿法][線形の点と勾配] に設定し、[インデックス検索法][線形探索] に設定したままにします。

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

  2. Curve ブロックまたは Map ブロックを結線します。

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

    • 出力端子を Curve ブロックまたは Map ブロックと結線します。

  3. AUTOSAR コード パースペクティブでは、コード マッピング エディターを使用して Simulink.LookupTable オブジェクトを AUTOSAR 内部キャリブレーション パラメーターにマッピングします。[Parameters] タブで、作成した Simulink.LookupTable オブジェクトをそれぞれ選択します。各オブジェクトを AUTOSAR パラメーターのタイプ [ConstantMemory][SharedParameter]、または [Auto] にマッピングします。ソフトウェア マッピングの既定値を受け入れる場合は、[Auto] を指定します。

    この例では、STD_AXIS ルックアップ テーブル オブジェクト L_4_single が AUTOSAR [ConstantMemory] にマッピングされます。

  4. 各パラメーターで、[Auto] 以外のパラメーターのタイプを選択する場合は、 アイコンをクリックして他のコードおよびキャリブレーション属性を表示または変更します。パラメーターのプロパティの詳細については、モデル ワークスペース パラメーターの AUTOSAR コンポーネント パラメーターへのマッピングを参照してください。

  5. AUTOSAR 4.0 ライブラリに基づいて C コードが生成されるようモデルを設定します。[コンフィギュレーション パラメーター] ダイアログ ボックスを開いて、[コード生成][インターフェイス] を選択します。[コード置換ライブラリ] パラメーターを [AUTOSAR 4.0] に設定します。詳細については、AUTOSAR コード置換ライブラリによるコード生成を参照してください。

  6. モデルを作成します。生成された C コードには期待される Ifl および Ifx ルックアップ関数呼び出しと Rte データ アクセス関数呼び出しが含まれます。たとえば、Ifl または Ifx ルーチンの接頭辞に対する HTML コード生成レポートを検索できます。

    生成された ARXML ファイルには、CURVE (1 次元テーブル データ) と MAP (2 次元テーブル データ) のカテゴリのデータ型が含まれます。データ型には設定したデータ キャリブレーション プロパテが含まれます。

ルックアップ テーブル オブジェクトとブレークポイント オブジェクトを使用した COM_AXIS ルックアップ テーブルの設定

この例では、Simulink.LookupTable オブジェクトと Simulink.Breakpoint オブジェクトを使って Simulink で COM_AXIS ルックアップ テーブルを作成し、AUTOSAR コード生成用にルックアップ テーブルを設定する方法を示します。この例では、matlabroot/help/toolbox/autosar/examples にあるモデル mAutosarLutObjs.slx を使用します。このモデル ファイルを作業フォルダーにコピーするには、次の MATLAB コマンドを入力します。

copyfile(fullfile(matlabroot,'help/toolbox/autosar/examples/mAutosarLutObjs.slx'),'.')

この例では、COM_AXIS 構成の AUTOSAR ルックアップ テーブルをモデル化するために、AUTOSAR Blockset の Prelookup ブロックを Curve Using Prelookup ブロックまたは Map Using Prelookup ブロックと組み合わせます。

  1. Prelookup ブロックを設定します。

    1. マッピングされた AUTOSAR ソフトウェア コンポーネント モデルで、AUTOSAR Blockset の Prelookup ブロックを 1 つ以上追加します。この例では、1 つの Prelookup ブロックを追加します。

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

      ブロック ダイアログ ボックスで、次の選択を行います。

      • 浮動小数点ルーチンを生成するには、[IFL (floating-point)] を選択します。

      • [Table Specification] タブで、ブレークポイント オブジェクトを使用してブレークポイント データを指定するには、[Breakpoints specification][Breakpoint object] に設定します。

    3. ブレークポイント ベクトルごとに、モデル ワークスペースで、Simulink.Breakpoint オブジェクトを作成し、設定します。

    4. Prelookup ブロック ダイアログ ボックスの [Table Specification] タブで、Simulink.Breakpoint オブジェクト名を [Name] フィールドに入力します。ルックアップ テーブル間でブレークポイント データを共有して、メモリ消費量を軽減できます。

    5. ブロック ダイアログ ボックスの [Algorithm] タブで、[Integer Rounding Method][Zero] に設定します。[Index Search Method][Linear search] に設定したままにします。

  2. Curve Using Prelookup ブロックと Map Using Prelookup ブロックを設定します。

    1. モデルで、AUTOSAR Blockset の Curve Using Prelookup ブロックまたは Map Using Prelookup ブロックを 1 つ以上追加します。各ブロックは、組み合わせる Prelookup ブロックの直後に続きます。この例では、1 つの Curve Using Prelookup ブロックを追加します。

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

      ブロック ダイアログ ボックスで、次の選択を行います。

      • 浮動小数点ルーチンを生成するには、[IFL (floating-point)] を選択します。

      • [Table Specification] タブで、ルックアップ テーブル オブジェクトを使用してテーブル データを指定するには、[Data Specification][ルックアップ テーブル オブジェクト] に設定します。

    3. テーブル データのセットごとに、モデル ワークスペースで、Simulink.LookupTable オブジェクトを作成および設定します。

    4. Curve Using Prelookup または Map Using Prelookup ブロック ダイアログ ボックスそれぞれの [Table Specification] タブで、Simulink.LookupTable オブジェクト名を [Name] フィールドに入力します。

    5. ブロック ダイアログ ボックスの [Algorithm] タブで、[Integer Rounding Method][Zero] に設定します。[Interpolation Method][Linear point-slope] に設定したままにします。

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

  3. Prelookup ブロック、Curve Using Prelookup ブロックおよび Map Using Prelookup ブロックを結線します。

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

    • 出力端子を Curve Using Prelookup ブロックと Map Using Prelookup ブロックに結線します。

    • Prelookup ブロックを、それぞれの一致する Curve Using Prelookup または Map Using Prelookup ブロックに結線します。

  4. AUTOSAR コード パースペクティブでは、コード マッピング エディターを使用して Simulink.LookupTable オブジェクトと Simulink.Breakpoint オブジェクトを AUTOSAR 内部キャリブレーション パラメーターにマッピングします。[Parameters] タブで、作成した Simulink.LookupTable オブジェクトと Simulink.Breakpoint オブジェクトをそれぞれ選択します。各オブジェクトを AUTOSAR パラメーターのタイプ [ConstantMemory][SharedParameter]、または [Auto] にマッピングします。ソフトウェア マッピングの既定値を受け入れる場合は、[Auto] を指定します。

    この例では、COM_AXIS ブレークポイント オブジェクト Bp_4_single およびルックアップ テーブル オブジェクト Lcom_4_single が AUTOSAR [SharedParameter] にマッピングされます。AUTOSAR ソフトウェア コンポーネントのすべてのインスタンスで COM_AXIS パラメーターは共有されます。

  5. 各パラメーターで、[Auto] 以外のパラメーターのタイプを選択する場合は、 アイコンをクリックして他のコードおよびキャリブレーション属性を表示または変更します。パラメーターのプロパティの詳細については、モデル ワークスペース パラメーターの AUTOSAR コンポーネント パラメーターへのマッピングを参照してください。

  6. AUTOSAR 4.0 ライブラリに基づいて C コードが生成されるようモデルを設定します。[コンフィギュレーション パラメーター] ダイアログ ボックスを開いて、[コード生成][インターフェイス] を選択します。[コード置換ライブラリ] パラメーターを [AUTOSAR 4.0] に設定します。詳細については、AUTOSAR コード置換ライブラリによるコード生成を参照してください。

  7. モデルを作成します。生成された C コードには期待される Ifl および Ifx ルックアップ関数呼び出しと Rte データ アクセス関数呼び出しが含まれます。たとえば、Ifl または Ifx ルーチンの接頭辞に対する HTML コード生成レポートを検索できます。

    生成された ARXML ファイルには、CURVE (1 次元テーブル データ)、MAP (2 次元テーブル データ)、および COM_AXIS (軸データ) のカテゴリのデータ型が含まれます。データ型には設定したデータ キャリブレーション プロパテが含まれます。

多次元ルックアップ テーブルの配列レイアウトの設定

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

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

多次元ルックアップ テーブルをエクスポートすると、SwRecordLayout カテゴリが COLUMN_DIR または ROW_DIR に設定された ARXML ルックアップ テーブル記述が生成されます。たとえば、次のプログラム コードは、2 次元の行優先のルックアップ テーブルを含む AUTOSAR モデルに対してエクスポートされる SwRecordLayout 記述を示しています。ルックアップ テーブルは AUTOSAR Map ブロックを使用して実装されています。

<AR-PACKAGE>
    <SHORT-NAME>SwRecordLayouts</SHORT-NAME>
    <ELEMENTS>
        <SW-RECORD-LAYOUT UUID="...">
            <SHORT-NAME>Map_s16</SHORT-NAME>
            <SW-RECORD-LAYOUT-GROUP>
                <SHORT-LABEL>Val</SHORT-LABEL>
                <CATEGORY>ROW_DIR</CATEGORY>
                <SW-RECORD-LAYOUT-GROUP-AXIS>1</SW-RECORD-LAYOUT-GROUP-AXIS>
                <SW-RECORD-LAYOUT-GROUP-INDEX>X</SW-RECORD-LAYOUT-GROUP-INDEX>
                <SW-RECORD-LAYOUT-GROUP-FROM>1</SW-RECORD-LAYOUT-GROUP-FROM>
                <SW-RECORD-LAYOUT-GROUP-TO>-1</SW-RECORD-LAYOUT-GROUP-TO>
                <SW-RECORD-LAYOUT-GROUP>
                    <SW-RECORD-LAYOUT-GROUP-AXIS>2</SW-RECORD-LAYOUT-GROUP-AXIS>
                    <SW-RECORD-LAYOUT-GROUP-INDEX>Y</SW-RECORD-LAYOUT-GROUP-INDEX>
                    <SW-RECORD-LAYOUT-GROUP-FROM>1</SW-RECORD-LAYOUT-GROUP-FROM>
                    <SW-RECORD-LAYOUT-GROUP-TO>-1</SW-RECORD-LAYOUT-GROUP-TO>
                    <SW-RECORD-LAYOUT-V>
                        <SHORT-LABEL>Val</SHORT-LABEL>
                        <BASE-TYPE-REF DEST="SW-BASE-TYPE">
                          /DataTypes/SwBaseTypes/sint32
                        </BASE-TYPE-REF>
                        <SW-RECORD-LAYOUT-V-AXIS>0</SW-RECORD-LAYOUT-V-AXIS>
                        <SW-RECORD-LAYOUT-V-PROP>VALUE</SW-RECORD-LAYOUT-V-PROP>
                        <SW-RECORD-LAYOUT-V-INDEX>X Y</SW-RECORD-LAYOUT-V-INDEX>
                    </SW-RECORD-LAYOUT-V>
                </SW-RECORD-LAYOUT-GROUP>
            </SW-RECORD-LAYOUT-GROUP>
        </SW-RECORD-LAYOUT>
        <SW-RECORD-LAYOUT UUID="...">
            <SHORT-NAME>Distr_s8_M</SHORT-NAME>
            <SW-RECORD-LAYOUT-GROUP>
                <SHORT-LABEL>Y</SHORT-LABEL>
                <CATEGORY>INDEX_INCR</CATEGORY>
                <SW-RECORD-LAYOUT-GROUP-AXIS>1</SW-RECORD-LAYOUT-GROUP-AXIS>
                <SW-RECORD-LAYOUT-GROUP-FROM>1</SW-RECORD-LAYOUT-GROUP-FROM>
                <SW-RECORD-LAYOUT-GROUP-TO>-1</SW-RECORD-LAYOUT-GROUP-TO>
                <SW-RECORD-LAYOUT-V>
                    <SHORT-LABEL>VALUE</SHORT-LABEL>
                    <BASE-TYPE-REF DEST="SW-BASE-TYPE">
                      /DataTypes/SwBaseTypes/sint32
                    </BASE-TYPE-REF>
                    <SW-RECORD-LAYOUT-V-AXIS>1</SW-RECORD-LAYOUT-V-AXIS>
                    <SW-RECORD-LAYOUT-V-PROP>VALUE</SW-RECORD-LAYOUT-V-PROP>
                </SW-RECORD-LAYOUT-V>
            </SW-RECORD-LAYOUT-GROUP>
        </SW-RECORD-LAYOUT>
    </ELEMENTS>
</AR-PACKAGE>

多次元ルックアップ テーブル記述を含む ARXML ファイルをインポートすると、[配列のレイアウト][列優先] または [行優先] に設定された Simulink ルックアップ テーブルが作成されます。ARXML ファイルに行優先の多次元ルックアップ テーブル記述のみが含まれる場合は、ARXML インポーターにより、[配列のレイアウト][行優先] に設定されて [行優先の配列レイアウトに最適化されたアルゴリズムを使用] が有効になっている Simulink ルックアップ テーブルが作成されます。

再利用可能な参照モデルのルックアップ テーブルとブレークポイントのインスタンスのパラメーター化

AUTOSAR モデルの階層構造で、ルックアップ テーブルまたはブレークポイントを参照モデル内に配置してから参照モデルをパラメーター化することで、ルックアップ テーブルまたはブレークポイントをパラメーター化できます。参照モデルのパラメーター化では、モデル引数を使用するように参照モデルを設定してから、親モデルのモデル引数値を設定します。

再利用可能な参照モデルのルックアップ テーブルのインスタンスをパラメーター化することで、ルックアップ テーブルのサブユニットの複数のインスタンスを AUTOSAR モデルの階層構造に配置できます。サブユニット レベルのテストはルックアップ テーブルで使用できます。

参照モデルにルックアップ テーブルまたはブレークポイントが含まれていて、それが含まれる最上位モデルがルックアップ テーブルのパラメーター値またはブレークポイント オブジェクトを参照モデルのモデル引数に渡す場合、最上位モデルのエクスポートによってルックアップ テーブル パラメーターまたはブレークポイントのアプリケーション データ型が生成されます。

参照モデルの 2 次元ルックアップ テーブルの 2 つのインスタンスをパラメーター化する最上位モデルについて考えます。最上位モデル パラメーター LUTForInst1 は AUTOSAR PerInstanceParameter にマッピングされ、その値は最初のルックアップ テーブル インスタンスのモデル引数に渡されます。最上位モデル パラメーター LUTForInst2 は AUTOSAR SharedParameter にマッピングされ、その値は 2 番目のルックアップ テーブル インスタンスのモデル引数に渡されます。

参照モデルには 2 次元ルックアップ テーブルが含まれ、インスタンス パラメーター LUT_arg を定義します。参照モデルでのインスタンス パラメーターの設定および Model ブロックでのインスタンス固有の値の指定については、再利用可能な参照モデルのインスタンスのパラメーター化を参照してください。

最上位モデルをビルドする際、エクスポートされる ARXML はアプリケーションのプリミティブ データ型 Appl_LUTForInst1Appl_LUTForInst2 を定義し、それらを実装データ型 LUT_arg_Type にマッピングします。

<APPLICATION-PRIMITIVE-DATA-TYPE UUID="...">
    <SHORT-NAME>Appl_LUTForInst1</SHORT-NAME>
    <CATEGORY>MAP</CATEGORY>
    ...
</APPLICATION-PRIMITIVE-DATA-TYPE>
<APPLICATION-PRIMITIVE-DATA-TYPE UUID="...">
    <SHORT-NAME>Appl_LUTForInst2</SHORT-NAME>
    <CATEGORY>MAP</CATEGORY>
    ...
</APPLICATION-PRIMITIVE-DATA-TYPE>

<DATA-TYPE-MAP>
    <APPLICATION-DATA-TYPE-REF DEST="APPLICATION-PRIMITIVE-DATA-TYPE">
      /DataTypes/ApplDataTypes/Appl_LUTForInst1
    </APPLICATION-DATA-TYPE-REF>
    <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">
      /DataTypes/LUT_arg_Type
    </IMPLEMENTATION-DATA-TYPE-REF>
</DATA-TYPE-MAP>
<DATA-TYPE-MAP>
    <APPLICATION-DATA-TYPE-REF DEST="APPLICATION-PRIMITIVE-DATA-TYPE">
      /DataTypes/ApplDataTypes/Appl_LUTForInst2
    </APPLICATION-DATA-TYPE-REF>
    <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">
      /DataTypes/LUT_arg_Type
    </IMPLEMENTATION-DATA-TYPE-REF>
</DATA-TYPE-MAP>

その後、アプリケーションのプリミティブ データ型は AUTOSAR のインスタンスごとのパラメーター LUTForInst1 と AUTOSAR 共有パラメーター LUTForInst2 によって参照されます。

<PER-INSTANCE-PARAMETERS>
    <PARAMETER-DATA-PROTOTYPE UUID="...">
        <SHORT-NAME>LUTForInst1</SHORT-NAME>
        <CATEGORY>MAP</CATEGORY>
        ...
        <TYPE-TREF DEST="APPLICATION-PRIMITIVE-DATA-TYPE">
          /DataTypes/ApplDataTypes/Appl_LUTForInst1
        </TYPE-TREF>
        <INIT-VALUE>
            <CONSTANT-REFERENCE>
                <SHORT-LABEL>LUTForInst1</SHORT-LABEL>
                <CONSTANT-REF DEST="CONSTANT-SPECIFICATION">
                  /DataTypes/Constants/LUTForInst1
                </CONSTANT-REF>
            </CONSTANT-REFERENCE>
        </INIT-VALUE>
    </PARAMETER-DATA-PROTOTYPE>
</PER-INSTANCE-PARAMETERS>

<SHARED-PARAMETERS>
    <PARAMETER-DATA-PROTOTYPE UUID="...">
        <SHORT-NAME>LUTForInst2</SHORT-NAME>
        <CATEGORY>MAP</CATEGORY>
        ...
        <TYPE-TREF DEST="APPLICATION-PRIMITIVE-DATA-TYPE">
          /DataTypes/ApplDataTypes/Appl_LUTForInst2
        </TYPE-TREF>
        <INIT-VALUE>
            <CONSTANT-REFERENCE>
                <SHORT-LABEL>LUTForInst2</SHORT-LABEL>
                <CONSTANT-REF DEST="CONSTANT-SPECIFICATION">
                  /DataTypes/Constants/LUTForInst2
                </CONSTANT-REF>
            </CONSTANT-REFERENCE>
        </INIT-VALUE>
    </PARAMETER-DATA-PROTOTYPE>
</SHARED-PARAMETERS>

エクスポートされた ARXML ルックアップ テーブル記述は、Simulink と AUTOSAR オーサリング ツールの間をラウンドトリップできます。

AdminData レコードのレイアウト注釈のエクスポート

AUTOSAR Blockset は、ARXML ルックアップ テーブル記述内の AdminData レコードのレイアウト注釈をサポートします。

AdminData レコードのレイアウト注釈を含む ARXML ルックアップ テーブルおよび軸記述をインポートすると、Simulink ルックアップ テーブルと、AdminData 注釈が構造体要素の順序を決定するブレークポイントが作成されます。

ルックアップ テーブル AdminData のエクスポートは既定で無効になっています。AdminData のエクスポートを有効にするには、API のみの XML オプション 'ExportSwRecordLayoutAnnotationsOnAdminData'true に設定します。以下に例を示します。

hModel = 'mAutosarLutObjs';
addpath(fullfile(matlabroot,'/help/toolbox/autosar/examples'));
open_system(hModel);
arProps = autosar.api.getAUTOSARProperties(hModel);
set(arProps,'XmlOptions','ExportSwRecordLayoutAnnotationsOnAdminData',true);
slbuild(hModel)

AdminData エクスポートが有効化されている場合、構造体要素を使用して Simulink ルックアップ テーブルとブレークポイントをエクスポートすると、構造体要素 AdminData の注釈を含むルックアップ テーブルと軸 ImplementationDataType が生成されます。以下に例を示します。

<IMPLEMENTATION-DATA-TYPE UUID="...">
    <SHORT-NAME>LUT_4_single</SHORT-NAME>
    <CATEGORY>STRUCTURE</CATEGORY>
    <SUB-ELEMENTS>
        <IMPLEMENTATION-DATA-TYPE-ELEMENT UUID="...">
            <SHORT-NAME>Nx</SHORT-NAME>
            <CATEGORY>TYPE_REFERENCE</CATEGORY>
            <ADMIN-DATA>
                <SDGS>
                    <SDG GID="DV:RecLayoutAnnotation">
                        <SD GID="DV:Type">NO_AXIS_PTS_X</SD>
                    </SDG>
                </SDGS>
            </ADMIN-DATA>
            ...
        </IMPLEMENTATION-DATA-TYPE-ELEMENT>
        <IMPLEMENTATION-DATA-TYPE-ELEMENT UUID="...">
            <SHORT-NAME>Bp1</SHORT-NAME>
            <CATEGORY>TYPE_REFERENCE</CATEGORY>
            <ADMIN-DATA>
                <SDGS>
                    <SDG GID="DV:RecLayoutAnnotation">
                        <SD GID="DV:Type">AXIS_PTS_X</SD>
                    </SDG>
                </SDGS>
            </ADMIN-DATA>
            ...
        </IMPLEMENTATION-DATA-TYPE-ELEMENT>
        ...
    </SUB-ELEMENTS>
</IMPLEMENTATION-DATA-TYPE>

AdminData レコードのレイアウト注釈は、サードパーティの AUTOSAR ツールと一緒に使用できます。

参考

| | | | | | | |

関連する例

詳細