Real-Time Workshop User's Guide | ![]() ![]() |
Real-time Workshopは、式の内部でのチューニング可能な変数の利用をサポートします。1つまたは複数のチューニング可能なパラメータを含む式は、チューニング可能な式と呼ばれます。
現在では、式の内部でのチューニング可能な変数の利用には制限があります。以下で、サポートされていないと記述されている式がコード生成中にある場合、ワーニングが表示されチューニング不可能な式がコード内に生成されます。チューニング可能な式の制限は、以下の通りです。
マスクされたサブシステムのチューニング可能な式
チューニング可能な式は、マスクされたサブシステムで利用できます。マスクされたサブシステムダイアログで、チューニング可能なパラメータ名またはチューニング可能な式を利用できます。低レベルのサブシステムで参照されるときには、パラメータはチューニング可能のままです。
例題として、下記に示したマスクされたサブシステムを考えます。マスクされたダイアログ変数k
は、theGain
のゲインパラメータを設定します。
ベースワークスペース変数b
は、SimulinkGlobal(Auto)
ストレージクラスで、チューニング可能と宣言されていると仮定します。図 3-11は、サブシステムのマスクダイアログ内のチューニング可能な式b*3
を示します。
図 3-11: Subsystem Maskダイアログのチューニング可能な式
Real-Time Workshopは、theGain
に対して以下の出力を生成します。
/* Gain Block: <S1>/theGain */ rtb_temp0 *= (rtP.b * 3.0);
b
は、グローバルパラメータ構造体rtP
のメンバとして表わされます。
マスクされたサブシステムでのチューニング可能な式の制限 マスク初期化コードで宣言された、あるいは変更された変数を含む式は、チューニング不可能です。
t = 3 * k;
myGain
kは、4 + t
です。b = 2
。式b * 3
は、図 3-11のようにマスクダイアログに組み込まれます。マスク初期化コードは、1回だけ実行できるので、k
はコード生成時につぎのように評価されます。
4 + (3 * (2 * 3) )
Real-Time Workshopは、結果をインライン化します。そのため、 b
がチューニング可能と宣言されたにもかかわらず、コードジェネレータは、theGain
に対してつぎのように出力を生成します。
/* Gain Block: <S1>/theGain */ rtb_temp0 *= (22.0);
![]() | Model Parameter Configurationダイアログの使用法 | 信号: ストレージ、最適化、インタフェース | ![]() |