最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
モデル階層の作成のための別のモデルの参照
Simulink / Ports & Subsystems
HDL Coder / Ports & Subsystems
Modell ブロックでは、モデルをブロックとして別のモデルに含めることができます。含められたモデルは "参照モデル" と呼ばれ、(Model ブロックにより) それを保存するモデルは "親モデル" と呼ばれます。
Model ブロックは、参照モデルの最上位の入力端子と出力端子に対応する入力端子と出力端子を表示します。これらの端子を使用すると、参照モデルを親モデル内の他のブロックに接続することができます。詳細については、モデル参照を参照してください。
既定では、参照モデルの内容は、Model ブロックをダブルクリックすることで、ユーザーに対して表示されます。ただし、モデルを保護されたモデルにすることで、参照モデルの内容を非表示にすることもできます。
参照モデルとシミュレーション パラメーターを設定するには、[ブロック パラメーター] ダイアログ ボックスを開いて、[メイン] タブを使用します。モデル引数の値を指定するには、[引数] タブを使用します。
Input_Port_1
— 参照モデルのルートレベル Inport ブロック、Enable ブロック、Trigger ブロックに対応する入力端子Model ブロックは、参照モデルのルートレベルの各 Inport ブロック、Enable ブロック、または Trigger ブロックに対する入力端子を備えています。Model ブロック端子の名前は、対応する参照モデルの入力ブロックの名前と一致します。Model ブロックの入力信号は、対応する参照モデルの入力ブロックに対して有効でなければなりません。モデル参照インターフェイスを参照してください。
入力信号は、バス オブジェクト、バス配列、固定小数点、列挙データ型を含む Simulink でサポートされる任意のデータ型の実数値または複素数値をもつことができます。データ型の詳細については、Simulink でサポートされているデータ型 を参照してください。
Output_Port_1
— 参照モデルのルートレベル Outport ブロックに対応する出力端子Model ブロックは、参照モデルのルートレベルの各 Outport ブロックに対する出力端子を備えています。Model ブロック端子の名前は、対応する Outport ブロックの名前と一致します。Model ブロックの出力信号は、対応する参照モデルの Outport ブロックからの信号です。モデル参照インターフェイスを参照してください。
出力信号は、バス オブジェクト、バス配列、固定小数点、列挙データ型を含む Simulink でサポートされる任意のデータ型の実数値または複素数値をもつことができます。データ型の詳細については、Simulink でサポートされているデータ型 を参照してください。
モデル名
— 参照モデルのファイル名''
(既定値) | 文字ベクトル参照モデルへのパス。このファイル名は、適切な MATLAB® 識別子をもたなければなりません。たとえば、.slx
のような拡張子はオプションです。このファイル名は、拡張子の .slx
または .mdl
を除き 60 文字を超えることはできません。
参照するモデルに移動するには、[参照] をクリックします。
指定したモデルを表示するには、[モデルを開く] をクリックします。
パラメーター: ModelFile |
型: 文字ベクトル |
値: '' | '<file
name>' |
既定の設定: '' |
シミュレーション モード
— モデル参照用のシミュレーション モードノーマル
(既定値) | アクセラレータ
| ソフトウェアインザループ (SIL)
| プロセッサインザループ (PIL)
Model ブロックのシミュレーション モードを指定します。Model ブロックのシミュレーション モードは、その参照モデルおよびモデル階層構造内のその他のモデルのシミュレーション モードと異なる可能性があります。
アクセラレータ
— 参照モデルに対して MEX ファイルを作成し、S-Function を実行して参照モデルを実行します。
ノーマル
— 参照モデルをインタープリターで実行します。参照モデルは、親モデル内に直接実装された Atomic Subsystem であるかのように扱われます。
ソフトウェアインザループ (SIL)
— このオプションには、Embedded
Coder® ソフトウェアが必要です。[コード インターフェイス] のパラメーター設定に基づき、量産コードを生成します。そのコードは、ホスト プラットフォーム用にコンパイルされてホスト プラットフォーム上で実行されます。
プロセッサインザループ (PIL)
— このオプションには、Embedded
Coder ソフトウェアが必要です。[コード インターフェイス] のパラメーター設定に基づき、量産コードを生成します。このコードは、ターゲット プラットフォーム用にコンパイルされてターゲット プラットフォーム上で実行されます。文書化されたターゲットのコネクティビティ API は、PIL シミュレーション中に各タイム ステップでホストとターゲットの間のデータ交換をサポートします。
Model ブロックの角は、Model ブロックのシミュレーション モードを反映しています。ノーマル モードでは、角に塗りつぶしなしの三角形が表示されます。アクセラレータ モードでは、角の三角形は塗りつぶされます。SIL モードと PIL モードでは、角は塗りつぶされ、ブロック アイコンに (SIL)
または (PIL)
という語が表示されます。
参照モデルをラピッド アクセラレータ モードに設定できますが、シミュレーションでは参照モデルのシミュレーション モードが無視されます。モデルの階層構造内におけるシミュレーション モードの優先順位の詳細については、モデルの階層構造のシミュレーションを参照してください。
パラメーター: 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 ブロックにおいて、リセット イベント端子の表示を制御します。
端子を削除します。
モデル リセット イベント端子を表示します。
ブロック パラメーター: ShowModelResetPorts |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
モデル終了端子を表示
— 終了イベント端子の表示を制御するModel ブロックにおいて、終了イベント端子の表示を制御します。
端子を削除します。
モデル ブロック端子を表示します。
ブロック パラメーター: ShowModelTerminatePort |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
レートのスケジュール
— 周期的イベント端子の表示を制御するModel ブロックにおいて、周期的イベント端子の表示を制御します。
端子を非表示にします。
レートベースのモデル用の端子を表示します。レートベースのモデルとは、接続された Inport ブロックに [サンプル時間] が指定されているモデルです。
端子レートを手動で指定するには、パラメーター AutoFillPortDiscreteRates
を 'off'
に設定した後、その端子レートをパラメーター PortDiscreteRates
に追加してください。
ブロック パラメーター: ScheduleRates |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
次を使用してレートをスケジュール
— 周期的イベント端子の表示を制御するPorts
(既定値) | Schedule Editor
Model ブロックにおいて、周期的イベント端子の表示を制御します。
端子
レート ベースのモデルの端子を表示します。
スケジュール エディター
レート ベースのモデルのパーティションを作成します。
ブロック パラメーター: ScheduleRatesWith |
型: 文字ベクトル |
値: 'Ports' | 'ScheduleEditor' |
既定の設定: 'Ports' |
インスタンス パラメーター
— インスタンス パラメーターの表示と参照モデルの値の指定インスタンス パラメーターを表示し、インスタンス固有の値を指定します。インスタンス パラメーターは、モデルの各インスタンスに異なる値を使用するために、参照モデルで設定されているブロック パラメーターです。
インスタンス固有の値を指定するには、テーブルの [値] 列を使用します。パラメーター値が親モデルによってオーバーライドされるように指定するには、[引数] チェック ボックスをオンにします。インスタンス パラメーターの参照モデルでの設定およびインスタンス固有の値の Model ブロックでの指定の詳細については、再利用可能な参照モデルのインスタンスのパラメーター化を参照してください。
インスタンス固有の値を変更する際に、値を変更する必要があるインスタンス パラメーターのみに対応するフィールドが含まれる部分構造体を使用できます。部分構造体に含まれていないインスタンス パラメーターは値が維持されます。この構造体には、インスタンス パラメーター名と値が含まれ、文字ベクトルとして表されます。
ブロック パラメーター: ParameterArgumentValues |
タイプ: 構造体 |
値: 構造体 |
既定の設定: フィールドのない構造体 |
ブロック パラメーター: InstanceParameters |
型: 構造体配列 |
値: Name 、Value 、Path および Argument のフィールドをもつ構造体。 |
この例では、Model Reference の使用方法を示します。別のモデルを複数回参照するモデルのシミュレーションとコード生成について詳しく説明します。
R2019a での開始で警告
R2019a 以降、Model ブロックでのバリアント モデルの指定はサポートされなくなりました。バリアント モデルを指定するために事前に設定された Model である Model Variants ブロックもサポートされなくなりました。これらのブロックを含むモデルを読み込むと、これらはバリアントの選択を表す Model ブロックを含む Variant Subsystem ブロックに変換されます。
Variant Subsystem ブロックには、以下の利点があります。
Model ブロックと Subsystem ブロックをバリアントの選択肢として混在させることができます。
入力端子と出力端子の数が異なるバリアントを指定できます。
Variant Subsystem ブロック パラメーター [ブロック線図の更新中にすべての選択肢を解析し、プリプロセッサの条件を生成する] は、Model ブロック パラメーター [プリプロセッサの条件を生成] と異なる動作をします。Variant Subsystem ブロック パラメーターは、シミュレーションを実行させてブロック線図を更新することでアクティブなバリアントのみをコンパイルするのではなく、すべてのバリアントをコンパイルします。
バリアントの Model ブロック パラメーターを使用するスクリプトがある場合、Variant Subsystem ブロック パラメーターを使用するようにそれらを更新しなければなりません。
実際のコード生成のサポートは、ブロックの実装に依存します。
HDL コード生成の詳細については、Model を参照してください。
実際のデータ型のサポートは、ブロックの実装に依存します。
Simulink.SubSystem.convertToModelReference
| Simulink.VariantManager.convertToVariant
| depview
| find_mdlrefs
MATLAB のコマンドを実行するリンクがクリックされました。
このリンクは、Web ブラウザーでは動作しません。MATLAB コマンド ウィンドウに以下を入力すると、このコマンドを実行できます。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.