Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

コード マッピング エディター – C

モデル要素とコード インターフェイス定義の関連付け

説明

コード マッピング エディターは、モデル内のデータ要素およびエントリポイント関数をコード生成用に構成できるグラフィカル インターフェイスです。モデル参照階層内の各モデルに独自のコード マッピングがあります。モデル全体でモデルのデータ要素の各カテゴリを特定のストレージ クラスに関連付け、モデルのエントリポイント関数の各カテゴリを特定の関数カスタマイズ テンプレートに関連付けます。その後、必要に応じて、特定のデータ要素および関数に対するそれらの設定をオーバーライドします。サービス インターフェイス構成を定義する Embedded Coder ディクショナリが接続されたモデルについては、モデルに接続された共有ディクショナリで定義されているサービス インターフェイスにモデルの要素をマッピングできます。

ストレージ クラスでは、コード ジェネレーターが関連付けられたデータのコードを生成するときに使用する外観や場所などのプロパティを定義します。関数カスタマイズ テンプレートでは、関連する関数のコードのコード ジェネレーターでの生成方法を定義します。ストレージ クラスまたは関数カスタマイズ テンプレートの設定を [Default] のままにする場合、そのデータまたは関数のカテゴリに対するメモリ セクションを構成できます。

コード生成用にデータ要素や関数を構成するには、コード マッピング エディターに表示されるタブを使用します。

  • データの既定の設定 (データ インターフェイスのみ)

  • 関数の既定の設定 (データ インターフェイスのみ)

  • 関数

  • 入力端子

  • 出力端子

  • データ転送 (サービス インターフェイスのみ)

  • パラメーター

  • データ ストア

  • 信号/状態

モデルの要素に対して構成できる追加のコード マッピング プロパティがある場合、アクティブなテーブルの行を選択して Icon to configure additional code mapping properties アイコンをクリックすることで、それらのプロパティを構成できます。

コード生成用に信号を構成する前に、信号をモデル コード マッピングに追加します。コード マッピングの信号を追加または削除するには、信号線の上または下に表示される省略記号で一時停止してアクション バーを開きます。[信号の追加] ボタンまたは [信号の削除] ボタンをクリックします。これらのボタンは、コード マッピング エディターの [信号/状態] タブでも使用できます。

コード マッピング エディター – C を開く

次のいずれかを行います。

  • Embedded Coder® アプリを開きます。データ インターフェイス構成の場合は、[C コード] タブで、[コード インターフェイス][既定のコード マッピング] を選択するか、[コード インターフェイス][個々の要素コードのマッピング] を選択します。サービス インターフェイス構成の場合は、[C コード] タブで、[コード インターフェイス][コンポーネント インターフェイス] を選択するか、[コード インターフェイス][サブコンポーネント インターフェイス] を選択します。

  • Embedded Coder アプリを開きます。[C コード] タブで、Simulink® エディター ウィンドウの左下隅にある [コード マッピング] タブをクリックします。

  • Simulink エディター ウィンドウのモデル キャンバスで、右下隅にあるパースペクティブ コントロールをクリックし、[コード] を選択します。次に、[コード マッピング] タブをクリックします。

ルートの Inport ブロックと Outport ブロックについてのコード生成の構成

ルートの Inport ブロックと Outport ブロックについてのモデル全体のコード生成を構成します。大量のデータを使用する大規模なモデルの場合は特に、既定の構成を適用すると時間を節約できます。既定のマッピングを適用した後、個々のデータ要素のマッピングを調整できます。

例の環境の設定
  1. モデル RollAxisAutopilot を開きます。

    openExample('RollAxisAutopilot');
    現在の作業ディレクトリに含まれる外部コード ファイルは次のとおりです。

    • roll_input_data.c

    • roll_input_data.h

    • roll_heading_mode.c

    • roll_heading_mode.h

  2. Embedded Coder アプリを開きます。

既定のマッピングの構成

