Main Content

Inport

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

  • Inport block

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

説明

Inport ブロックは、信号をシステムの外部からシステムにリンクします。

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

  • 最上位のシステムまたはサブシステム内の Inport ブロックに 1 から順番に番号が付けられます。

  • Inport ブロックを追加する場合、ラベルは使用可能な次の番号になります。

  • Inport ブロックを削除する場合、Inport ブロックが順番どおり並び、どの番号も省略されないように、その他の端子の番号が付け直されます。

  • Inport ブロックをシステムにコピーする場合、そのブロックの現在の端子番号がシステム内に既に存在する入力端子と矛盾していなければ、そのブロックの端子番号は付け直されません。コピーされた Inport ブロックの端子番号が順番になっていない場合は、そのブロックの番号が付け直されます。それ以外の場合、モデルのシミュレート時またはブロック線図の更新時にエラー メッセージが表示されます。

最上位システムの Inport ブロック

最上位システムで Inport ブロックを使用して、以下を実行できます。

  • [入力] パラメーターを使用して、ワークスペースから外部入力を供給します。外部入力データを提供しない場合、Inport ブロックからの出力はグラウンド値になります。詳細については、ルート レベルの入力端子へのデータの読み込みを参照してください。

    • ルートレベルの入力端子を使用して複数の信号のデータを読み込む場合は、ルート Inport マッパー ツールの使用を検討してください。ルート Inport マッパー ツールを使用したデータのマッピングを参照してください。

    • 関数 createInputDataset を使用して、モデルのルートレベルにある指定した各 Inport ブロックの要素を格納する Simulink.SimulationData.Dataset オブジェクトを作成します。

  • 解析関数 linmod および trim でモデルの摂動を与えます。詳細については、モデルの線形化を参照してください。

サブシステムの Inport ブロック

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

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

サブシステム内の Inport ブロックは信号ラベルの伝播をサポートしますが、ルートレベルの Inport ブロックはサポートしません。詳細については、信号ラベル伝播を参照してください。

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

ヒント

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

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

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

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

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

重複する Inport ブロックの作成

Inport ブロックの複製は何個でも作成することができます。ブロック線図は、コピーすることにより不必要なラインが除かれ、元の意図に沿って単純化されます。コピーは、オリジナルと同じ端子番号、プロパティ、出力をもちます。

Inport ブロックの複製を作成するには、以下のようにします。

  1. ブロック線図で、コピーする未接続の Inport ブロックを選択します。

  2. Ctrl キーを押したままブロックをドラッグします。

  3. ポインターを放し、コンテキスト メニューから [複製] を選択します。

複製を持つ Inport ブロックを選択することで、重複ブロックを強調表示できます。開いているブロック線図または新しいタブに関連するブロックを表示するには、選択後に表示される省略記号でカーソルを一時停止します。その後、アクション メニューから [関連するブロック] を選択します。選択したブロックに複数のブロックが対応している場合は、関連するブロックのリストが開きます。関連するブロックのリストはテキスト ボックスに検索語を入力してフィルター処理できます。関連するブロックをリストから選択すると、関連するブロックが表示された開いているブロック線図または新しいタブにウィンドウのフォーカスが移ります。

ルートレベルの Inport ブロックへのバスの接続

モデルのルートレベルの Inport ブロックでバスを生成する場合、[データ型] パラメーターを Inport ブロックで生成されるバスを定義するバス オブジェクト名に設定します。詳細については、バス オブジェクトでのバス プロパティの指定を参照してください。

端子

出力

すべて展開する

入力端子からシステムに流れる入力信号。

サブシステムの Inport ブロックを使用すると、固定小数点データを構造体またはその他の任意の形式で供給できます。

データ型: single | double | half | 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")

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

プログラムでの使用

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

ブロック出力が前のタイム ステップでの入力信号の値になるように指定します。

このオプションを選択すると、ループの一部である Triggered Subsystem でのデータの依存性を解決できます。

Inport ブロックは、<Lo> を表示することによってこのオプションが選択されていることを示します。

依存関係

このパラメーターは、ブロックが Triggered Subsystem の入力端子を表している場合にのみ有効になります。

プログラムでの使用

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

ブロックで入力の値をラッチし、Function-Call Subsystem の実行時に値が変化しないように指定します。単一の関数呼び出しを分岐して複数の Function-Call Subsystem を呼び出す場合、このオプションにより、別の Function-Call Subsystem に信号がフィードバックされるときに形成されるループが解消されます。このオプションを選択すると、このブロックを含むサブシステムの実行時に呼び出される Function-Call Subsystem からのフィードバック信号の値が変化しなくなります。

Inport ブロックは、<Li> を表示することによってこのオプションが選択されていることを示します。

依存関係

このオプションは、ブロックが Function-Call Subsystem の入力端子を表している場合にのみ有効になります。

