Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

実行時に調整できるグローバル変数としてのモデル パラメーターの設定

既定では、モデル パラメーターのストレージとエントリポイント関数インターフェイスに含まれないほとんどの信号のストレージが、コード生成の最適化によって削除されます。パラメーターを調整可能にして関連する信号にアクセスできるようにするには、それらを明示的に設定して識別します。

モデル RollAxisAutopilotBasicRollMode サブシステムで、PID 制御パラメーターが、値を調整できるグローバル変数としてコードに表示されるように設定します。

  1. BasicRollMode サブシステムを開きます。

  2. モデル データ エディターを開きます。[モデル化] タブで [モデル データ エディター] をクリックします。

  3. モデル データ エディターで、[パラメーター] タブを選択します。

  4. フィルター フィールドに、「IntGain」と入力します。モデル データ エディターには、[Gain] パラメーターに対応する行と、ワークスペース変数に対応する行が表示されます。

  5. [Source] 列で、IntGain をクリックします。その Gain ブロックはモデル ブロック線図で強調表示されます。

  6. intGain の横にある [値] 列で、アクション ボタン (3 つの縦向きのドット) をクリックし、[探索] を選択します。

  7. モデル ワークスペース変数をパラメーター オブジェクトに変換します。モデル エクスプローラーで、intGain を右クリックし、[パラメーター オブジェクトに変換] を選択します。

  8. [ダイアログ] ペインの [コード生成] タブで、[Coder アプリでの構成] をクリックします。

  9. コード マッピング エディターの [パラメーター] タブで、intGain[ストレージ クラス] 設定を [Model default] に変更します。これは、パラメーター オブジェクトにより、コード生成の最適化で変数のストレージが削除されないようにすることを示します。この設定では、オブジェクトは、カテゴリ [Model parameters] のデータの既定値としてコード マッピング エディターで指定されているストレージ クラスを使用します。

  10. モデルを保存し、コードを再生成します。

    このチュートリアルの後半で調査するコード生成レポート ウィンドウは最小化します。

  11. コード ビューで、次を実行します。

    1. intGain を検索します。

    2. RollAxisAutopilot.c の強調表示されたコード P.intGainP にカーソルを合わせます。

    3. RollAxisAutopilot_data.cintGain のパラメーター オブジェクト定義を確認するには、ダイアログ ボックス内の定義コードをクリックします。

このモデルから生成したコードでは、パラメーター オブジェクトがメモリに格納されます。カテゴリ [Model parameters] に対するコード マッピング エディターの既定のストレージ クラス設定は [Default] のままであるため、コード ジェネレーターはストレージ形式を、構造体のフィールドなどとして判断します。

次に、テスト ハーネス モデルおよびソフトウェアインザループ (SIL) シミュレーションを使用して、モデルのシミュレーションと生成されたコードの結果を比較します。