コード ジェネレーターの処理を次のように構成します。

  • ヘッダー ファイル roll_input_data.h を使用して、モデルの Inport ブロックを表す変数を宣言する。

  • モデルの Outport ブロックの変数を別個のグローバル変数として表す。

  • 出力変数を roll_output_data.c で定義し、それらを roll_output_data.h で宣言する。

  • Inport ブロックのコードでコード ジェネレーターが生成する変数に使用する名前を構成する。

  1. [C コード] タブで、[コード インターフェイス][既定のコード マッピング] を選択します。

  2. [データの既定の設定] タブで、[Inports and Outports] の下にある [入力端子] の行を選択します。次に、ストレージ クラスを [ImportFromFile] に設定します。

  3. Icon to configure additional code mapping properties アイコンをクリックし、[ヘッダー ファイル]roll_input_data.h に設定します。

  4. モデル要素カテゴリ [出力端子] のストレージ クラスを [ExportToFile] に設定します。

  5. [ヘッダー ファイル]roll_output_data.h[定義ファイル]roll_output_data.c に設定します。

個々の入力端子に対する既定の構成の設定
  1. コード マッピング エディターで、[入力端子] タブをクリックします。各 Inport のストレージ クラスは Auto に設定されています。これは、コード ジェネレーターが最適化を目的として関連するコードの表現を削除または変更する可能性があることを意味しています。最適化が不可能な場合、コード ジェネレーターは入力端子に対して既定の構成を適用します。

  2. 入力端子に対して既定の構成であるストレージ クラス ImportFromFile を強制的に適用して、外部ヘッダー ファイル roll_input_data.h を使用するようにコード ジェネレーターを構成します。Ctrl キーを押しながら入力端子を選択します。選択したいずれかの入力端子に対して、ストレージ クラスを [Model default: ImportFromFile] に設定します。選択した入力端子について、エディターでストレージ クラス設定が更新されます。

既定のマッピングのオーバーライド

入力端子の変数 HDG_Mode について、既定のソースの場所をオーバーライドします。その変数は外部ファイル roll_heading_mode.h で宣言されています。

  1. コード マッピング エディターで、[入力端子] タブをクリックします。

  2. HDG_Mode の行を選択します。

  3. [ストレージ クラス]ImportFromFile に設定します。

  4. Icon to configure additional code mapping properties アイコンをクリックし、[ヘッダー ファイル]roll_heading_mode.h に設定します。

  5. Inport ブロックのコードで外部ファイル roll_input_data.h および roll_heading_mode.h の変数名と一致する変数名を生成するようにコード ジェネレーターを構成します。[入力端子] タブで、各 Inport ブロックを選択し、Icon to configure additional code mapping properties アイコンをクリックして [識別子] をブロック名に設定します。ストレージ クラスが [自動] 以外の値に設定されている場合、[識別子] ストレージ クラス プロパティの値を指定できます。[識別子] プロパティを空のままにすると、コード ジェネレーターはモデリング要素に関連付けられているブロックまたは信号の名前を使用します。

コード生成およびビルド プロセスに外部ソース ファイルを含める

コード生成およびビルド プロセスに外部ソース ファイルの roll_input_data.croll_heading_mode.c を含めます。モデル コンフィギュレーション パラメーター [ソース ファイル]roll_input_data.c roll_heading_mode.c に設定します。

モデルを保存します。

コードの生成と検証

コードを生成し、Inport ブロックと Output ブロックについての生成されたコードが想定どおりであることを確認します。

  • ストレージ クラスに関連付けられた次のヘッダー ファイルが RollAxisAutopilot.h に含まれている。

    #include "roll_output_data.h"
    #include "roll_input_data.h"
    #include "roll_heading_mode.h"
    
  • roll_heading_mode.croll_heading_mode.h が含まれ、変数 HDG_Mode が定義されている。

    #include "roll_heading_mode.h"
    
    boolean_T HDG_Mode;
  • roll_input_data.h で宣言された変数が roll_input_data.c で定義されている。

    #include "roll_input_data.h"
    
    boolean_T AP_Eng;
    real32_T HDG_Ref;
    real32_T Rate_FB;
    real32_T Phi;
    real32_T Psi;
    real32_T TAS;
    real32_T Turn_Knob;
  • 次のエクスポートされたデータの定義が roll_output_data.c に含まれている。

    real32_T Ail_Cmd;
  • 次のエクスポートされたデータの宣言が roll_output_data.h に含まれている。

    extern real32_T Ail_Cmd;

エントリポイント関数に対する既定の関数名の構成

既定では、コード ジェネレーターは識別子の命名規則 $R$N を使用してエントリポイント関数に名前を付けます。$R はルート モデルの名前です。$N は関数の名前 (initializestepterminate など) です。生成されたコードを既存の外部コードと統合するか、命名規約またはガイドラインに準拠するには、既定の命名規則を調整できます。この例では、$R$ にテキスト文字列 myproj_ を接頭辞として追加する方法を示します。既定の命名規則を調整すると、特にコード ジェネレーターによって各レートに固有の関数 step が生成されるマルチレート モデルの場合は時間を節約できます。

