主要内容

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

嵌入式编码器ディクショナリ

コード定義を作成し,モデルデータおよび関数に対応するコード生成を制御する

説明

嵌入式编码器ディクショナリは,カスタムコード定義の作成のためのグラフィカルインターフェイスです。これらの定義をモデル内で適用することにより,既定で特定のソフトウェアアーキテクチャに準拠するコードを生成できます。たとえば,ルートレベルの入力などのモデルデータのカテゴリやパラメーターなどの個々のデータ要素に既定で適用できる独自のストレージクラスを作成できます。

次の種類のコード定義を作成できます。

  • ストレージクラス。モデルデータ向けに生成されるコードを制御します。

  • 関数カスタマイズテンプレート。模型_stepのような,モデルエントリポイント関数の命名を制御します。テンプレートによって、エントリポイント関数へのメモリ セクションの適用も行われます。

  • メモリセクション。メモリにおけるデータおよび関数の配置を制御します。生成コードには,プラグマなどの,指定した構文をもつカスタムの装飾が含まれます。

コード生成定義の作成に関する一般的な情報については,为软件架构定义存储类、内存段和函数模板を参照してください。

嵌入式编码器®ディクショナリには,コード定義の種類ごとにタブがあります。各タブで,コード定義のプロパティを構成します。表を使用して,プロパティを構成し,定義を並べて比較します。表に表示されないプロパティにアクセスするには,プロパティインスペクターを使用します。プロパティ構成の結果の検証には,疑似コードのプレビューを使用します。

コードマッピングエディターを使用することで,ディクショナリで作成する定義をモデル要素に適用できます(配置数据元素和函数类别的默认C代码生成を参照)。コードマッピングエディターの外部で使用できるストレージクラスおよびメモリセクションを作成するには,カスタムストレージクラスデザイナーを使用します(为外部数据对象创建代码定义を参照)。

嵌入式编码器ディクショナリを開く

  • 嵌入式编码器ディクショナリを開くには,モデルウィンドウの[Cコード]タブで[コードインターフェイス](嵌入式编码器ディクショナリ]を選択します。

    (嵌入式编码器ディクショナリ]ウィンドウに,モデルファイルに格納されているコード生成定義が表示されます。モデルがデータディクショナリにリンクされている場合,ウィンドウにはそのデータディクショナリまたは(該当する場合)参照ディクショナリに格納されている定義も表示されます。[ソース]列は各定義が格納されている場所を示します。

  • 金宝app®データディクショナリの嵌入式编码器ディクショナリを開くには,モデルエクスプローラーの[モデルの階層構造)ペインで,以下を実行します。

    1. ディクショナリノードの下の(嵌入式编码)ノードを選択します。

      ノードが表示されていない場合,ディクショナリノードを右クリックし,(空のセクションを表示)を選択します。

    2. [ダイアログ]ペイン(右側のペイン)で,(嵌入式编码器ディクショナリを開く]をクリックします。

ストレージクラスの作成と検証

