Main Content

Outport

サブシステムの出力端子または外部出力を作成

  • Outport block

ライブラリ:
Simulink / Commonly Used Blocks
Simulink / Ports & Subsystems
Simulink / Sinks
HDL Coder / Commonly Used Blocks
HDL Coder / Ports & Subsystems
HDL Coder / Sinks

説明

Outport ブロックは信号をシステムからシステム外部の宛先にリンクします。あるサブシステムからモデルの別の部分に流れる信号を接続できます。モデルの階層構造の最上位レベルで外部出力を供給することもできます。

Outport ブロック端子番号は、以下のルールに従って割り当てられます。

  • ルートレベル システム内またはサブシステム内の Outport ブロックに 1 から順番に番号が付けられます。

  • Outport ブロックを追加する場合、使用可能な次の番号が割り当てられます。

  • Outport ブロックを削除する場合、Outport ブロックが順番どおり並び、どの番号も省略されることなく自動的に他の端子にも連番が付けられます。

サブシステム内の Outport ブロック

サブシステムの Outport ブロックは、サブシステムからの出力を表します。Subsystem ブロックの出力端子に接続されている信号は、そのサブシステムの対応する Outport ブロックから出力されます。出力端子に対応する Outport ブロックは、[端子番号] パラメーターが Subsystem ブロックの出力端子の相対位置に一致するブロックです。たとえば、[端子番号] パラメーターが 1 に等しい Outport ブロックは、その信号を Subsystem ブロックの一番上の出力端子に接続されているブロックに送信します。

Outport ブロックの端子番号に関して再度番号付けを行う場合、ブロックは別の出力端子に接続されるようになります。ブロックはサブシステム外部の同じブロックに引き続き信号を送信します。

Subsystem ブロックでは端子ラベルを直接編集できます。詳細については、Edit Port Labels on Subsystem Blocksを参照してください。

ヒント

多くのバス要素で構成されるバスを含むモデルについては、In Bus Element ブロックと Out Bus Element ブロックを使用することを検討してください。これらのブロックは以下を行います。

  • ブロック線図における信号線の複雑さと煩雑さを低減する。

  • インターフェイスの段階的な変更を容易にする。

  • 使用ポイントに近いバス要素へのアクセスを許可して、Bus Selector および Goto ブロック構成の使用を回避する。

In Bus Element ブロックはブロック タイプ Inport であり、Out Bus Element ブロックはブロック タイプ Outport です。

モデルの階層構造内の最上位 Outport ブロック

モデルの階層構造の最上位レベルにある Outport ブロックには 2 つの用途があります。このブロックは、ベース MATLAB® ワークスペースに外部出力を供給し、解析関数 linmodtrim によってシステムから出力を取得する手段を提供します。

ワークスペースに外部出力を供給するには、[コンフィギュレーション パラメーター][データのインポート/エクスポート] ペイン (MATLAB ワークスペースへのデータのエクスポートを参照) または sim コマンドを使用します。たとえば、システムに 1 つを超える Outport ブロックが存在し、保存形式が配列の場合、次のコマンドが

[t,x,y] = sim(...);

y を行列として書き込みます。各列には異なる Outport ブロックのデータが含まれます。列の順序は、Outport ブロックの端子番号の順序と一致します。

2 番目の (状態) 引数の後ろに 1 つを超える変数名を指定した場合、各 Outport ブロックからのデータは異なる変数に書き込まれます。たとえば、システムが 2 つの Outport ブロック (Outport ブロック 1 からのデータを speed に保存するブロックと Outport ブロック 2 からのデータを dist に保存するブロック) をもっている場合、このコマンドを指定します。

[t,x,speed,dist] = sim(...);

ルートレベルの Outport へのバスの接続

モデル内のルートレベルの Outport ブロックは、バスのすべての要素が同じデータ型をもつ場合に限り、バーチャル バスを受け取ることができます。Outport ブロックは、バスを自動的にバスと同じ要素数をもつベクトルにまとめ、そのベクトルを出力として提供します。