例の環境の設定
  1. モデル MultirateMultitasking を開きます。書き込み可能なフォルダーにコピーを保存します。

  2. Embedded Coder アプリを開きます。[C コード] タブが開き、コード マッピング エディターも表示されます。

関数の命名規則の定義

命名規則 myproj_$R$N を定義する関数カスタマイズ テンプレートを作成します。

  1. Embedded Coder ディクショナリを開きます。[C コード] タブで、[コード インターフェイス][Embedded Coder ディクショナリ] を選択します。

  2. [関数カスタマイズ テンプレート] タブをクリックします。

  3. [追加] をクリックします。

  4. 新しいテーブル行の [名前] 列で、新しいテンプレートに myproj_FunctionTemplate という名前を付けます。

  5. [関数名] 列で、命名規則 myproj_$R$N を入力します。

  6. Embedded Coder ディクショナリを閉じます。

既定のマッピングの構成
  1. [C コード] タブで、[コード インターフェイス][既定のコード マッピング] を選択します。

  2. [関数の既定の設定] タブをクリックします。

  3. [初期化/終了][実行] の関数カテゴリについて、既定の関数カスタマイズ テンプレートを Default から myproj_FunctionTemplate に変更します。

  4. モデルを保存します。

コードの生成とレビュー

コードを生成し、エントリポイント関数の名前を確認します。

void myproj_MultirateMultitasking_step0(void) /* Sample time: [1.0s, 0.0s] */
{
  (rtM->Timing.RateInteraction.TID0_1)++;
  if ((rtM->Timing.RateInteraction.TID0_1) > 1) {
       rtM->Timing.RateInteraction.TID0_1 = 0;
  }

  if (rtM->Timing.RateInteraction.TID0_1 == 1) {
      rtDW.RateTransition = rtDW.RateTransition_Buffer0;
  }
      rtY.Out2 = 2.0 * rtDW.RateTransition + rtU.In1_1s;
      rtY.Out1 = (3.0 * rtDW.RateTransition + rtU.In1_1s) * 5.0 + rtY.Out2;
}

/* Model step function for TID1 */
void myproj_MultirateMultitasking_step1(void) /* Sample time: [2.0s, 0.0s] */
{
  rtDW.RateTransition_Buffer0 = rtDW.Integrator_DSTATE;
  rtDW.Integrator_DSTATE += 2.0 * rtU.In2_2s;
}

void myproj_MultirateMultitasking_initialize(void)
{
  /* (no initialization code required) */
}

void myproj_MultirateMultitasking_terminate(void)
{
  /* (no terminate code required) */
}

個々のエントリポイント関数のカスタマイズ

モデルについて、ステップ関数や Simulink 関数など、ほとんどのエントリポイント関数の名前と実行関数の引数をカスタマイズできます。この例では、モデル RollAxisAutopilot のエントリポイント関数をカスタマイズする方法を示します。

環境の設定
  1. モデル RollAxisAutopilot を開きます。

    openExample('RollAxisAutopilot');
    現在の作業ディレクトリに含まれる外部コード ファイルは次のとおりです。

    • roll_input_data.c

    • roll_input_data.h

    • roll_heading_mode.c

    • roll_heading_mode.h

  2. Embedded Coder アプリを開きます。[C コード] タブが開き、コード マッピング エディターも表示されます。

エントリポイント関数のカスタマイズ
  1. [C コード] タブで、[コード インターフェイス][個々の要素コードのマッピング] を選択します。

  2. [Functions] タブを選択します。

  3. ステップ (実行) 関数の名前をカスタマイズします。[関数名] 列で、名前 roll_run を入力します。

  4. step 関数の引数をカスタマイズします。[関数プレビュー] 列でプロトタイプのハイパーリンクをクリックして、step 関数の構成ダイアログ ボックスを開きます。

  5. [ステップ関数プロトタイプの引数を設定] を選択します。

  6. 引数の既定の構成を表示するテーブルを開くには、[既定値を取得] をクリックします。

  7. 引数をカスタマイズします。

    • [C 戻り引数] ドロップダウン リストから [Ail_Cmd] を選択します。

    • それぞれの端子の [C 識別子名] フィールドで、それらの既定の名前から接頭辞 arg_ を削除します。

    • HDG_Mode 入力端子の [C 型修飾子] ドロップダウン リストから [ポインター] を選択します。[C 識別子名] フィールドで、名前を HDG_Mode_Ptr に変更します。

  8. [適用] をクリックし、関数のプロトタイプに変更が反映されることを確認します。

  9. [検証] をクリックして変更を検証します。

  10. [OK] をクリックします。

