Main Content

C 関数プロトタイプ コントロールのサポート

この節では、カスタムの組み込みターゲットを設定して関数プロトタイプ コントロールをサポートする方法を説明します。説明されている変更を行わないと、エントリポイント関数インターフェイスをカスタマイズするインターフェイスを使用できません。詳細については、生成された C 関数インターフェイスをモデルのエントリポイント関数用に構成(Embedded Coder)を参照してください。

C 関数プロトタイプ コントロールとカスタム ターゲットについて

C 関数プロトタイプ コントロールをサポートするための要件を次に示します。

  • システム ターゲット ファイルは ERT システム ターゲット ファイルから派生させなければなりません。

  • C 関数プロトタイプ コントロール準拠の宣言に示すように、システム ターゲット ファイルは C 関数プロトタイプ コントロール準拠を宣言しなければなりません。

  • システム ターゲット ファイルがカスタムの静的メイン プログラムを使用する場合、および既定でない関数プロトタイプ コントロール コンフィギュレーションがモデルに関連付けられている場合、カスタムの静的メイン プログラムでの C 関数プロトタイプ コントロールのサポートに示すように、静的メイン プログラムは、関数プロトタイプが制御する初期化関数とステップ関数を呼び出さなければなりません。

カスタム ターゲットのオプション機能を設定する方法の例については、システム ターゲット ファイルのカスタマイズを参照してください。

C 関数プロトタイプ コントロール準拠の宣言

ターゲットの C 関数プロトタイプ コントロール準拠を宣言するには、ModelStepFunctionPrototypeControlCompliantフラグを設定するコールバック関数を実装して、システム ターゲット ファイルのrtwgensettings構造体のSelectCallbackフィールドにコールバック関数をインストールしなければなりません。コールバック関数は、システム ターゲット ファイル ブラウザーでターゲットが選択されるたびにトリガーされます。たとえば、次のシステム ターゲット ファイル コードは、custom_select_callback_handlerという関数SelectCallbackをインストールします。

rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';

関数SelectCallbackへの引数 (hDlghSrc) は、コールバック API 関数によって使用されるプライベート データのハンドルです。これらのハンドルは、システム ターゲット ファイル コールバック関数内での使用に制限され、変更されることなく渡されます。

コールバック関数は、次に示すようにModelStepFunctionPrototypeControlCompliantフラグを設定しなければなりません。

slConfigUISetVal(hDlg,hSrc,'ModelStepFunctionPrototypeControlCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'ModelStepFunctionPrototypeControlCompliant',false); hSrc.refreshDialog;

システム ターゲット ファイル コールバック API の詳細については、関数slConfigUIGetValslConfigUISetEnabledおよびslConfigUISetValのリファレンス ページを参照してください。

ModelStepFunctionPrototypeControlCompliantターゲット コンフィギュレーション パラメーターがonに設定されている場合は、[C ステップ関数インターフェイスを設定] ダイアログ ボックスを使用して、レートベース モデルに対して生成された基本レートのステップ関数の関数プロトタイプを制御できます。

カスタムの静的メイン プログラムでの C 関数プロトタイプ コントロールのサポート

ターゲットがカスタムの静的メイン プログラムを使用する場合、および既定でない関数プロトタイプ コントロール コンフィギュレーションがモデルに関連付けられている場合、静的メイン プログラムを更新して、関数プロトタイプが制御する初期化関数とステップ関数を呼び出さなければなりません。そのためには、以下のいずれかを実行します。

  1. モデル データを宣言して、関数プロトタイプが制御する初期化関数とステップ関数を呼び出すように静的メイン プログラムを手動で適用させます。

  2. モデル コンフィギュレーション パラメーター[メイン プログラム例の生成]を選択してメイン プログラムを生成します。生成されたメイン プログラムは、モデル データを宣言して、関数プロトタイプが制御する初期化関数とステップ関数を呼び出します。

関連するトピック