モデルでは,ブロックの状態を含む内部モデルデータを集計し,特徴を制御できる構造体に設定するストレージクラスを作成します。次に,モデルからコードを生成してストレージクラスを検証します。

  1. モデル例rtwdemo_rollを開きます。

    rtwdemo_roll

  2. モデルが嵌入式编码器アプリで開かれない場合,アプリを開いて[Cコード]タブをクリックします。

  3. [Cコード]タブで[コードインターフェイス](嵌入式编码器ディクショナリ]を選択します。(嵌入式编码器ディクショナリ]ウィンドウに,モデルファイルに格納されているコード生成定義が表示されます。

  4. (嵌入式编码器ディクショナリ]ウィンドウで,[追加]をクリックします。

  5. リストの一番下に表示される,StorageClass1という新しいストレージクラスを選択します。右側の[プロパティインスペクター]ペインで,次の表にリストされているプロパティ値を設定します。

    プロパティ
    名前 InternalStruct
    ヘッダーファイル internalData_ R.h美元
    定義ファイル 美元internalData_阻容
    ストレージタイプ 结构化
    [構造体のプロパティ][タイプ名) internalData_T_ M美元
    [構造体のプロパティ][インスタンス名) internalData_ M美元

    変更を行った後,下部のペインで,予期した内容が疑似コードのプレビューに反映されていることを検証します。

  6. モデルエディターに戻ります。コードマッピングエディターを開くには,キャンバスの下の[コードマッピング]をダブルクリックします。(数据默认值)タブで(信号)セクションを展開します。[信号、状态和内部数据]の行を選択し,(存储类)(InternalStruct)に設定します。

  7. [コンフィギュレーションパラメーター]ダイアログボックスの[コード生成)[コード配置)ペインで,[ファイルパッケージ化形式)[モジュラー]に設定します。

  8. コードを生成します。

  9. 金宝app仿真软件エディターの[コード]ビューで,ファイルinternalData_rtwdemo_roll.hを開いて検証します。ファイルは,構造体型internalData_T_を定義します。この構造体のフィールドがモデル内のブロックの状態を表します。

    /*存储类'InternalStruct', for system '' */ typedef struct {real32_T FixPtUnitDelay1_DSTATE;/* '/FixPt Unit Delay1' */ real32_T Integrator_DSTATE;/* '/Integrator' */ int8_T integrator_preresetstate;/* '/Integrator' */} internalData_T_;

    また,ファイルはinternalData_という名前のグローバル構造体変数を宣言します。

    /*存储类'InternalStruct' */ extern internalData_T_ internalData_;

  10. ファイルinternalData_rtwdemo_roll.cを開いて検証します。ファイルは,internalData_にメモリを割り当てます。

    /*存储类'InternalStruct' */ internalData_T_ internalData_;

関数カスタマイズテンプレートの作成

関数テンプレートを使用して,生成されたエントリポイント関数の名前を制御するルールを指定できます。この手法により,エクスポート関数モデルやマルチレート,マルチタスクモデルなどの多くのエントリポイント関数をもつモデルでの時間および保守労力の軽減が可能です。

この例では,命名規則func_ N_ R美元を指定する関数テンプレートの作成方法を示します。$ Nは,生成される関数それぞれのベース名であり,$ Rは仿金宝app真软件モデルの名前です。

  1. モデル例rtwdemo_mrmtbbを開きます。

  2. ブロック線図を更新します。このマルチタスクモデルには2つの実行レートがあるため,生成コードには,2つの対応するエントリポイント関数が含まれます。

  3. モデルで,モデルコンフィギュレーションパラメーター[システムターゲットファイル]を[ert.tlc]に設定します。関数カスタマイズ テンプレートを使用するには、ERT ベースのシステム ターゲット ファイルを使用しなければなりません。

  4. 金宝app仿真软件エディターで、嵌入式编码器アプリを開き,嵌入式编码器ディクショナリを開きます。

  5. 嵌入式编码器ディクショナリの[関数カスタマイズテンプレート]タブで,[追加]をクリックします。

  6. 新しい関数テンプレートに,次のプロパティを設定します。

    • [名前]myfunction

    • [関数名]func_ N_ R美元

    変更を行った後,予期した内容が疑似コードのプレビューに反映されていることを検証します。

  7. モデルウィンドウで,コードマッピングエディターを開きます。(功能默认值)タブの【初始化/终止】行と(执行)行で,(功能定制模板)(myfunction)に設定します。

  8. コードを生成します。

  9. [コード]ビューで,ファイルrtwdemo_mrmtbb.cを開いて検証します。ファイルは,2 つの実行関数func_step0_rtwdemo_mrmtbbおよびfunc_step1_rtwdemo_mrmtbbを定義します。これらの名前は,関数テンプレートで指定したルールに準拠します。

メモリセクションの作成

メモリセクションの作成方法を示す例については,通过插入语控制数据和函数在内存中的位置を参照してください。

静的および動的に初期化されたデータで使用するストレージクラスの作成

この例では,グローバル変数定義および宣言をファイルに配置するストレージクラスの作成方法を示します。このファイルの名前は,モデル名に依存しています。ストレージクラスの 2 つのコピーを作成し、1 つのコピーをパラメーター データに (データ カテゴリ(模型参数)1)、もうつのコピーをその他のデータに使用できるようにします。

