Main Content

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

addOpening

slLinearizer または slTuner インターフェイスの開始点リストに信号を追加

説明

addOpening(s,pt) は、指定された点 (信号) を slLinearizer または slTuner インターフェイス s永続的な開始点のリストに追加します。

永続的な開始点を使用し、線形化と調整の目的で特定のモデル コンポーネントを分離します。航空機のダイナミクスを取得する大規模なモデルがあり、機体にのみ線形解析を実行するとします。永続的な開始点を使用すれば、このモデルの他のコンポーネントをすべて除外できます。モデル内にカスケード式ループがあり、特定のループを解析する場合などにも使用できます。

addOpening(s,blk,port_num) は、指定のブロックの指定の出力端子に、s の永続的な開始点としての信号を追加します。

addOpening(s,blk,port_num,bus_elem_name) は、指定されたバス要素を永続的な開始点として追加します。

すべて折りたたむ

scdcascade モデルの内側のループのダイナミクスのみを解析するとします。外側のループのフィードバック信号 y1m を、slLinearizer インターフェイスの永続的な開始点として追加します。

scdcascade モデルを開きます。

mdl = 'scdcascade';
open_system(mdl)

モデルの slLinearizer インターフェイスを作成します。

sllin = slLinearizer(mdl);

y1m 信号を sllin の永続的な開始点として追加します。

addOpening(sllin,'y1m');

現在 sllin 内で定義されている解析ポイントを表示します。

sllin
 
slLinearizer linearization interface for "scdcascade":

No analysis points. Use the addPoint command to add new points.
1 Permanent openings: 
--------------------------
Opening 1:
- Block: scdcascade/Sum
- Port: 1
- Signal Name: y1m
 
Properties with dot notation get/set access:
      Parameters         : [] 
      OperatingPoints    : [] (model initial condition will be used.)
      BlockSubstitutions : []
      Options            : [1x1 linearize.LinearizeOptions]

scdcascade モデルの内側のループのダイナミクスのみを解析するとします。外側のループのフィードバック信号 y1m を、slLinearizer インターフェイスの永続的な開始点として追加します。

scdcascade モデルを開きます。

mdl = 'scdcascade';
open_system(mdl)

モデルの slLinearizer インターフェイスを作成します。

sllin = slLinearizer(mdl);

y1m 信号を sllin の永続的な開始点として追加します。

addOpening(sllin,'scdcascade/Sum',1);

y1m 信号は、scdcascade/Sum ブロックの最初 (かつ唯一) の端子で発生します。

scdbusselection モデルを開きます。

mdl = 'scdbusselection';
open_system(mdl);

モデルの slLinearizer インターフェイスを作成します。

sllin = slLinearizer(mdl);

scdbusselectionCOUNTERBUS 信号には、複数のバス要素が含まれます。upper_saturation_limit および data バス要素を、開始点として sllin に追加します。入れ子にされたバス構造内に要素を追加する場合は、たとえば limits.upper_saturation_limit のようにドット表記を使用して、入れ子にされたバスの要素にアクセスします。

blk = {'scdbusselection/COUNTERBUSCreator','scdbusselection/COUNTERBUSCreator'};
port_num = [1 1];
bus_elem_name = {'limits.upper_saturation_limit','data'};

両方のバス要素は、scdbusselection/COUNTERBUSCreator ブロックの最初 (かつ唯一) の端子で発生します。そのため、blkport_num には同じ要素を 2 回指定します。

入力引数

すべて折りたたむ

Simulink モデルへのインターフェイス。slLinearizer インターフェイスまたは slTuner インターフェイスとして指定します。

s永続的な開始点のリストに追加する開始点。以下で指定します。

  • 文字ベクトルまたは string — 次のいずれかの信号識別子。

    • 信号名 ('torque' など)

    • 出力端子が 1 つのブロックのブロック パス ('Motor/PID' など)

    • 信号の発信元のブロックおよび端子のパス ('Engine Model/1''Engine Model/torque' など)

  • 文字ベクトルの cell 配列または string 配列 — 複数の信号識別子を指定します。たとえば、pt = {'Motor/PID','Engine Model/1'} とします。

  • 線形化 I/O オブジェクトのベクトル — linio を使用して pt を作成します。以下に例を示します。

    pt(1) = linio('scdcascade/setpoint',1)
    pt(2) = linio('scdcascade/Sum',1,'output')

    ここでは、pt(1) で入力を指定し、pt(2) で出力を指定します。ただし、ソフトウェアでは I/O のタイプは無視され、両方が s の永続的な開始点のリストに追加されます。

開始点の発信元となるブロックを識別するブロック パス。文字ベクトルまたは文字ベクトルの cell 配列として指定します。

blk の次元:

  • 単一の開始点の場合、文字ベクトルまたは string として blk を指定します。

    たとえば、blk = 'scdcascade/C1' とします。

  • 複数の開始点の場合、文字ベクトルの cell 配列または string 配列として blk を指定します。blkport_num および bus_elem_name (指定する場合) は同じサイズでなければなりません。

    たとえば、blk = {'scdcascade/C1','scdcascade/Sum'} とします。

開始点の発信元となる端子。正の整数または正の整数のベクトルとして指定します。

port_num の次元:

  • 単一の開始点の場合、正の整数として port_num を指定します。

    たとえば、port_num = 1 とします。

  • 複数の開始点の場合、正の整数のベクトルとして port_num を指定します。blkport_num および bus_elem_name (指定する場合) は同じサイズでなければなりません。

    たとえば、port_num = [1 1] とします。

バス要素名。文字ベクトルまたは文字ベクトルの cell 配列として指定します。

bus_elem_name の次元:

  • 単一の開始点の場合、文字ベクトルまたは string として bus_elem_name を指定します。

    たとえば、bus_elem_name = 'data' とします。

  • 複数の開始点の場合、文字ベクトルの cell 配列または string 配列として bus_elem_name を指定します。blkport_num および bus_elem_name (指定する場合) は同じサイズでなければなりません。

    たとえば、bus_elem_name = {'limits.upper_saturation_limit','data'} とします。

詳細

すべて折りたたむ

永続的な開始点

"永続的な開始点" とは、slLinearizer および slTuner インターフェイスで使用され、ソフトウェアがモデル内で信号の流れを中断する箇所を示します。線形化および調整時に、これらの開始点が強制的に適用されます。永続的な開始点は、ある特定のモデル コンポーネントを分離するために使用します。航空機のダイナミクスを取得する大規模なモデルがあり、機体にのみ線形解析を実行するとします。永続的な開始点を使用すれば、このモデルの他のコンポーネントをすべて除外できます。モデル内にカスケード式ループがあり、特定のループを解析する場合などにも使用できます。

"場所" とは、モデル内の特定のブロック出力端子を指します。便宜上、この端子から発信する信号の名前を使って開始点を示すことができます。

永続的な開始点は、slLinearizer または slTuner インターフェイス s に対して、インターフェイスの作成時に追加するか、addOpening コマンドを使用して追加できます。永続的な開始点のリストから場所を削除するには、removeOpening コマンドを使用します。

s のすべての開始点を表示するには、コマンド プロンプトで s と入力してインターフェイスの内容を表示します。s のそれぞれの永続的な開始点の表示には、ブロック名、端子番号、およびこの場所から発信される信号の名前が含まれます。getOpenings を使用して、すべての永続的なループ開始点のリストをプログラムで取得することもできます。

バージョン履歴

R2013b で導入