マクロ定義 (#define)
C 構成要素
#define myParam 9.8;
生成されたマクロ定義のエクスポート
1. モデル例 ex_param_macro を開きます。

2. モデルで Gain ブロックを選択します。プロパティ インスペクターで、[ゲイン] パラメーターの値を myParam に設定します。
3. パラメーター値の横にあるアクション ボタン (3 つの縦向きのドットのボタン) をクリックし、[作成] を選択します。
4. [新規データの作成] ダイアログ ボックスで、[値] を Simulink.Parameter(9.8) に設定します。[作成] をクリックします。Simulink.Parameter オブジェクト myParam がベース ワークスペースに表示されます。このオブジェクトを使用して、Gain ブロックで [ゲイン] パラメーターの値が設定されます。この例では 9.8 です。
5. [コード生成] タブで、[Coder アプリでの構成] ボタンをクリックします。コード マッピング エディターで、[ストレージ クラス] を Define に設定します。[OK] をクリックします。
6. モデルをビルドしてコードを生成するには、Ctrl+B を押します。
生成されたヘッダー ファイル ex_param_macro.h で myParam がマクロとして定義されます。
/* Definition for custom storage class: Define */ #define myParam 9.8 /* Referenced by: '<Root>/Gain' */
手書きコードからのマクロの再利用
1. コード マッピング エディターの [パラメーター] タブで、[コード マッピングを更新します] ボタンをクリックします。
2. myParam の [ストレージ クラス] を Define から ImportedDefine に変更します。
3. プロパティ インスペクターの [コード] セクションで、[ヘッダー ファイル] を external_params.h に設定します。生成されたコードで、external_params.h という名前のカスタム ヘッダー ファイルからマクロ定義がインポートされます。
4. 現在のフォルダーで、#define ステートメントを含む C ヘッダー ファイル external_params.h を作成します。
#ifndef _EXTERNAL_PARAMS #define _EXTERNAL_PARAMS #define myParam 9.8 #endif /* EOF */
5. モデルをビルドしてコードを生成するには、Ctrl+B を押します。
生成されたヘッダー ファイル ex_param_macro.h でマクロは定義されません。代わりに、ファイルで #include が使用され、カスタム ヘッダー ファイル external_params.h がインクルードされます。
/* Includes for objects with custom storage classes */ #include "external_params.h"
ソース ファイル ex_param_macro.c に、myParam の定義が存在することをチェックするためのガードが含まれます。
#include "rtwtypes.h" #include "external_params.h" /* * Check that imported macros with storage class "ImportedDefine" are defined */ #ifndef myParam #error The value of parameter "myParam" is not defined #endif