混在する型を含むバスをモデルのルートレベルの Outport ブロックが受け取るようにする場合、Outport ブロックの [データ型]Bus: <object name> に設定します。バスがバーチャルである場合、バーチャルおよび非バーチャル バスの変換で説明しているように、非バーチャルに変換されます。

ルートレベルの Outport ブロックと Simulink.Signal オブジェクトの関連付け

ルートレベルの Outport ブロックを Simulink.Signal オブジェクトに関連付けるには、モデル データ エディターを使用します。信号の場合を参照してください。

端子

入力

すべて展開する

出力端子から外部のサブシステムまたはモデルに流れる入力信号。

ルート レベルの出力端子でない場合、Outport ブロックは固定小数点データ型と列挙データ型を受け入れることができます。ブロックの出力の実数/複素数とデータ型は、その入力と同じです。

データ型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus | image

パラメーター

すべて展開する

メイン

ブロックに対応する端子が親 Subsystem または Model ブロックに現れる順序を指定します。

  • 別の端子を作成するブロックを追加する場合、端子番号は次に利用可能な番号になります。

  • ある端子に関連付けられているすべてのブロックを削除すると、その端子が削除されます。どの番号も省略されることなく連番になるように、その他の端子の番号を付け直します。

  • 端子の数を超える端子番号を指定すると、その番号の端子と、その番号まで連番になる他の端子が作成されます。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: Port
値: '1' (既定値) | real integer in quotes
データ型: char | string

例: set_param('mymodel/Subsystem1/PortBlock','Port','5')

生成されたコード内の対応する信号データの名前を指定します。このパラメーターを使用して、ストレージ クラスをルートレベルの Outport ブロックに適用する際の信号データの名前を指定します。

プログラムでの使用

ブロック パラメーター: SignalName
型: 文字ベクトル
値: 文字ベクトル
既定の設定: ' '

ブロック アイコンに表示される情報を指定します。

プログラムでの使用

ブロック パラメーター: IconDisplay
型: 文字ベクトル
値: 'Signal name' | 'Port number' | 'Port number and signal name'
既定の設定: 'Port number'

ソースが接続されていないときの定数出力値を指定します。

依存関係

Variant Subsystem ブロック内の未接続の Outport ブロックで使用できます。

プログラムでの使用

ブロック パラメーター: OutputWhenUnconnected
型: 文字ベクトル
値: 'on' | 'off'
既定の設定: 'off'

ソースが接続されていないときの定数出力値を指定します。

依存関係

[ソース非接続時に出力を指定] が選択されている未接続の Outport ブロックについての Variant Subsystem ブロックで使用できます。

プログラムでの使用

ブロック パラメーター: OutputWhenUnconnectedValue
型: 文字ベクトル
値: scalar | vector
既定の設定: '0'

[定数値] パラメーターが N 要素の行または列ベクトルの場合、長さ N のベクトルを出力で作成するにはこのチェック ボックスをオンにします。

依存関係

[ソース非接続時に出力を指定] パラメーターを選択した場合、未接続の Outport ブロックの Variant Subsystem ブロックで使用できます。

プログラムでの使用

ブロック パラメーター: VectorParamsAs1DForOutWhenUnconnected
型: 文字ベクトル
値: 'on' | 'off'
既定の設定: 'on'

Simulink® が出力端子で信号バッファーを使用できるようにするには、このパラメーターをオフにします。このバッファーは、Signal Copy ブロックと等価ですが、キャンバスには表示されず、Outport ブロック信号の一貫した初期化を必ず行います。

このパラメーターをオンにした場合、Simulink は信号バッファーを削除しようとします。

  • 信号バッファーが必要ではない場合、Simulink はバッファーを削除します。

  • データの一貫性および適切な実行を行うために信号バッファーが必要である場合、Simulink はバッファーを削除できなかったことを示すエラーを表示します。

Assignment ブロックを介して部分的な書き込みを許可します。

条件付きの書き込みと部分的な書き込みの例を含む、このパラメーターの詳細については、出力端子がバーチャルであることを確認を参照してください。

依存関係

このパラメーターは、次のブロックに適用されます。

  • 条件付きサブシステム

  • Assignment

  • Merge

  • ルート Outport ブロックをもつモデル