コードの生成と検証
  1. コードを生成します。

  2. 生成された C ファイル RollAxisAutopilot.c で更新内容を確認します。更新された step 関数 (roll_run) を探すには、[検索] フィールドを使用します。

  3. step 関数を選択して、そのプロトタイプを確認します。

    real32_T roll_run(real32_T Phi, real32_T Psi, real32_T Rate_FB, real32_T TAS,
                      boolean_T AP_Eng, boolean_T *HDG_Mode_Ptr, real32_T HDG_Ref,
                      real32_T Turn_Knob)

関連する例

パラメーター

すべて展開する

データの既定の設定

Simulink モデルのデータ要素のカテゴリの名前。カテゴリに対して設定したストレージ クラスは、そのカテゴリの要素にモデル全体で適用されます。

モデル要素のカテゴリ説明
InportsInport ブロックや In Bus Element ブロックなど、モデルのルートレベルの入力端子。
OutportsOutport ブロックや Out Bus Element ブロックなど、モデルのルートレベルの出力端子。
Signals, states, and internal dataブロックの出力信号、ブロックの離散状態、データ ストア、ゼロクロッシング信号など、モデル内部のデータ要素。
Shared local data storesブロック パラメーター [モデル インスタンス間で共有する] が設定されている Data Store Memory ブロック。これらのデータ ストアは、それらが定義されているモデルでのみアクセスできます。データ ストア値は、モデルのインスタンス間で共有されます。
Global data storesベース ワークスペースまたはデータ ディクショナリの信号オブジェクトで定義されるデータ ストア。アプリケーション内の複数のモデルがこれらのデータ ストアを使用できます。コード マッピング エディターでこれらのデータ ストアを表示および構成するには、カテゴリ名の右側にある [Refresh] リンクをクリックします。このリンクをクリックすると、モデル線図が更新されます。
Model parameter argumentsモデルの引数として設定するモデル ワークスペースのパラメーター。これらのパラメーターは Model ブロックで公開され、各モデル インスタンスは独自の値を提供できます。モデルの引数としてパラメーターを指定するには、[モデル データ エディター][Parameters][Argument] チェック ボックスをオンにします。
Model parametersモデル ワークスペース内のパラメーターなど、モデル内で定義されるパラメーター。モデルの引数は除きます。
External parametersベース ワークスペースまたはデータ ディクショナリ内でオブジェクトとして定義するパラメーター。アプリケーションの複数のモデルがこれらのパラメーターを使用できます。コード マッピング エディターでこれらのパラメーターを表示および構成するには、カテゴリ名の右側にある [Refresh] リンクをクリックします。このリンクをクリックすると、モデル線図が更新されます。
Constants

インライン化できなかった定数値のブロック出力とパラメーター。これらの値は、次のいずれかの理由で変数に格納されます。

  • 値がループ展開のしきい値よりも大きい配列である。

  • 値のアドレスがコードに必要である。

それぞれのカテゴリに対して、有効なストレージ クラスのオプションがコード マッピング エディターから提示されます。オプションには以下が含まれます。

  • 指定なしのストレージ クラス ([Default])。コード ジェネレーターは、データ要素のカテゴリのコードを B_ExtY_ExtU_DW_P_ などの標準の構造体に配置します。生成されたコードにおけるデータ構造体を参照してください。

  • ExportedGlobal など、関連する事前定義のストレージ クラス。

  • ImportFromFile など、利用可能なパッケージ内の関連するストレージ クラス。

  • Embedded Coder ディクショナリで定義されたストレージ クラス。

コード ジェネレーターがモデルのデータ要素のコードを生成するときに外観や場所などのプロパティを決定するために使用する定義 (仕様)。生成されたコードでのデータ表示を制御するストレージ クラスの選択を参照してください。

関数の既定の設定

Simulink モデル関数のカテゴリの名前。カテゴリに対して設定した関数カスタマイズ テンプレートは、そのカテゴリの関数にモデル全体で適用されます。