通常,生成コードは,パラメーターデータを関数の外部で静的に初期化し,その他のデータをモデル初期化関数内で動的に初期化します。カスタムストレージクラスデザイナーまたは嵌入式编码器ディクショナリを使用してストレージクラスを作成する場合,[データの初期化)プロパティを設定して初期化の仕組みを指定します。

嵌入式编码器ディクショナリで,各ストレージクラスについて[静的]または[動的]の初期化を選択しなければなりません。パラメーターデータ([静的]1)に対してつのストレージクラスのコピーを作成し,その他のデータ([動的]1)に対してつのコピーを作成することを検討してください。

ストレージクラスの作成
  1. モデル例rtwdemo_rollを開きます。

  2. [Cコード]タブが開かない場合,嵌入式编码器アプリを開いて[Cコード]タブをクリックします。

  3. [コードインターフェイス](嵌入式编码器ディクショナリ]を選択します。

  4. 嵌入式编码器ディクショナリで[追加]をクリックします。

  5. 新しいストレージクラスについて,次のプロパティを設定します。

    • [名前]SigsStates

    • [ヘッダーファイル]R_my_data.h美元

    • (定義ファイル]R_my_data.c美元

    既定では,[データの初期化)プロパティは[動的]に設定されます。これは,このストレージクラスが信号,状態,データストアでの使用に適していることを意味します。

    変更を行った後,予期した内容が疑似コードのプレビューに反映されていることを検証します。

  6. [複製]をクリックします。新しいストレージSigsStates_copyが表示されます。

  7. 新しいストレージクラスについて,次のプロパティを設定します。

    • [名前]参数个数

    • [データの初期化)(静态)

    変更を行った後,予期した内容が疑似コードのプレビューに反映されていることを検証します。

ストレージクラスの適用とコードの生成
  1. モデルに戻り,コードマッピングエディターを開きます。モデルキャンバスの下の[コードマッピング- C]をダブルクリックします。

  2. (数据默认值)タブの[パラメーター](模型参数)行の(存储类)列で,(参数)を選択します。

  3. [信号][信号、状态和内部数据]の行の(存储类)(SigsStates)に設定します。

  4. モデル内の一部のパラメーターデータ要素を構成し,それらの要素が最適化によって生成コードから削除されないようにします。[モデル化)タブで[設計][モデルワークスペース]をクリックします。

  5. モデルエクスプローラーの中央のペインで,モデルワークスペースの変数dispGainintGain,およびrateGainに対応する3つの行を選択します。

  6. いずれかの行を右クリックし,[パラメーターオブジェクトに変換]をクリックします。モデルデータエディターにより,ワークスペース変数が金宝app仿真软件。参数オブジェクトに変換されます。

  7. パラメーターdispGainの行の(存储类)列で(配置)をクリックします。モデルウィンドウでコードマッピングエディターのパラメーターdispGainの行が強調表示されます。

  8. 各変数について,(存储类)列で(模型默认参数):を選択します。(模型参数)に対して指定した既定のストレージクラスが取得されます。

  9. [コンフィギュレーションパラメーター]ダイアログボックスの[コード生成)[コード配置)ペインで,[ファイルパッケージ化形式)[モジュラー]に設定します。

  10. コードを生成します。

  11. [コード]ビューで,ファイルrtwdemo_roll_my_data.cおよびrtwdemo_roll_my_data.hを開いて検証します。これらのファイルは,パラメーターオブジェクトや一部のブロックの状態,BasicRollModeサブシステム内の积分器ブロックの状態などに対応するグローバル変数を定義し,宣言します。

    /*存储类'SigsStates' */ real32_T rtFixPtUnitDelay1_DSTATE;real32_T rtIntegrator_DSTATE;int8_T rtIntegrator_PrevResetState;/*存储类'Params' */ real32_T disgain = 0.75F;real32_T intGain = 0.5F;real32_T rateGain = 2.0F;