プログラムでの使用

ブロック パラメーター: EnsureOutportIsVirtual
型: 文字ベクトル
値: 'on' | 'off'
既定の設定: 'off'

ブロックの初期出力値のソースを選択します。初期出力値が [初期出力] パラメーターの値であることを指定するには、[ダイアログ] を選択します。初期出力値が入力信号から継承されることを指定するには、[入力信号] を選択します。条件付きサブシステムの初期出力値を参照してください。

ヒント

  • クラシック初期化モードを使用している場合、[入力信号] を選択するとエラーが発生します。初期出力値を入力信号から継承するには、このパラメーターを [ダイアログ] に設定して [初期出力] の値に [] (空行列) を指定します。詳細については、条件付きサブシステムの初期出力値を参照してください。

依存関係

条件付きサブシステム内の Outport ブロックで使用できます。

プログラムでの使用

ブロック パラメーター: SourceOfInitialOutputValue
型: 文字ベクトル
値: 'Dialog' | 'Input signal'
既定の設定: 'Dialog'

サブシステムがディセーブルになったときのブロック出力に何が起こるのかを指定します。サブシステムがディセーブルになる場合に出力が保持されることを示すには、[保持] を選択します。サブシステムがディセーブルになる場合に出力が [初期出力] で指定された値にリセットされることを示すには、[リセット] を選択します。

依存関係

有効化と無効化の有効なセマンティクスのある条件付きサブシステム内の Outport ブロックに対して [初期出力の値のソース] パラメーターの値として [ダイアログ] を選択する場合に使用できます。たとえば、Enabled Subsystem ブロック内の Outport ブロックでパラメーターは使用可能であり、Triggered Subsystem ブロック内の Outport ブロックでは使用できません。

Outport ブロックが Function-Call Subsystem ブロック内にある場合、このパラメーターは、Function-Call Subsystem ブロックが Stateflow® チャート内の状態に接続されている場合にのみ意味をもちます。詳細については、Function-Call Subsystem のステートへのバインド (Stateflow)を参照してください。

条件付きサブシステムの出力を Merge ブロックに接続するときは、このパラメーターを 保持 に設定します。[リセット] に設定するとエラーが返されます。

プログラムでの使用

ブロック パラメーター: OutputWhenDisabled
型: 文字ベクトル
値: 'held' | 'reset'
既定の設定: 'held'

条件付き実行サブシステムの場合は、そのサブシステムを実行する前とそのサブシステムが実行不能になっている間にブロック出力を指定します。初期出力値を入力信号から継承するには [] を指定します。詳細については、条件付きサブシステムの初期出力値を参照してください。

初期条件構造体の指定方法の詳細は、バス要素の初期条件の指定を参照してください。

ヒント

条件付きサブシステムが Merge ブロックを駆動する場合は、Outport ブロックの初期条件 (IC) を指定する必要はありません。詳細については、指定不足の初期化の検出を参照してください。

依存関係

条件付きサブシステム内の Outport ブロックに対して [初期出力の値のソース][ダイアログ] に設定されている場合に使用できます。

制限

  • このブロックでは、inf または NaN の初期出力が許可されません。

  • 入力がバーチャル バスのとき、[初期出力] の値 []double(0) として扱われます。

  • 入力に非バーチャル バスが含まれている場合、[初期出力] では非ゼロのスカラー値がサポートされません。

プログラムでの使用

ブロック パラメーター: InitialOutput
型: 文字ベクトル
値: '[]' | スカラー | 構造体
既定の設定: '[]'

信号属性

ソフトウェアでチェックする出力範囲の下限値。

この数値は有限の実数で double のスカラー値でなければなりません。

ソフトウェアは、以下を行う際にこの値を使用します。

  • シミュレーション範囲のチェック (信号範囲の指定を参照)

  • 固定小数点データ型の自動スケーリング

  • モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。

依存関係

このパラメーターの値は、[データ型]Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている最小値が使用されます。

プログラムでの使用

ブロック パラメーター: OutMin
: 文字ベクトル
: '[ ]'| スカラー
既定の設定: '[ ]'