モデル関数のカテゴリ説明
初期化/終了初期化と終了のエントリポイント関数
実行実行とリセットを開始するためのエントリポイント関数
共有ユーティリティ共有されたユーティリティ関数

コード ジェネレーターがモデル関数のコードを生成するときに外観や場所などのプロパティを決定するために使用する定義 (仕様)。テンプレートは既定では使用できません。Embedded Coder ディクショナリで、関数カスタマイズ テンプレートを定義しなければならない場合があります。

関数

エントリポイント関数のタイプを識別します。レートベースのモデルについて、このプロパティは step 関数のサンプル レートを提供します。

コード ジェネレーターがモデル関数のコードを生成するときに外観や場所などのプロパティを決定するために使用する定義 (仕様)。

コード ジェネレーターがモデル関数に付ける名前。

エントリ ポイント関数のプロトタイプのプレビュー。プロトタイプを検証するには、プロトタイプのプレビューを確認します。プロトタイプをカスタマイズできるダイアログ ボックスを開くには、プレビューのハイパーリンクをクリックします。詳細については、Configure Default Settings for Functionsを参照してください。

R2022b 以降

Embedded Coder ディクショナリで定義されているタイマー サービス インターフェイスの名前。ディクショナリの既定値を使用するには、'Dictionary default' を指定します。

このプロパティは、エクスポートされた関数にのみ適用できます。

タイマー サービス インターフェイスを構成するには、サービス インターフェイス構成を定義する Embedded Coder ディクショナリをモデルに接続しなければなりません。詳細については、Configure Timer Service Interfacesを参照してください。

Inports

モデル内のルートの Inport ブロックまたは In Bus Element ブロックの要素 (InBus1.signal1 など) を識別します。要素がデータ オブジェクトに関連付けられる場合、コード マッピング エディターで信号オブジェクトへの関連付けアイコンがソース名の右側に表示され、要素のストレージ クラス設定が Auto であるかどうかに基づいて構成が関連付けられます。ストレージ クラスが Auto の場合、データ オブジェクトで指定されるコード構成がデータ要素で想定されます。エディターの [ストレージ クラス] 列の表示テキストが、From signal object: の後にデータ オブジェクトのストレージ クラスの名前が続くテキストに変更されます。ストレージ クラスが Auto でない場合、コード マッピング エディターで指定した構成がデータ要素で想定されます。

コード ジェネレーターがルートの入力端子のコードを生成するときに外観や場所などのプロパティを決定するために使用する定義。生成されたコードでのデータ表示を制御するストレージ クラスの選択を参照してください。

生成されたコード内で Inport を表す変数の名前。

Inport のキャリブレーションを有効にするには、Calibration を選択します。Inport の値を表示し、キャリブレーションを無効にするには、NoCalibration を選択します。

読みやすくするために ECU 内部値を物理値に変換するメソッド名。

キャリブレーション ツールで測定の目的に使用される入力端子のオプションの表示名。Simulink モデルの入力端子名とは異なります。

キャリブレーション ツールの測定に指定される特殊な表示形式。この形式の指定は Inport の CompuMethod で指定される表示形式よりも優先されます。

R2022b 以降

Embedded Coder ディクショナリで定義されている受信側サービス インターフェイスの名前。ターゲット環境内で、コンポーネントはターゲット プラットフォームの受信側サービスを呼び出すことで他のコンポーネントからデータを受信します。ディクショナリの既定値を使用するには、'Dictionary default' を指定します。

受信側サービス インターフェイスを構成するには、サービス インターフェイス構成を定義する Embedded Coder ディクショナリをモデルに接続しなければなりません。詳細については、Configure Sender and Receiver Service Interfaces for Model Inports and Outportsを参照してください。

Outports

モデル内のルートレベルの Outport ブロックまたは Out Bus Element ブロックの要素 (OutBus1.signal1 など) を識別します。要素がデータ オブジェクトに関連付けられる場合、コード マッピング エディターで信号オブジェクトへの関連付けアイコンがソース名の右側に表示され、要素のストレージ クラス設定が Auto であるかどうかに基づいて構成が関連付けられます。ストレージ クラスが Auto の場合、データ オブジェクトで指定されるコード構成がデータ要素で想定されます。エディターの [ストレージ クラス] 列の表示テキストが、From signal object: の後にデータ オブジェクトのストレージ クラスの名前が続くテキストに変更されます。ストレージ クラスが Auto でない場合、コード マッピング エディターで指定した構成がデータ要素で想定されます。

