プログラム インターフェイスを使用して、Simulink モデルのコード マッピング構成におけるデータの既定の設定を取得および設定します。
コマンドが [コード マッピング] エディターにどのように反映されるかを対話的に確認するには、[データの既定の設定] タブが選択された状態で [コード マッピング] エディターが開いていることを確認してください。[コード マッピング] エディターを開く方法については、コード マッピング エディター – C を開くを参照してください。
モデル CoderMapAPI
を開きます。
モデルのコード マッピング オブジェクトを取得します。
すべてのルートレベルの端子のストレージ クラスを Model default
に設定します。これにより、それらの生成コードが Data Defaults
に設定した値で決定されるようになります。
入力端子と出力端子の既定のストレージ クラスを調べます。
inPortDefaultStorageClass =
'ImportedExtern'
outPortDefaultStorageClass =
'ImportedExternPointer'
モデルからコードを生成します。
ImportedExtern
および ImportedExternPointer
ストレージ クラスのルートレベルの端子は、モデルの生成されたプライベート ヘッダー ファイル内の別個のセクションで宣言されます。
ヘッダー ファイルの名前を格納します。
priv_h_file =
"CoderMapAPI_grt_rtw/CoderMapAPI_private.h"
以下に、ヘッダー ファイル内のルートレベルの端子の宣言を示します。
/* Data with Imported storage */
extern real_T in_port_1; /* '<Root>/in_port_1' */
extern real_T in_port_2; /* '<Root>/in_port_2' */
extern real_T in_port_3; /* '<Root>/in_port_3' */
extern real_T in_port_4; /* '<Root>/in_port_4' */
/* Data with Imported storage (pointer) */
extern real_T *out_port_1; /* '<Root>/out_port_1' */
extern real_T *out_port_2; /* '<Root>/out_port_2' */
extern real_T *out_port_3; /* '<Root>/out_port_3' */
extern real_T *out_port_4; /* '<Root>/out_port_4' */
ヘッダー ファイルを開くには、MATLAB コマンド ウィンドウに次のコマンドを入力します。
入力端子と出力端子の既定のストレージ クラスを入れ替えます。
修正後のモデルからコードを生成します。
指定したストレージ クラスに従って、ヘッダー ファイルでルートレベルの端子の宣言が更新されます。
/* Data with Imported storage */
extern real_T out_port_1; /* '<Root>/out_port_1' */
extern real_T out_port_2; /* '<Root>/out_port_2' */
extern real_T out_port_3; /* '<Root>/out_port_3' */
extern real_T out_port_4; /* '<Root>/out_port_4' */
/* Data with Imported storage (pointer) */
extern real_T *in_port_1; /* '<Root>/in_port_1' */
extern real_T *in_port_2; /* '<Root>/in_port_2' */
extern real_T *in_port_3; /* '<Root>/in_port_3' */
extern real_T *in_port_4; /* '<Root>/in_port_4' */