ソフトウェアでチェックする出力範囲の上限値。

この数値は有限の実数で double のスカラー値でなければなりません。

ソフトウェアは、以下を行う際にこの値を使用します。

  • シミュレーション範囲のチェック (信号範囲の指定を参照)

  • 固定小数点データ型の自動スケーリング

  • モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。

依存関係

このパラメーターの値は、[データ型]Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている最大値が使用されます。

プログラムでの使用

ブロック パラメーター: OutMax
: 文字ベクトル
: '[ ]'| スカラー
既定の設定: '[ ]'

外部入力の出力データ型を指定します。型は継承されるか、直接指定されるか、Simulink.NumericType オブジェクトなどのデータ型オブジェクトとして表現されます。

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

次のいずれかのオプションを指定できます。

  • 継承したデータ型

  • 組み込みの Simulink データ型 — たとえば、[single][uint8] を指定します。Simulink でサポートされているデータ型を参照してください。

  • 固定小数点データ型 — 関数 fixdt を使用します。たとえば、[fixdt(1,16,0)] を指定します。

  • 列挙データ型 — Enum: が前に付いた型名を使用します。たとえば、[Enum: myEnumType] を指定します。

  • バス データ型 — Bus: が前に付いた Simulink.Bus オブジェクトの名前を使用します。たとえば、[Bus: myBusObject] を指定します。

  • Simulink イメージ データ型 — Computer Vision Toolbox™ がある場合は、Simulink.ImageType (Computer Vision Toolbox) オブジェクトのコンストラクターを使用して、イメージを記述するプロパティを指定します。既定の設定では、データ型は、イメージの行、列、チャネルをそれぞれ表す Simulink.ImageType(480,640,3) 式を使用します。

  • 値の型 — ValueType: が前に付いた Simulink.ValueType オブジェクトの名前を使用します。たとえば、[ValueType: windVelocity] を指定します。

  • カスタムのデータ型 — 型を指定する MATLAB 式を使用します。たとえば、DataTypeMode プロパティが 'Fixed-point: unspecified scaling' 以外の値に設定されている Simulink.NumericType オブジェクトを指定できます。

Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトをデータ型として指定する場合、Outport ブロックの一部のパラメーターは無視されます。たとえば、Outport ブロックの [最小値][最大値]、および [単位] のパラメーターは無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトの対応するプロパティが使用されます。たとえば、ブロックで [単位]ft/s に設定されているとします。ブロックの [データ型]ValueType オブジェクトが指定されており、そのオブジェクトの単位として m/s が使用されている場合、ブロックは ft/s ではなく m/s を使用します。

プログラムでの使用

ブロック パラメーター: OutDataTypeStr
: 文字ベクトル
: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'string' | 'Enum: <class name>' | 'Bus: <object name>' | 'ValueType: <object name>' | '<data type expression>' | Simulink.ImageType(480,640,3)
既定の設定: 'Inherit: auto'

固定小数点ツールが、ブロックに指定した出力データ型をオーバーライドしないようにするには、このパラメーターを選択します。詳細については、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。

依存関係

このパラメーターの値は、[データ型]Simulink.ValueType オブジェクトが指定されている場合は無視されます。

プログラムでの使用

ブロック パラメーター: LockScale
: 'off' | 'on'
既定の設定: 'off'

親モデル内で非バーチャルになる出力端子のバスを指定します。親モデルに現れるバスが非バーチャルであるようにする場合、このパラメーターを選択します。[親モデル内の非バーチャル バスとして出力] の設定にかかわらず、端子への入力であるバスは、バーチャルまたは非バーチャルになることができます。

親モデルに現れるバスがバーチャルであるようにする場合、このパラメーターの選択を解除します。