コード ジェネレーターがルートの出力端子のコードを生成するときに外観や場所などのプロパティを決定するために使用する定義。生成されたコードでのデータ表示を制御するストレージ クラスの選択を参照してください。

生成されたコード内で Outport を表す変数の名前。

Calibration を選択して、Outport のキャリブレーションを有効にします。NoCalibration を選択して、Outport の値を表示し、キャリブレーションを無効にします。

読みやすくするために ECU 内部値を物理値に変換するメソッド名。

キャリブレーション ツールで測定の目的に使用される出力端子のオプションの表示名。Simulink モデルの出力端子名とは異なります。

キャリブレーション ツールの測定に指定される特殊な表示形式。この形式の指定は Outport の CompuMethod で指定される表示形式よりも優先されます。

R2022b 以降

Embedded Coder ディクショナリで定義されている送信側サービス インターフェイスの名前。ターゲット環境内で、コンポーネントはターゲット プラットフォームの送信側サービスを呼び出すことで他のコンポーネントにデータを送信します。ディクショナリの既定値を使用するには、'Dictionary default' を指定します。

送信側サービス インターフェイスを構成するには、サービス インターフェイス構成を定義する Embedded Coder ディクショナリをモデルに接続しなければなりません。詳細については、Configure Sender and Receiver Service Interfaces for Model Inports and Outportsを参照してください。

データ転送

R2022b 以降

生成されたコードの呼び出し可能なエントリポイント関数となる 2 つのブロックを接続する信号線を識別します。呼び出し可能なエントリポイント関数の詳細については、Model Code Interfacesを参照してください。

R2022b 以降

コード生成に使用するデータ転送サービス インターフェイス。モデルの Embedded Coder ディクショナリで定義されるサービス インターフェイスの 1 つとして指定されます。ターゲット環境内では、ターゲット プラットフォームの指定したデータ転送サービスを呼び出すことで、呼び出し可能なエントリポイント関数がそれらの間でデータを転送します。ディクショナリの既定のデータ転送サービスを使用するには、'Dictionary default' を指定します。データ転送サービス インターフェイスを構成するには、サービス インターフェイス構成を定義する Embedded Coder ディクショナリをモデルに接続しなければなりません。詳細については、Configure Data Transfer Service Interfaces for Data Transfer Signalsを参照してください。

パラメーター

モデル内のパラメーターを識別します。要素がデータ オブジェクトに関連付けられる場合、コード マッピング エディターでパラメーター オブジェクトへの関連付けアイコンがソース名の右側に表示され、要素のストレージ クラス設定が Auto であるかどうかに基づいて構成が関連付けられます。ストレージ クラスが Auto の場合、データ オブジェクトで指定されるコード構成がデータ要素で想定されます。エディターの [ストレージ クラス] 列の表示テキストが、From parameter object: の後にデータ オブジェクトのストレージ クラスの名前が続くテキストに変更されます。ストレージ クラスが Auto でない場合、コード マッピングで指定した構成がデータ要素で想定されます。

パラメーター要素のタイプを次の表に示します。

パラメーター要素のタイプ説明
モデル パラメーター引数モデル引数として構成するモデル ワークスペース内のブロック パラメーター。このパラメーターは Model ブロックで公開され、各モデル インスタンスは独自の値を提供できます。モデルの引数としてパラメーターを指定するには、[モデル データ エディター][Parameters][Argument] チェック ボックスをオンにします。
モデル パラメーターモデル ワークスペース内のパラメーターなど、モデル内で定義されるパラメーター。モデルの引数は除きます。
外部パラメーターベース ワークスペースまたはデータ ディクショナリ内でオブジェクトとして定義するパラメーター。アプリケーションの複数のモデルがこれらのパラメーターを使用できます。このグループのパラメーターは、そのような要素をモデルで使用している場合にのみエディターに表示されます。コード マッピング エディターでこれらのパラメーターを表示および構成するには、カテゴリ名の右側にある [Refresh] リンクをクリックします。このリンクをクリックすると、モデル線図が更新されます。

コード ジェネレーターがパラメーターのコードを生成するときに外観や場所などのプロパティを決定するために使用する定義。外部パラメーターの場合、カテゴリ名の右側にある [Refresh] リンクをクリックすると、コンパイルされたストレージ クラス (外部パラメーター用に構成されたストレージ クラスなど) が [ストレージ クラス] 列の右側に表示されます。生成されたコードでのデータ表示を制御するストレージ クラスの選択を参照してください。

