このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
実行時に調整できるグローバル変数としてのモデル パラメーターの設定
既定では、モデル パラメーターのストレージとエントリポイント関数インターフェイスに含まれないほとんどの信号のストレージが、コード生成の最適化によって削除されます。パラメーターを調整可能にして関連する信号にアクセスできるようにするには、それらを明示的に設定して識別します。
モデル RollAxisAutopilot
の BasicRollMode
サブシステムで、PID 制御パラメーターが、値を調整できるグローバル変数としてコードに表示されるように設定します。
BasicRollMode
サブシステムを開きます。モデル データ エディターを開きます。[モデル化] タブで [モデル データ エディター] をクリックします。
モデル データ エディターで、[パラメーター] タブを選択します。
フィルター フィールドに、「
IntGain
」と入力します。モデル データ エディターには、[Gain] パラメーターに対応する行と、ワークスペース変数に対応する行が表示されます。[Source] 列で、
IntGain
をクリックします。その Gain ブロックはモデル ブロック線図で強調表示されます。intGain
の横にある [値] 列で、アクション ボタン (3 つの縦向きのドット) をクリックし、[探索] を選択します。モデル ワークスペース変数をパラメーター オブジェクトに変換します。モデル エクスプローラーで、
intGain
を右クリックし、[パラメーター オブジェクトに変換]
を選択します。[ダイアログ] ペインの [コード生成] タブで、[Coder アプリでの構成] をクリックします。
コード マッピング エディターの [パラメーター] タブで、
intGain
の [ストレージ クラス] 設定を[Model default]
に変更します。これは、パラメーター オブジェクトにより、コード生成の最適化で変数のストレージが削除されないようにすることを示します。この設定では、オブジェクトは、カテゴリ [Model parameters] のデータの既定値としてコード マッピング エディターで指定されているストレージ クラスを使用します。モデルを保存し、コードを再生成します。
このチュートリアルの後半で調査するコード生成レポート ウィンドウは最小化します。
コード ビューで、次を実行します。
intGain
を検索します。RollAxisAutopilot.c
の強調表示されたコードP.intGain
のP
にカーソルを合わせます。RollAxisAutopilot_data.c
のintGain
のパラメーター オブジェクト定義を確認するには、ダイアログ ボックス内の定義コードをクリックします。
このモデルから生成したコードでは、パラメーター オブジェクトがメモリに格納されます。カテゴリ [Model parameters] に対するコード マッピング エディターの既定のストレージ クラス設定は [Default]
のままであるため、コード ジェネレーターはストレージ形式を、構造体のフィールドなどとして判断します。
次に、テスト ハーネス モデルおよびソフトウェアインザループ (SIL) シミュレーションを使用して、モデルのシミュレーションと生成されたコードの結果を比較します。