ヒント

  • 非バーチャル バスでは、すべての信号が、関連するバス オブジェクトの要素が継承されたサンプル時間を指定する場合でも、同じサンプル時間をもたなければなりません。この要件を満たさない非バーチャル バスになる演算は、エラーになります。詳細については、非バーチャル バスのサンプル時間の変更を参照してください。

    バーチャル バスでマルチレート信号を使用するには、ルートレベルの Outport ブロックで、[サンプル時間] パラメーターを [継承] (-1) に設定します。

  • モデル参照階層の最上位モデルでは、コードの生成によって、このブロックのバス出力を表す C 構造体が作成されます。

  • 参照モデルでは、このオプションを選択して C 構造体を作成します。それ以外の場合は、コード生成によって、バスの各リーフ要素の引数が作成されます。

依存関係

このパラメーターを有効にするには、[データ型]Simulink.Bus オブジェクトに関連付けられなければなりません。たとえば、[データ型]Simulink.Bus オブジェクトや Simulink.Bus オブジェクトがデータ型として指定された Simulink.ValueType オブジェクトに設定します。

プログラムでの使用

ブロック パラメーター: BusOutputAsStruct
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

ブロックに対する入力信号の物理単位を指定します。単位を指定するには、テキスト ボックスに入力します。入力中、パラメーターには一致する可能性のある単位が表示されます。サポートされる単位のリストについては、「Allowed Units」を参照してください。

単位系を制約するには、パラメーターの右側にあるリンクをクリックします。

  • Unit System Configuration ブロックがコンポーネントに存在する場合は、そのダイアログ ボックスが表示されます。そのダイアログ ボックスを使用して、コンポーネントに対して許可される単位系と許可されない単位系を指定します。

  • Unit System Configuration ブロックがコンポーネントに存在しない場合は、モデルの [コンフィギュレーション パラメーター] ダイアログ ボックスが表示されます。そのダイアログ ボックスを使用して、モデルに対して許可される単位系と許可されない単位系を指定します。

依存関係

このパラメーターの値は、[データ型]Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている単位が使用されます。

プログラムでの使用

ブロック パラメーター: Unit
型: 文字ベクトル
: 'inherit' | '<Enter unit>'
既定の設定: 'inherit'

この Outport ブロックに接続するために信号に必要な次元を指定します。

-1

任意の次元の信号をこの端子に接続できます。

N

この端子に接続される信号は、サイズ N のベクトルです。

[R C]

この端子に接続される信号は、RC 列の行列です。

依存関係

このパラメーターの値は、[データ型]Simulink.ValueType オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトで指定されている次元が使用されます。

プログラムでの使用

ブロック パラメーター: PortDimensions
: 文字ベクトル
: '-1' | 整数 | [整数, 整数]
既定の設定: '-1'

この端子の出力で許可される信号のタイプを指定します。可変サイズの信号と固定サイズの信号を許可するには、[継承] を選択します。可変サイズの信号のみを許可するには、[あり] を選択します。固定サイズの信号のみを許可するには、[なし] を選択します。

この端子の信号が可変サイズの信号である場合、[端子の次元] パラメーターにより信号の最大次元が指定されます。

依存関係

このパラメーターの値は、[データ型]Simulink.ValueType オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトで指定されている次元モードが使用されます。

プログラムでの使用

パラメーター: VarSizeSig
型: 文字ベクトル
値: 'Inherit' | 'No' | 'Yes'
既定の設定: 'Inherit'

信号出力の数値型を指定します。その入力に接続している信号の数値型を選択するには、[自動] を選択します。それ以外の場合は、実数または複素信号型を選択します。

依存関係

このパラメーターの値は、[データ型]Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている実数/複素数が使用されます。

プログラムでの使用

ブロック パラメーター: SignalType
型: 文字ベクトル
値: 'auto' | 'real' | 'complex'
既定の設定: 'auto'

実行

サンプル時間のヒット間の離散間隔を指定するか、連続 (0) や継承 (-1) など、別のタイプのサンプル時間を指定します。その他のオプションについては、サンプル時間のタイプを参照してください。

既定の設定では、ブロックはモデル内の前後関係に基づいてサンプル時間を継承します。

プログラムでの使用

ブロック パラメーター: SampleTime
型: 文字ベクトル
値: スカラー
既定の設定: '-1'

ブロックの特性

データ型

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

直達

いいえ

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006a より前に導入

すべて展開する