Real-Time Workshop User's Guide    

チューニング不可能なパラメータのストレージ

デフォルトでは、ブロックパラメータは生成コード内でチューニング可能ではありません。デフォルトでは、Real-Time Workshopはパラメータのストレージ宣言や生成コード内でのパラメータのシンボルを制御します。

チューニング不可能なパラメータは、rtPと呼ばれるモデル固有のグローバルパラメータデータ構造体のフィールドとして格納されます。Real-Time Workshopは、rtPの各フィールドを、コード生成時に対応するブロックパラメータの値に初期化します。

Inline parameters オプションがオンのとき、ブロックパラメータはコード生成時に評価され、それらの値は、生成コード内に定数として記述されます (しかし、ベクトルパラメータは、rtP内で定数の配列データとして記述される場合があります)。

チューニング不可能なパラメータのストレージの例として、つぎのモデルを考えます。

ワークスペース変数Kp は、Gain1ブロックのゲインを設定します。

Kpがチューニング不可能で、値が5.0であると仮定します。表 3-2 は、変数の宣言と、非インラインおよびインラインの場合にKpに対して生成されたコードを示します。

生成されたコードは、シンボル名Kpを保存しないことに注意してください。非インラインコードは、Gain1ブロックのゲインをrtP.Gain1_Gainとして表わします。

表 3-2: チューニング不可能なパラメータのストレージ宣言とコード
インラインパラメータ
生成される変数宣言とコード
Off
    typedef struct Parameters_tag {
    real_T Sine_Wave_Amp; 
    real_T Sine_Wave_Freq;
    real_T Sine_Wave_Phase;
    real_T Gain1_Gain;
    } Parameters;
    .
    .
    Parameters rtP = {
    1.0 , /*Sine_Wave_Amp : '<Root>/Sine Wave' */
    1.0 , /*Sine_Wave_Freq : '<Root>/Sine Wave' */
    0.0 , /*Sine_Wave_Phase : '<Root>/Sine Wave'*/
    5.0   /*Gain1_Gain : '<Root>/Gain1' */
    };
    .
    .
    rtb_y = rtB.u * (rtP.Gain1_Gain);
    
On
    rtb_y = rtB.u * (5.0);
    


 パラメータ: ストレージ、インタフェース、チューニング チューニング可能なパラメータのストレージ