パッケージのコード生成定義の参照

嵌入式编码器ディクショナリは,パッケージに格納されているコード生成定義が参照されるように設定できます(为外部数据对象创建代码定义を参照)。これらの定義は,コードマッピングエディターで選択できるように表示されます。この例では,組み込みパッケージの例ECoderDemosに格納される定義を参照するように,rtwdemo_rollの嵌入式编码器ディクショナリを構成します。

  1. rtwdemo_rollの嵌入式编码器ディクショナリを開きます。手順については,ストレージクラスの作成と検証を参照してください。

  2. (嵌入式编码器ディクショナリ]ウィンドウで,[パッケージの管理)をクリックします。

  3. [パッケージの管理]ダイアログボックスで,[更新]をクリックします。[パッケージの選択]ドロップダウンリストに追加のオプションが表示されるまで待機します。

  4. [パッケージの選択](ECoderDemos)に設定し,(読み込み]をクリックします。

    (嵌入式编码器ディクショナリ]ウィンドウの[ストレージクラス]タブで,ECoderDemosパッケージで定義されたストレージクラスの表が表示されます。これで,rtwdemo_rollで,これらのストレージクラスをコードマッピングエディターの(数据默认值)タブで選択できます。

  5. パッケージをアンロードするには,[パッケージの管理]ダイアログボックスの[パッケージの選択]ドロップダウンリストでパッケージを選択し,[アンロード]をクリックします。

金宝appデータディクショナリを使用したモデル間のコード生成定義の共有

データディクショナリを使用してモデル間でコード生成定義を共有する方法を示す例については,在模型之间共享嵌入式编码器字典定义を参照してください。

共有された编码器ディクショナリでの既定のコードマッピングの構成

共有されている嵌入式编码器ディクショナリに既定のコードマッピングを構成する例については,在共享字典中配置默认代码映射を参照してください。

関連する例

パラメーター

これらのプロパティは,[嵌入式编码器ディクショナリ]ウィンドウの[プロパティインスペクター]ペインに表示されます。表では,一括編集がしやすいように一部のプロパティが列として表示されます。

ストレージクラス

ストレージクラスの名前。名前は、ディクショナリのストレージ クラス内で一意でなければなりません。

金宝app仿真软件が提供する組み込みストレージクラス,およびストレージクラスの例のリストについては,生成されたコードでのデータ表示を制御するストレージクラスの選択を参照してください。

ストレージクラスの目的および機能について説明するために使用できるカスタムテキスト。

このプロパティは読み取り専用です。

ストレージクラスの定義がある場所。

  • 内置的——金宝app模型によって提供されます。

  • モデル名——仿金宝app真软件モデルで定義されます。

  • ディクショナリ名——仿金宝app真软件データディクショナリで定義されます(データディクショナリとはを参照)。

  • パッケージ名——仿金宝app真软件パッケージまたはカスタムパッケージで定義されます(使用自定义存储类设计器创建存储类を参照)。

モデルに関連付けられたデータにアクセスする指定。データに直接アクセスするか(直接),カスタマイズ可能な関数得到と関数函数)を介してアクセスします。詳細については,使用嵌入式编码器字典中的存储类通过函数访问数据を参照してください。

依存関係

  • このプロパティを[関数]に設定すると,次のようになります。

    • [データスコープ][インポート]に設定します。

    • マルチインスタンスプロパティを指定できないことを意味します。

    • 以下のプロパティを有効にします。

      • アクセスモード

      • 許可するアクセス

      • getterの名前

      • setterの名前

    • (配列の次元を保持]プロパティを無効にします。生成されたコード内で多次元配列の次元を保持するには,[データアクセス][直接]に設定します。

生成コードがデータを定義するのか(出口),データ定義を外部コードからインポートするのか(进口)の指定。組み込みストレージクラスおよび仿真金宝app软件などのパッケージ内のストレージクラスは,他のスコープオプション(文件など)を使用できます。

