Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Model

モデル階層の作成のための別のモデルの参照

  • ライブラリ:
  • Simulink / Ports & Subsystems

    HDL Coder / Ports & Subsystems

説明

Model ブロックは、モデルを別のモデルにブロックとして含めます。含められたモデルは "参照モデル" と呼ばれ、その Model ブロックを含むモデルは "親モデル" と呼ばれます。

Model ブロックは、参照モデルの最上位の入力端子と出力端子に対応する入力端子と出力端子を表示します。これらの端子を使用すると、参照モデルを親モデル内の他のブロックに接続することができます。

既定では、参照モデルの内容は Model ブロックをダブルクリックすることで確認できます。ただし、Simulink® Coder™ のライセンスがある場合は、モデルを保護することで、参照モデルの実装の詳細を隠すことができます。コンテンツを隠すためのモデルの保護 (Simulink Coder)を参照してください。保護モデルを受け取る場合は、サードパーティからの保護モデルの参照を参照してください。

参照モデルを指定してシミュレーション パラメーターを設定するには、[ブロック パラメーター] ダイアログ ボックスを開いて、[メイン] タブを使用します。モデル引数にインスタンス固有の値を指定するには [インスタンス パラメーター] タブを使用します。

端子

入力

すべて展開する

Model ブロックには、参照するモデルの各入力端子に対して 1 つの入力端子があります。参照モデルの入力端子は InportIn Bus ElementTrigger、および Enable ブロックによって定義されます。Model ブロックの端子の名前は、参照モデルの対応する端子の名前と一致します。Model ブロックのそれぞれの端子への入力信号は、参照モデルの対応する端子に対して有効でなければなりません。モデル参照のインターフェイスと境界を参照してください。

入力信号は、バス オブジェクト、バス配列、固定小数点、列挙データ型を含む Simulink でサポートされる任意のデータ型の実数値または複素数値をもつことができます。データ型の詳細については、Simulink でサポートされているデータ型 を参照してください。

出力

すべて展開する

Model ブロックには、参照するモデルの各出力端子に対して出力端子があります。参照モデルの出力端子は Outport ブロックおよび Out Bus Element ブロックによって定義されます。Model ブロックの端子の名前は、参照モデルの対応する端子の名前と一致します。Model ブロックの出力信号は、参照モデルの Outport ブロックおよび Out Bus Element ブロックに接続されている信号です。モデル参照のインターフェイスと境界を参照してください。

出力信号は、バス オブジェクト、バス配列、固定小数点、列挙データ型を含む Simulink でサポートされる任意のデータ型の実数値または複素数値をもつことができます。データ型の詳細については、Simulink でサポートされているデータ型 を参照してください。

パラメーター

すべて展開する

メイン

参照モデルのファイル名。文字ベクトルとして指定します。ファイルの拡張子はオプションです。

このファイル名は、モデル名で定義されているような、モデルに対する有効な MATLAB® 識別子をもたなければなりません。

参照するモデルに移動するには、[参照] をクリックします。

指定したモデルを表示するには、[モデルを開く] をクリックします。

プログラムでの使用

パラメーター: ModelFile
: 文字ベクトル
: '' | '<file name>'
既定の設定: ''

Model ブロックのシミュレーション モードを指定します。Model ブロックのシミュレーション モードは、その参照モデルおよびモデル階層構造内のその他のモデルのシミュレーション モードと異なる可能性があります。

  • アクセラレータ — 参照モデルに対して MEX ファイルを作成し、S-Function を実行して参照モデルを実行します。

  • ノーマル — 参照モデルをインタープリターで実行します。参照モデルは、親モデル内に直接実装された Atomic Subsystem であるかのように扱われます。

  • ソフトウェアインザループ (SIL) — このオプションには Embedded Coder® のライセンスが必要です。[コード インターフェイス] のパラメーター設定に基づき、量産コードを生成します。そのコードは、ホスト プラットフォーム用にコンパイルされてホスト プラットフォーム上で実行されます。

  • プロセッサインザループ (PIL) — このオプションには Embedded Coder のライセンスが必要です。[コード インターフェイス] のパラメーター設定に基づき、量産コードを生成します。このコードは、ターゲット プラットフォーム用にコンパイルされてターゲット プラットフォーム上で実行されます。ターゲットのコネクティビティ API 実装は、PIL シミュレーション中に各タイム ステップでホストとターゲットの間のデータ交換をサポートします。

Model ブロックの角は、Model ブロックのシミュレーション モードを示しています。ノーマル モードでは、角に塗りつぶしなしの三角形が表示されます。アクセラレータ モードでは、角の三角形は塗りつぶされます。SIL モードと PIL モードでは、角は塗りつぶされ、ブロック アイコンに (SIL) または (PIL) という語が表示されます。