生成されたコード内でモデル パラメーターまたはモデル パラメーター引数を表す変数の名前。

Calibration を選択して、モデル パラメーターのキャリブレーションを有効にします。NoCalibration を選択して、モデル パラメーターの値を表示し、キャリブレーションを無効にします。

読みやすくするために ECU 内部値を物理値に変換するメソッド名。

キャリブレーション ツールで測定の目的に使用されるモデル パラメーターのオプションの表示名。Simulink モデルの出力端子名とは異なります。

キャリブレーション ツールの測定に指定される特殊な表示形式。この形式の指定はモデル パラメーターの CompuMethod で指定される表示形式よりも優先されます。

R2022b 以降

Embedded Coder ディクショナリで定義されているパラメーター調整サービス インターフェイスの名前。ディクショナリの既定値を使用するには、'Dictionary default' を指定します。

パラメーター調整サービス インターフェイスを構成するには、サービス インターフェイス構成を定義する Embedded Coder ディクショナリをモデルに接続しなければなりません。詳細については、Configure Parameter and Parameter Argument Tuning Service Interfaces for Model Parameters and Model Parameter Argumentsを参照してください。

R2022b 以降

Embedded Coder ディクショナリで定義されているパラメーター引数調整サービス インターフェイスの名前。ディクショナリの既定値を使用するには、'Dictionary default' を指定します。

パラメーター引数調整サービス インターフェイスを構成するには、サービス インターフェイス構成を定義する Embedded Coder ディクショナリをモデルに接続しなければなりません。詳細については、Configure Parameter and Parameter Argument Tuning Service Interfaces for Model Parameters and Model Parameter Argumentsを参照してください。

データ ストア

モデル内のデータ ストアを識別します。要素がデータ オブジェクトに関連付けられる場合、コード マッピング エディターで信号オブジェクトへの関連付けアイコンがソース名の右側に表示され、要素のストレージ クラス設定が Auto であるかどうかに基づいて構成が関連付けられます。ストレージ クラスが Auto の場合、データ オブジェクトで指定されるコード構成がデータ要素で想定されます。エディターの [ストレージ クラス] 列の表示テキストが、From signal object: の後にデータ オブジェクトのストレージ クラスの名前が続くテキストに変更されます。ストレージ クラスが Auto でない場合、コード マッピングで指定した構成がデータ要素で想定されます。

データ ストア要素のタイプを次の表に示します。

データ ストア要素のタイプ説明
ローカル データ ストアモデルの階層構造において、そのデータ ストアが定義されているレベル以下の任意の場所からアクセスできるデータ ストア。ローカル データ ストアは、Data Store Memory ブロックを含めるか、モデル ワークスペースで信号オブジェクト (合成されたデータ ストア) を作成することにより、モデル内でグラフィカルに定義できます。
共有ローカル データ ストアブロック パラメーター [モデル インスタンス間で共有する] が設定された Data Store Memory ブロック。これらのデータ ストアは、それらが定義されているモデルでのみアクセスできます。データ ストア値は、モデルのインスタンス間で共有されます。このグループのデータ ストアは、そのような要素がモデル内に存在する場合にのみエディターに表示されます。
グローバル データ ストアベース ワークスペースまたはデータ ディクショナリの信号オブジェクトで定義されるデータ ストア。アプリケーション内の複数のモデルがこれらのデータ ストアを使用できます。これらのデータ ストアはコード マッピングでは構成できません。[更新] ボタンをクリックすると、確認目的の読み取り専用の状態でコード マッピング エディターに表示されます。このグループのデータ ストアは、そのような要素をモデルで使用している場合にのみエディターに表示されます。コード マッピング エディターでこれらのデータ ストアを表示および構成するには、カテゴリ名の右側にある [Refresh] リンクをクリックします。このリンクをクリックすると、モデル線図が更新されます。

ローカル データ ストアおよび共有ローカル データ ストアの名前は、block-name: data-store-name の形式で表示されます。

ローカル データ ストアおよび共有ローカル データ ストアは、データ ストア要素がモデル内でどのように表現および構成されているかに応じて、モデル ワークスペース、ベース ワークスペース、またはデータ ディクショナリのいずれかの信号オブジェクトに関連付けられます。グローバル データ ストアは、ベース ワークスペースまたはデータ ディクショナリの信号オブジェクトに関連付けられます。