依存関係

  • このプロパティを[インポート]に設定すると,次のようになります。

    • (定義ファイル]が無効になります。外部ソースコードファイルをビルドプロセスに含めるには,モデルコンフィギュレーションパラメーターを使用します。例については,データインターフェイスの構成を参照してください。

    • [ヘッダーファイル]を[新罕布什尔州美元]に設定できないことを意味しますが,$ Nトークンを使用することはできます。

  • このプロパティを[エクスポート]に設定するには,[ヘッダーファイル]の値で$ Nまたは$ Rのどちらかのトークンを使用しなければなりません。

データを宣言するヘッダーファイルの名前。名前または命名規則として指定します。命名規則には,テキストとトークンの組み合わせが含まれます。有効なトークンを次の表に示します。

トークン 説明
$ R ルートモデルの名前
$ N 関連付けられているデータ要素の名前
G美元 ストレージクラスの名前
你美元 ユーザートークンテキスト。标识符的格式控制の説明に従ってモデルに指定します。

依存関係

  • [データスコープ](出口)に設定すると,$ Rまたは$ Nのどちらかのトークンを使用しなければなりません。

  • [データスコープ](进口)に設定すると,このプロパティの値を[新罕布什尔州美元]に設定することはできませんが,$ Nトークンを使用できます。

データを定義するソースファイルの名前。名前または命名規則として指定します。命名規則には,テキストとトークンの組み合わせが含まれます。有効なトークンを次の表に示します。

トークン 説明
$ R ルートモデルの名前
$ N 関連付けられているデータ要素の名前
G美元 ストレージクラスの名前
你美元 ユーザートークンテキスト。标识符的格式控制の説明に従ってモデルに指定します。

依存関係

[データスコープ](进口)に設定すると,(定義ファイル]が無効になります。外部ソースコードファイルをビルドプロセスに含めるには,モデルコンフィギュレーションパラメーターを使用します。例については,データインターフェイスの構成を参照してください。

[値]または[ポインター]を使用し,モデルに関連付けられているデータに関数を介してストレージクラスからアクセスする指定。詳細については,使用嵌入式编码器字典中的存储类通过函数访问数据を参照してください。

依存関係

このプロパティは[データアクセス][関数]に設定した場合にのみ有効になります。

ストレージクラスからデータへの読み取り/書き込み(读/写),読み取り専用(只读),または書き込み専用(只写)アクセスを許可する指定。

依存関係

このプロパティは[データアクセス][関数]に設定した場合にのみ有効になります。

関連付けられているデータを取得する関数得到の名前。名前または命名規則として指定します。命名規則には,テキストとトークンの組み合わせが含まれます。有効なトークンを次の表に示します。

トークン 説明
$ N 関連付けられているデータ要素の名前(必須)
$ R ルートモデルの名前
M美元 一意性を確保するマングルテキスト
你美元 ユーザートークンテキスト。标识符的格式控制を参照してください。

依存関係

このプロパティは[データアクセス][関数]に設定した場合にのみ有効になります。

変更するデータを取得する関数の名前。名前または命名規則として指定します。命名規則には,テキストとトークンの組み合わせが含まれます。有効なトークンを次の表に示します。

トークン 説明
$ N 関連付けられているデータ要素の名前(必須)
$ R ルートモデルの名前
M美元 一意性を確保するマングルテキスト
你美元 ユーザートークンテキスト。标识符的格式控制を参照してください。

依存関係

このプロパティは[データアクセス][関数]に設定した場合にのみ有効になります。

(単一インスタンスストレージ]セクションで指定するストレージ設定または[マルチインスタンスストレージ]セクションで指定するストレージ設定のいずれかで使用するストレージクラスの指定。データ項目にストレージクラスを適用すると,嵌入式编码器ディクショナリは,単一インスタンスストレージクラスとマルチインスタンスストレージクラスのどちらであるのかを,データの型とモデル参照階層内のモデルのコンテキストによって判断します。

依存関係

このプロパティを選択すると,(単一インスタンスストレージ]セクションと[マルチインスタンスストレージ]セクションが有効になります。プロパティ[ストレージタイプ][タイプ名)[インスタンス名)は,(単一インスタンスストレージ]セクションと[マルチインスタンスストレージ]セクションの両方に表示されます。