プログラムでの使用

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

ルートレベルの Inport ブロックに対する信号およびバスのデータをインポート、可視化、マッピングするには、このボタンをクリックします。ルート Inport マッパー ツールが開きます。

依存関係

このボタンは、ブロックがモデルのルートレベルにある場合にのみ表示されます。

信号属性

入力信号で関数呼び出しイベント信号を生成するように指定します。

このオプションは、最上位モデルで参照されたときに現在のモデルで関数呼び出しイベント信号を受け入れる必要がある場合に選択します。

依存関係

  • このオプションを有効にするには、ブロックが非同期関数呼び出しに含まれていなければなりません。

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

プログラムでの使用

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

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

この数値は有限の実数で 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 オブジェクトをデータ型として指定する場合、Inport ブロックの一部のパラメーターは無視されます。たとえば、Inport ブロックの [最小値][最大値]、および [単位] のパラメーターは無視されます。代わりに、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'

バス データの読み込みに使用される最上位の Inport ブロックの出力がバーチャルまたは非バーチャルであるかを指定します。

  • このパラメーターを使用して非バーチャル バス出力を指定します。

  • このパラメーターをオフにしてバーチャル バス出力を指定します。

ヒント

  • 非バーチャル バスのすべての信号は、関連するバス オブジェクトが一部の要素に対して継承されたサンプル時間を指定する場合でも、同じサンプル時間をもつ必要があります。異なるサンプル レートの信号が含まれる非バーチャル バスになる演算はエラーになります。非バーチャル バスのマルチレート データを読み込むことはできません。さまざまなサンプル レートの信号を非バーチャル バスとして参照モデルに渡す方法の詳細については、非バーチャル バスのサンプル時間の変更を参照してください。

    バスのマルチレート データを読み込むには、[非バーチャル バスとして出力] パラメーターをオフにして、[サンプル時間] パラメーターを [継承] (-1) に設定します。

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

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

依存関係

このパラメーターは次の場合に有効になります。

  • ブロックがモデルの最上位レベルでなければなりません。

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

プログラムでの使用

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

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

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

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

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

依存関係

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

プログラムでの使用

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

伝播なしのブロックに対する入力信号の物理単位を指定するには、UnitNoProp を使用します。

出力信号の次元を指定します。

-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'

データをワークスペースからルートレベルの Inport ブロックに読み込む際、ブロックで対応するデータが存在しないタイム ステップの出力値の線形内挿と線形外挿を行うかどうかを指定します。

ワークスペースから離散データを読み込むには、以下を行います。

  1. [サンプル時間] を離散レート (2 など) に設定します。

  2. [データを内挿する] をオフにします。

詳細については、Control How Models Load Input Dataを参照してください。

ソフトウェアは、次の内挿および外挿を使用します。

  • 指定した最初のデータ点と指定した最後のデータ点の間のタイム ステップ — ゼロ次ホールド。

  • 指定した最初のデータ点の前および指定した最後のデータ点の後のタイム ステップ — グラウンド値。

  • 指定した最初のデータ点の前のタイム ステップの可変サイズ信号 — single または double のデータ型の場合は NaN 値をログに記録、その他のデータ型の場合はグラウンド。指定した最後のデータ点の後のタイム ステップにはグラウンド値を使用。

プログラムでの使用

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

レートベースのシステムでは、最上位モデルまたはモデル参照インターフェイスの入力端子について、端子へのデータの流れに応じて 1 つ以上のモデル分割の実行をトリガーするように構成できます。端子に関連付けられたイベント トリガーが [イベント] パラメーターに格納されます。それぞれのイベント トリガーで、トリガーするスケジュール イベントの名前に入力イベントをマッピングします。スケジュール イベントに応じて実行する分割と実行の優先順位をモデルのスケジュールで指定します。

次の表は、構成できるイベント トリガーをまとめたものです。それぞれの入力端子について、入力イベントごとに 1 つのイベント トリガーを構成できます。

入力イベント入力イベントの説明イベント トリガー オブジェクト
入力の書き込み入力端子の値が更新されます。simulink.event.InputWrite
タイムアウトした入力の書き込み指定した時間の間は入力端子の値が更新されません。simulink.event.InputWriteTimeout
失われた入力の書き込み入力端子の値の更新によって未処理のデータが上書きされます。simulink.event.InputWriteLost

モデルのスケジュールを構成するには、スケジュール エディターを使用します。

依存関係

このパラメーターは、ブロックがルートレベルの入力端子を表している場合にのみ表示されます。

プログラムでの使用

ブロック パラメーター: EventTriggers
値: 11 列の cell 配列 | 21 列の cell 配列 | 31 列の cell 配列
既定の設定: []

ブロックの特性

データ型

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

直達

いいえ

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

拡張機能

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

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

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

バージョン履歴

R2006a より前に導入