ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simulink モデルの変更と操作点の仕様の同期

Simulink モデルの変更と線形解析ツールの同期

以下の例では、線形解析ツールの操作点の仕様を更新して、Simulink® モデルへの変更を反映させる方法を説明します。

Simulink モデルを変更すると、状態、入力、または出力が変更、追加、または削除される可能性があり、それによって操作点が変更されます。線形解析ツールが開いている間に操作点の仕様変更した場合は、線形解析ツールの操作点の仕様を同期して、モデルでの変更を反映させなければなりません。

  1. Simulink モデルを開きます。

    sys = ('scdspeedctrl');
    open_system(sys)
  2. Simulink エディターで、[解析][制御設計][線形解析] を選択します。

    モデルに対応した線形解析ツールが開き、モデルの初期条件に既定の操作点が設定されます。

  3. 線形解析ツールの [操作点] ドロップダウン リストで、[モデルの平衡化] を選択します。

    [モデルの平衡化] ダイアログ ボックスが表示されます。

    Reference Filter ブロックには 1 つの状態しかありません。

  4. Simulink エディターで Reference Filter ブロックをダブルクリックします。伝達関数の [分子係数][100] に変更し、[分母係数][1 20 100] に変更します。[OK] をクリックします。

    この変更によりフィルターの次数が大きくなり、Simulink モデルに状態が追加されます。

  5. [モデルの平衡化] ダイアログで [モデルと同期] をクリックして、線形解析ツールの操作点の仕様と更新されたモデルの状態とを同期します。

    ダイアログでは Reference Filter ブロックについて 2 つの状態が表示されています。

  6. [平衡化の開始] をクリックして操作点を計算します。

Simulink モデルの変更と既存の操作点の仕様オブジェクトの同期

以下の例では、関数 update を使用して、Simulink モデルの更新後に操作点の仕様オブジェクトを更新する方法を説明します。

  1. Simulink モデルを開きます。

    sys = 'scdspeedctrl';
    open_system(sys)
  2. 操作点の仕様オブジェクトを作成します。

    opspec = operspec(sys);

    既定では、すべてのモデル状態が定常状態に指定されています。

  3. Simulink エディターで Reference Filter ブロックをダブルクリックします。伝達関数の [分子係数][100] に、[分母係数][1 20 100] に変更します。[OK] をクリックします。

  4. これらの仕様を満たす定常状態の操作点を検索してみます。

    op = findop(sys,opspec);

    モデルへの変更が操作点の仕様オブジェクトに反映されていないため、このコマンドはエラーになります。

    ???モデル scdspeedctrl は修正されており、操作点オブジェクト
    が無効になっています。 操作点オブジェクトで関数の更新を呼び出すことで、
    オブジェクトを更新してください。
  5. 操作点の仕様オブジェクトを更新して、モデルへの変更を反映させます。操作点探索を繰り返します。

    opspec = update(opspec);
    op = findop(sys,opspec);
    bdclose(sys)
     Operating Point Search Report:
    ---------------------------------
    
     Operating Report for the Model scdspeedctrl.
     (Time-Varying Components Evaluated at time t=0)
    
    Operating point specifications were successfully met.
    States: 
    ----------
    (1.) scdspeedctrl/External Disturbance/Transfer Fcn
          x:             0      dx:             0 (0)
          x:             0      dx:             0 (0)
    (2.) scdspeedctrl/PID Controller/Filter
          x:             0      dx:            -0 (0)
    (3.) scdspeedctrl/PID Controller/Integrator
          x:          8.98      dx:     -4.51e-14 (0)
    (4.) scdspeedctrl/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar
          x:         0.544      dx:      2.94e-15 (0)
    (5.) scdspeedctrl/Vehicle Dynamics/w = T//J w0 = 209 rad//s
          x:           209      dx:     -1.52e-13 (0)
    (6.) scdspeedctrl/Reference Filter/State Space
          x:           200      dx:             0 (0)
    
    Inputs: None 
    ----------
    
    Outputs: None 
    ----------

    操作点の仕様オブジェクトを更新した後は、最適化アルゴリズムにより操作点を検索できます。

関連する例

この情報は役に立ちましたか?