ストレージクラスを使用するデータを生成コード内の構造体に集約するための指定。各データ要素は,構造体のフィールドとしてコードに表示されます。構造体を作成するには,(结构)を使用します。

依存関係

このプロパティを(结构)に設定すると,[タイプ名)および[インスタンス名)が有効になります。

生成コード内の構造体型の名前。名前または命名規則として指定します。命名規則には,テキストとトークンの組み合わせが含まれます。有効なトークンを次の表に示します。

トークン 説明
$ R ルートモデルの名前
$ N 一步などの関連付けられた関数のベース名
G美元 ストレージクラスの名前
你美元 ユーザートークンテキスト。标识符的格式控制の説明に従ってモデルに指定します。
M美元 名前の競合を避けるために,必要に応じて挿入される名前マングリングテキスト

依存関係

[ストレージタイプ](结构)に設定すると,このプロパティが有効になります。

生成コード内の構造体変数の名前。名前または命名規則として指定します。命名規則には,テキストとトークンの組み合わせが含まれます。有効なトークンを次の表に示します。

トークン 説明
$ R ルートモデルの名前
$ N 一步などの関連付けられた関数のベース名
G美元 ストレージクラスの名前
你美元 ユーザートークンテキスト。标识符的格式控制の説明に従ってモデルに指定します。
M美元 名前の競合を避けるために,必要に応じて挿入される名前マングリングテキスト

依存関係

[ストレージタイプ](结构)に設定すると,このプロパティが有効になります。

生成コードによるデータ初期化の指定。

  • 动态——生成コードは,データをモデル初期化エントリポイント関数の一部として初期化します。

  • 静态——生成コードは,データを定義しデータにメモリを割り当てるのと同じステートメントで,データを初期化します。. cまたは. cppソースファイルの上部の,関数の外側に代入ステートメントが表示されます。

  • 没有一个——生成コードはデータを初期化しません。

依存関係

  • (常量)をオンにすると,このプロパティを(动态)に設定できません。

  • このプロパティを(动态)に設定すると(常量)が無効になります。

データを割り当てるメモリ内の位置。[メモリセクション]タブで、嵌入式编码器ディクショナリに存在するメモリセクションとして指定します。メモリセクションの詳細については,通过插入语控制数据和函数在内存中的位置を参照してください。

生成されたコード内で多次元配列の次元を保持するストレージクラスの指定。詳細については,在生成的代码中保留多维数组的维数を参照してください。

常量修飾子のデータへの適用の指定。

依存関係

  • このプロパティをオンにすると,[データの初期化)(动态)に設定できません。

  • [データの初期化)(动态)に設定すると,このプロパティが無効になります。

挥发性修飾子のデータへの適用の指定。

カスタム修飾子のデータへの適用の指定。たとえば,一部のメモリアーキテクチャでは修飾子および巨大的がサポートされています。

このプロパティを使用して,キーワード静态を適用しないでください。代わりに,コードマッピングエディターを使用して適用できない,組み込みストレージクラスFileScopeを使用します。生成されたコードでのデータ表示を制御するストレージクラスの選択を参照してください。

モデルパラメーターでストレージクラスの使用を許可するかどうかを示す指定。

依存関係

  • [データの初期化)(静态)に設定すると,このプロパティが有効になります。

  • [データの初期化)(动态)に設定すると,このプロパティが無効になります。

  • このプロパティの値を設定するには,[データの初期化)[なし]に設定します。

モデル信号でストレージクラスの使用を許可するかどうかを示す指定。

依存関係

  • [データの初期化)(动态)に設定すると,このプロパティが有効になります。

  • [データの初期化)(静态)に設定すると,このプロパティが無効になります。

  • このプロパティの値を設定するには,[データの初期化)[なし]に設定します。

関数カスタマイズテンプレート

テンプレートの名前。名前は、ディクショナリの関数テンプレート内で一意でなければなりません。Embedded Coder は、次の表に示す組み込みテンプレートを提供します。