コード ジェネレーターがデータ ストアのコードを生成するときに外観や場所などのプロパティを決定するために使用する定義。グローバル データ ストアの場合、カテゴリ名の右側にある [Refresh] リンクをクリックすると、コンパイルされたストレージ クラス (グローバル データ ストア用に構成されたストレージ クラスなど) が [ストレージ クラス] 列の右側に表示されます。生成されたコードでのデータ表示を制御するストレージ クラスの選択を参照してください。

クリックするとモデル ブロック線図でデータ ストアを強調表示できるリンク。

生成されたコード内でデータ ストアを表す変数の名前。

Calibration を選択して、データストアのキャリブレーションを有効にします。NoCalibration を選択して、データストアの値を表示し、キャリブレーションを無効にします。

読みやすくするために ECU 内部値を物理値に変換するメソッド名。

キャリブレーション ツールで測定の目的に使用されるデータ ストアのオプションの表示名。Simulink モデルの出力端子名とは異なります。

キャリブレーション ツールの測定に指定される特殊な表示形式。この形式の指定はデータストアの CompuMethod で指定される表示形式よりも優先されます。

R2022b 以降

Embedded Coder ディクショナリで定義されている測定サービス インターフェイスの名前。信号、状態、およびデータ ストアの測定サービス インターフェイスを構成することで、データを測定用に生成コードで保持できます。ディクショナリの既定値を使用するには、'Dictionary default' を指定します。状態のデータをコードで保持する必要がない場合は、'Not measured' を指定します。

測定サービス インターフェイスを構成するには、サービス インターフェイス構成を定義する Embedded Coder ディクショナリをモデルに接続しなければなりません。詳細については、Configure Measurement Service Interfaces for Signals, States, and Data Storesを参照してください。

信号/状態

モデル内の信号線または状態を識別します。要素がデータ オブジェクトに関連付けられる場合、コード マッピング エディターで信号オブジェクトへの関連付けアイコンがソース名の右側に表示され、要素のストレージ クラス設定が Auto であるかどうかに基づいて構成が関連付けられます。ストレージ クラスが Auto の場合、データ オブジェクトで指定されるコード構成がデータ要素で想定されます。エディターの [ストレージ クラス] 列の表示テキストが、From signal object: の後にデータ オブジェクトのストレージ クラスの名前が続くテキストに変更されます。ストレージ クラスが Auto でない場合、コード マッピング エディターで指定した構成がデータ要素で想定されます。

コード マッピング エディターには以下がリストされます。

  • データ要素の名前を使用した名前付きの信号と状態

  • source-block: port-number の形式を使用した名前のない信号

  • block-name: state-name の形式を使用した複数のブロックで使用される状態

コード マッピング エディターでモデルの個々の信号線を構成するには、先に信号をマッピングに追加する必要があります。C コード生成のための信号データの構成を参照してください。

コード ジェネレーターが信号線または状態のコードを生成するときに外観や場所などのプロパティを決定するために使用する定義。生成されたコードでのデータ表示を制御するストレージ クラスの選択を参照してください。

クリックするとモデル ブロック線図で信号線や状態を使用するブロックを強調表示できるリンク。

生成されたコード内で信号または状態を表す変数の名前。

Calibration を選択して、信号または状態のキャリブレーションを有効にします。NoCalibration を選択して、信号または状態の値を表示し、キャリブレーションを無効にします。

読みやすくするために ECU 内部値を物理値に変換するメソッド名。

キャリブレーション ツールで測定の目的に使用される信号または状態のオプションの表示名。Simulink モデルの出力端子名とは異なります。

キャリブレーション ツールの測定に指定される特殊な表示形式。この形式の指定は信号または状態の CompuMethod で指定される表示形式よりも優先されます。

R2022b 以降

Embedded Coder ディクショナリで定義されている測定サービス インターフェイスの名前。信号、状態、およびデータ ストアの測定サービス インターフェイスを構成することで、データを測定用に生成コードで保持できます。ディクショナリの既定値を使用するには、'Dictionary default' を指定します。状態のデータをコードで保持する必要がない場合は、'Not measured' を指定します。

測定サービス インターフェイスを構成するには、サービス インターフェイス構成を定義する Embedded Coder ディクショナリをモデルに接続しなければなりません。詳細については、Configure Measurement Service Interfaces for Signals, States, and Data Storesを参照してください。

バージョン履歴

R2018a で導入