Main Content

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

addPoint

slLinearizer または slTuner インターフェイスの解析ポイントのリストに信号を追加

説明

addPoint(s,pt) は、指定された点を slLinearizer または slTuner インターフェイス s解析ポイントのリストに追加します。

解析ポイントとは、解析および調整のために入力、出力またはループ開始点の場所として使用できるモデル信号のことです。解析ポイントは、s の線形化コマンドの入力として使用します。getIOTransfergetLoopTransfergetSensitivity および getCompSensitivity。線形化コマンドの入力として、解析ポイントによりモデル内の開ループまたは閉ループの伝達関数を指定できます。また、解析ポイントを使用して systune の調整目標を指定することもできます。

addPoint(s,blk,port_num) は、指定のブロックの指定の出力端子を起点とする点を s の解析ポイントとして追加します。

addPoint(s,blk,port_num,bus_elem_name) は、指定されたバス要素を解析ポイントとして追加します。

すべて折りたたむ

scdcascade モデルを開きます。

mdl = 'scdcascade';
open_system(mdl);

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

sllin = slLinearizer(mdl);

sllin の解析ポイントとして u1y1 を追加します。

addPoint(sllin,{'u1','y1'});

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

sllin
 
slLinearizer linearization interface for "scdcascade":

2 Analysis points: 
--------------------------
Point 1:
- Block: scdcascade/C1
- Port: 1
- Signal Name: u1
Point 2:
- Block: scdcascade/G1
- Port: 1
- Signal Name: y1
 
No permanent openings. Use the addOpening command to add new permanent openings.
Properties with dot notation get/set access:
      Parameters         : [] 
      OperatingPoints    : [] (model initial condition will be used.)
      BlockSubstitutions : []
      Options            : [1x1 linearize.LinearizeOptions]

Magball モデルを線形化し、基準入力からプラント出力への伝達関数を取得するとします。Desired Height ブロックと Magnetic Ball Plant ブロックで発生した信号を、解析ポイントとして slLinearizer インターフェイスに追加します。

magball モデルを開きます。

mdl = 'magball';
open_system(mdl);

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

sllin = slLinearizer(mdl);

Design Height ブロックと Magnetic Ball Plant ブロックで発生した信号を、sllin の解析ポイントとして追加します。どちらの信号も、それぞれのブロックの最初 (かつ唯一) の端子で発生します。

blk = {'magball/Desired Height','magball/Magnetic Ball Plant'};
port_num = [1 1];
addPoint(sllin,blk,port_num);

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'};
addPoint(sllin,blk,port_num,bus_elem_name);

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

入力引数

すべて折りたたむ

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

s解析ポイントのリストに追加する解析ポイント。以下で指定します。

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

    • 信号名 ('torque' など)

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

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

  • 文字ベクトルの cell 配列または string 配列 — 複数の信号識別子を指定します。

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

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

    ここでは、pt(1) で入力を指定し、pt(2) で出力を指定します。このインターフェイスは、pt で指定されたすべての信号を追加し、それらの I/O タイプは無視します。このインターフェイスでは、'loopbreak' タイプのすべての信号も永続的な開始点として追加されます。

解析ポイントの発信元となるブロックを識別するブロック パス。次のいずれかで指定します。

  • 単一のポイントを指定する文字ベクトルまたは string (例: blk = 'scdcascade/C1')。

  • 複数のポイントを指定する文字ベクトルの cell 配列または string 配列 (例: blk = {'scdcascade/C1','scdcascade/Sum'})。

blkport_num および bus_elem_name (指定する場合) は同じサイズでなければなりません。

解析ポイントの発信元となる端子。次のいずれかで指定します。

  • 単一のポイントを指定する正の整数 (例: port_num = 1)。

  • 複数のポイントを指定する正の整数のベクトル (例: port_num = [1 1])。

blkport_num および bus_elem_name (指定する場合) は同じサイズでなければなりません。

バス要素名。次のいずれかで指定します。

  • 単一のポイントを指定する文字ベクトルまたは string (例: bus_elem_name = 'data')。

  • 複数のポイントを指定する文字ベクトルの cell 配列または string 配列 (例: bus_elem_name = {'limits.upper_saturation_limit','data'})。

blkport_num および bus_elem_name (指定する場合) は同じサイズでなければなりません。

詳細

すべて折りたたむ

解析ポイント

"解析ポイント" は、slLinearizerslTuner インターフェイスで使用され、モデル内で線形解析と制御システムの調整に関連する箇所を示します。解析ポイントは、getIOTransfergetLoopTransfergetSensitivitygetCompSensitivity などの線形化コマンドの入力として使用します。線形化コマンドの入力として、解析ポイントによりモデル内の開ループまたは閉ループの伝達関数を指定できます。また、systune などのコマンドを使って制御システムを調整する際に、解析ポイントを使用して設計要件を指定することもできます。

"場所" とは、モデル内の特定のブロック出力端子か、そのような出力端子にあるバス要素を指します。便宜上、この端子から発信する信号の名前を使って解析ポイントを示すことができます。

解析ポイントは、slLinearizer または slTuner インターフェイス s に対して、インターフェイスの作成時に追加できます。以下に例を示します。

s = slLinearizer('scdcascade',{'u1','y1'});

また、addPoint コマンドを使用することもできます。

s のすべての解析ポイントを表示するには、コマンド プロンプトで s と入力してインターフェイスの内容を表示します。s の各解析ポイントの表示には、ブロック名、端子番号、およびこの解析ポイントから発信される信号の名前が含まれます。getPoints を使用して、すべての解析ポイントのリストをプログラムで取得することもできます。

解析ポイントの使用方法の詳細については、制御システムの解析と設計における対象信号のマークおよびバッチ線形化用に対象の信号をマークするを参照してください。

永続的な開始点

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

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

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

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

バージョン履歴

R2013b で導入