addOpening
slLinearizer または slTuner インターフェイスの開始点リストに信号を追加
説明
例
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);
scdbusselection の COUNTERBUS 信号には、複数のバス要素が含まれます。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 ブロックの最初 (かつ唯一) の端子で発生します。そのため、blk と port_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を指定します。blk、port_numおよびbus_elem_name(指定する場合) は同じサイズでなければなりません。たとえば、
blk = {'scdcascade/C1','scdcascade/Sum'}とします。
開始点の発信元となる端子。正の整数または正の整数のベクトルとして指定します。
port_num の次元:
単一の開始点の場合、正の整数として
port_numを指定します。たとえば、
port_num = 1とします。複数の開始点の場合、正の整数のベクトルとして
port_numを指定します。blk、port_numおよびbus_elem_name(指定する場合) は同じサイズでなければなりません。たとえば、
port_num = [1 1]とします。
バス要素名。文字ベクトルまたは文字ベクトルの cell 配列として指定します。
bus_elem_name の次元:
詳細
"永続的な開始点" とは、slLinearizer および slTuner インターフェイスで使用され、ソフトウェアがモデル内で信号の流れを中断する箇所を示します。線形化および調整時に、これらの開始点が強制的に適用されます。永続的な開始点は、ある特定のモデル コンポーネントを分離するために使用します。航空機のダイナミクスを取得する大規模なモデルがあり、機体にのみ線形解析を実行するとします。永続的な開始点を使用すれば、このモデルの他のコンポーネントをすべて除外できます。モデル内にカスケード式ループがあり、特定のループを解析する場合などにも使用できます。
"場所" とは、モデル内の特定のブロック出力端子を指します。便宜上、この端子から発信する信号の名前を使って開始点を示すことができます。
永続的な開始点は、slLinearizer または slTuner インターフェイス s に対して、インターフェイスの作成時に追加するか、addOpening コマンドを使用して追加できます。永続的な開始点のリストから場所を削除するには、removeOpening コマンドを使用します。
s のすべての開始点を表示するには、コマンド プロンプトで s と入力してインターフェイスの内容を表示します。s のそれぞれの永続的な開始点の表示には、ブロック名、端子番号、およびこの場所から発信される信号の名前が含まれます。getOpenings を使用して、すべての永続的なループ開始点のリストをプログラムで取得することもできます。
バージョン履歴
R2013b で導入
参考
slLinearizer | slTuner | addPoint | addBlock | linio | removeOpening | removeAllOpenings
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)