モデルに対してどのシミュレーション モードでも指定することができますが、そのモデルを参照する際、Model ブロックが、その参照モデルのインスタンスのシミュレーション モードを指定します。親モデルのシミュレーション モードが Model ブロックのシミュレーション モードを上書きする場合があります。オーバーライドされたシミュレーション モードを参照してください。

プログラムでの使用

パラメーター: SimulationMode
: 文字ベクトル
: 'Normal' | 'Accelerator' | 'Software-in-the-loop' | 'Processor-in-the-loop'
既定の設定: 'Normal'

SIL シミュレーション モードと PIL シミュレーション モードにおいて、最上位モデルからコードを生成するか、参照モデルからコードを生成するかを指定します。生成したコードを、その参照モデルを使用する大規模なアプリケーションの一部として展開する場合、[モデル参照] を指定します。生成したコードをスタンドアロン アプリケーションとして展開する場合、[最上位モデル] を指定します。

モデル参照

コードはモデルの階層構造の一部として参照モデルから生成されます。コード生成には slbuild('model', 'ModelReferenceCoderTarget') コマンドが使用されます。

最上位モデル

コードは最上位モデルからスタンドアロン コード インターフェイスで生成されます。コード生成には slbuild('model') コマンドが使用されます。

依存関係

このパラメーターを有効にするには、[シミュレーション モード][ソフトウェアインザループ (SIL)] または [プロセッサインザループ (PIL)] のいずれかに設定します。

プログラムでの使用

パラメーター: CodeInterface
型: 文字ベクトル
値: 'Model reference' | 'Top model'
既定の設定: 'Model reference'

Model ブロックの初期化イベント端子の表示を制御します。

オフ

端子を削除します。

オン

モデルの初期化イベント端子を表示します。

プログラムでの使用

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

Model ブロックのリセット イベント端子の表示を制御します。

オフ

端子を削除します。

オン

モデルのリセット イベント端子を表示します。

依存関係

このパラメーターを有効にするには Reset Function ブロックを参照モデルに追加します。端子名を指定するには、Reset Function ブロックの Event Listener block[イベント名] パラメーターを使用します。

プログラムでの使用

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

Model ブロックの終了イベント端子の表示を制御します。

オフ

端子を削除します。

オン

モデルの終了イベント端子を表示します。

依存関係

このパラメーターを有効にするには [モデル初期化端子を表示] をオンにします。

プログラムでの使用

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

Model ブロックの周期的イベント端子の表示を制御します。

オフ

端子を非表示にします。

オン

レートベースのモデルの端子を表示します。レートベースのモデルとは、接続された Inport ブロックに [サンプル時間] が指定されているモデルです。

端子レートを手動で指定するには、パラメーター AutoFillPortDiscreteRates'off' に設定した後、その端子レートをパラメーター PortDiscreteRates に追加してください。

プログラムでの使用

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

Model ブロックにおいて、周期的イベント端子の表示を制御します。

端子

レートベースのモデル用の端子を表示します。

スケジュール エディター

レートベースのモデルの分割を作成します。

依存関係

このパラメーターを有効にするには [レートのスケジュール] をオンにします。

プログラムでの使用

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

インスタンス パラメーター

インスタンス パラメーターを表示し、インスタンス固有の値を指定します。"インスタンス パラメーター" は、モデルの各インスタンスに異なる値を使用するために、参照モデルで設定されているブロック パラメーターです。

インスタンス固有の値を指定するには、テーブルの [値] 列を使用します。パラメーター値が親モデルによってオーバーライドされるように指定するには、[引数] チェック ボックスをオンにします。インスタンス パラメーターの参照モデルでの設定およびインスタンス固有の値の Model ブロックでの指定の詳細については、再利用可能な参照モデルのインスタンスのパラメーター化を参照してください。

インスタンス固有の値を変更する際に、値を変更する必要があるインスタンス パラメーターのみに対応するフィールドが含まれる部分構造体を使用できます。部分構造体に含まれていないインスタンス パラメーターは値が維持されます。この構造体には、インスタンス パラメーター名と値が含まれ、文字ベクトルとして指定されます。

プログラムでの使用

ブロック パラメーター: ParameterArgumentValues
タイプ: 構造体
値: 構造体
既定の設定: フィールドのない構造体
ブロック パラメーター: InstanceParameters
型: 構造体配列
値: NameValuePath および Argument のフィールドをもつ構造体。

モデルの例

ブロックの特性

データ型

Boolean[a] | bus[a] | double[a] | enumerated[a] | fixed point[a] | integer[a] | single[a] | string[a]

直接フィードスルー

いいえ

多次元信号

限定的[a]

可変サイズの信号

限定的[a]

ゼロクロッシング検出

いいえ

[a] 実際のデータ型または機能のサポートは、ブロックの実装に依存します。

互換性についての考慮事項

すべて展開する

R2019a 以降は警告

拡張機能

R2006a より前に導入