テンプレート 説明
ModelFunction コードマッピングエディターで,初期化、実行,停止およびリセット用のエントリポイント関数に使用します(配置函数的默认代码生成を参照)。
UtilityFunction コードマッピングエディターで,共有ユーティリティ関数に使用します(配置函数的默认代码生成を参照)。

関数テンプレートの目的および機能について説明するために使用できるカスタムテキスト。

このプロパティは読み取り専用です。

関数テンプレート定義がある場所。

  • モデル名——仿金宝app真软件モデルで定義されます。

  • ディクショナリ名——仿金宝app真软件データディクショナリで定義されます(データディクショナリとはを参照)。

生成コード内の関数の名前。命名規則として指定します。命名規則には,テキストとトークンの組み合わせが含まれます。有効なトークンを次の表に示します。

トークン 説明
$ R ルートモデルの名前
$ N 一步などの関連付けられた関数のベース名
你美元 ユーザートークンテキスト。标识符的格式控制の説明に従ってモデルに指定します。
$ C 共有ユーティリティ関数の場合,名前の競合を避けるために挿入されるチェックサム
M美元 名前の競合を避けるために,必要に応じて挿入される名前マングリングテキスト

関数を割り当てるメモリ内の位置。嵌入式编码器ディクショナリの[メモリセクション]タブに存在するメモリセクションとして指定します。メモリセクションの詳細については,通过插入语控制数据和函数在内存中的位置を参照してください。

メモリセクション

メモリセクションの名前。名前は、ディクショナリのメモリ セクション内で一意でなければなりません。Embedded Coder は、次の表に示す組み込みメモリ セクションを提供します。

メモリセクション 説明
MemConst ストレージ型修飾子常量をデータに適用する。
MemVolatile ストレージ型修飾子挥发性をデータに適用する。
MemConstVolatile ストレージ型修飾子常量および挥发性をデータに適用する。

メモリセクションの目的および機能について説明するために使用できるカスタムテキスト。

このプロパティは読み取り専用です。

メモリセクション定義がある場所。

  • モデル名——仿金宝app真软件モデルで定義されます。

  • ディクショナリ名——仿金宝app真软件データディクショナリで定義されます(データディクショナリとはを参照)。

  • パッケージ名——仿金宝app真软件パッケージまたはカスタムパッケージで定義されます(为外部数据对象创建代码定义を参照)。

コードジェネレーターが,プラグマや,[ステートメントの前)および[ステートメントの後]で指定するその他の装飾によって含めるコードコメント。

メモリセクション内にあるデータまたは関数の定義および宣言の前に挿入する,プラグマなどのコード。

トークン$ Rを使って,メモリセクションを使用するモデルの名前を表すことができます。

[ステートメントを囲む文字)[各変数]に設定している場合,メモリセクションを使用する変数または関数のそれぞれの名前をトークン$ Nを使って表すことができます。

メモリセクション内にあるデータまたは関数の定義および宣言の後に挿入する,プラグマなどのコード。

トークン$ Rを使って,メモリセクションを使用するモデルの名前を表すことができます。

[ステートメントを囲む文字)[各変数]に設定している場合,メモリセクションを使用する変数または関数のそれぞれの名前をトークン$ Nを使って表すことができます。

コードステートメントの挿入([ステートメントの前)および[ステートメントの後])の指定。

  • メモリセクションを使用する変数と関数を個々に囲む。[各変数]を選択します。

  • メモリセクション全体を1度に囲む。生成コードは,変数および関数の定義を連続するコードブロックに集約し,そのブロックをステートメントで囲みます。[変数のグループ]を選択します。

制限

  • 嵌入式编码器ディクショナリで作成するストレージクラスまたは関数カスタマイズテンプレートは,(パッケージのコード生成定義の参照で説明するように)パッケージから読み込むメモリセクションを使用できません。嵌入式编码器ディクショナリで定義したメモリ セクションを使用します。

  • コード生成定義を. mdlモデルファイル内に作成することはできません。

  • データディクショナリ(.slddファイル)としての嵌入式编码器ディクショナリ内のコード生成定義におけるその他の制限事項については,部署代码生成定义を参照してください。

R2018aで導入