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

モデル コンポーネント タイプの機能の比較

特定のコンポーネント タイプを使用してシステムの一部を実装する前に、そのコンポーネント タイプがモデル化要件を満たしているかどうかを検討します。

コンポーネントに関する考慮事項モデル化要件
開発プロセス
  • コンポーネントの再利用

  • 共有データ

  • インスタンス固有の編集

  • バージョン管理と構成管理

  • 知的所有権保護

  • 単体テスト

パフォーマンス要件
  • インクリメンタルなモデルの読み込み処理

  • ビルド アーティファクトの再利用

  • 大規模モデルでのメモリ使用量の削減

  • 疑似代数ループの削除

機能
  • 互換性のあるコンフィギュレーション パラメーターの設定

  • インターフェイスでの信号プロパティの指定

  • バスの指定

  • 状態の初期化

  • コード生成

開発プロセス

モデル化要件サブシステムリンクされたサブシステムサブシステム参照モデル参照
コンポーネントの再利用

サポートなし

サブシステムをコピーしてモデル内で再利用できますが、コピーは互いに独立しています。

サブシステムを編集するときに、変更が親モデル ファイルに適用されます。

サブシステムを作成または変更するには、親モデルを開かなければなりません。そのため、複数の人がモデル内で作業する必要がある場合は、ファイル競合が発生する可能性があります。

サポートあり

リンク付きブロックの親ライブラリ ブロックは、それにリンクしているモデルとは別のファイルに保存します。独立したファイルを使用すると、ファイル競合を避けることができます。

コピーを作成することなく、複数のモデル内で同じ親ライブラリ ブロックに複数回リンクすることができます。

ライブラリ リンクの管理では、切断されたリンク、無効リンク、パラメーター付きのリンクの管理など、何らかのオーバーヘッドが発生します。

サポートあり

参照サブシステムを参照しているモデルとは別のファイルに参照サブシステムを保存します。独立したファイルを使用すると、ファイル競合を避けることができます。

コピーを作成することなく、複数のモデル内で同じサブシステムを複数回参照することができます。

サポートあり

参照モデルを参照しているモデルとは別のファイルに参照モデルを保存します。独立したファイルを使用すると、ファイル競合を避けることができます。

コピーを作成することなく、複数のモデル内で同じモデルを複数回参照することができます。モデルの再利用を参照してください。

共有データ

サポートあり

コンポーネントの外部でデータを定義することで、インスタンス間でデータを共有できます。たとえば、共通の親サブシステムのデータ ストアを使用します。

サポートあり

"動作はサブシステムと同じです。"

サポートあり

"動作はサブシステムと同じです。"

サポートあり

モデル内でデータ ストアを作成することで、参照モデルのインスタンス間でデータを共有できます。参照モデル インスタンス間でのデータの共有を参照してください。

インスタンス固有の編集

サポートあり

サブシステムのコピーは、互いに独立しています。

サポートあり

親ライブラリ ブロックを編集すると、その変更がライブラリ ファイルに適用され、そのブロックにリンクしているすべてのブロックに伝播します。

ブロックのインスタンスを編集するために、ライブラリ リンクを無効にできます。

親ライブラリ ブロックの書き込みアクセス権限が制限されている場合は、ライブラリ リンクを無効にできません。

サポートなし

参照サブシステムのインスタンスを編集すると、その変更がサブシステム ファイルに適用され、参照サブシステムのその他すべてのインスタンスに伝播します。

サポートなし

参照モデルのインスタンスを編集すると、その変更がモデル ファイルに適用され、参照モデルのその他すべてのインスタンスに伝播します。

バージョン管理と構成管理

サポートなし

ソース管理システムにサブシステムを直接配置することはできません。

ファイルの競合を軽減し、サブシステムごとに個別のバージョン管理を使用するには、サブシステム参照を使用します。

サポートあり

ソース管理システムにライブラリ ファイルを配置できます。

ライブラリ ブロックごとに個別のバージョン管理を行うには、ライブラリ内でサブシステム参照とモデル参照を使用します。これらのブロックをライブラリからモデルにドラッグするときに、サブシステム ファイルまたはモデル ファイルが参照されます。

転送テーブルを使用することで、古いライブラリ ブロックを新しいバージョンのブロックにマッピングできます。

サポートあり

ソース管理システムにサブシステム ファイルを配置できます。

サポートあり

ソース管理システムにモデル ファイルを配置できます。

知的所有権保護

サポートなし

代わりにモデル参照を使用します。

サポートなし

"動作はサブシステムと同じです。"

サポートなし

"動作はサブシステムと同じです。"

サポートあり

保護モデルでは、モデルの内容が表示されません。これは、モデルを配布するときに役立ちます。

保護モデルを作成するには、Simulink® Coder™ ライセンスが必要です。保護モデルの使用には Simulink Coder ライセンスは必要 "ありません"。

単体テスト

サポートあり

サブシステムはモデルのコンテキストに依存しています。サブシステムのコンテキスト (入力信号のデータ型など) が変更された場合、関連するテスト ハーネスを更新しなければなりません。

Atomic でないサブシステムの場合、バーチャルな境界のために、テスト ハーネスは異なるブロック実行順序を使用する可能性があります。

サブシステムに関する体系的でシミュレーションベースのテストの作成、管理、および実行をサポートするツールについては、Create Test Harnesses and Select Properties (Simulink Test)を参照してください。

どの程度までモデル コンポーネントがテストされるかを測定するには、モデル カバレッジ (Simulink Coverage)を参照してください。

サポートあり

"動作はサブシステムと同じです。"

サポートあり

"動作はサブシステムと同じです。"

サポートあり

参照モデルを独立してテストして、それを最上位モデルとしてシミュレーションすることで動作を分離することができます。

データ定義テスト ハーネスを、MATLAB® テスト ベクトルとダイレクト カバレッジ集合と共に使用できます。

サブシステムに関する体系的でシミュレーションベースのテストの作成、管理、および実行をサポートするツールについては、Create Test Harnesses and Select Properties (Simulink Test)を参照してください。

どの程度までモデル コンポーネントがテストされるかを測定するには、モデル カバレッジ (Simulink Coverage)を参照してください。

パフォーマンス要件

モデル化要件サブシステムリンクされたサブシステムサブシステム参照モデル参照
インクリメンタルなモデルの読み込み処理

サポートなし

モデルを読み込むと、そのモデルに保存されているすべてのサブシステム コンテンツが読み込まれます。

サポートあり

Simulink は、ブロック線図の編集中や更新中、またはモデルのシミュレーション中に、必要となった時点で、ライブラリをインクリメンタルに読み込みます。

サポートあり

Simulink は、ブロック線図の編集中や更新中、またはモデルのシミュレーション中に必要となった時点で、参照サブシステムをインクリメンタルに読み込みます。

サポートあり

Simulink は、ブロック線図の編集中や更新中、またはモデルのシミュレーション中に必要となった時点で、参照モデルをインクリメンタルに読み込みます。

ビルド アーティファクトの再利用

サポートなし

ビルド アーティファクト (シミュレーション ターゲットなど) はサブシステム用に生成されません。

サポートなし

"動作はサブシステムと同じです。"

サポートなし

"動作はサブシステムと同じです。"

サポートあり

Simulink キャッシュ ファイルを使用して、シミュレーション ターゲットなどのビルド アーティファクトを共有および再利用することができます。詳細については、シミュレーションとコード生成の高速化のためのビルド アーティファクトの共有を参照してください。

大規模モデルでのメモリ使用量の削減

サポートなし

サブシステムでは、シミュレーションおよびコード生成のメモリ使用量が削減されません。

サポートなし

リンクされたサブシステムでは、シミュレーションおよびコード生成のメモリ使用量が削減されません。

Simulink はブロック更新中にライブラリ ブロック インスタンスを複製します。

サポートなし

サブシステム参照では、シミュレーションおよびコード生成のメモリ使用量が削減されません。

Simulink は、ブロックの更新中にサブシステム参照のインスタンスを複製します。

サポートあり

Simulink はコンパイル済みのモデルをインクリメンタルに読み込むため、アクセラレータ モードで参照されるモデルでは、シミュレーションとコード生成のメモリ使用量が削減されます。

疑似代数ループの削除

サポートあり

Atomic でないサブシステムは疑似代数ループを回避します。

サブシステムが Atomic である場合、Subsystem ブロック パラメーターの [代数ループの発生の最小化] を有効にすることで、疑似代数ループの削除を試行できます。

サポートあり

"動作はサブシステムと同じです。"

サポートあり

"動作はサブシステムと同じです。"

サポートあり

[コンフィギュレーション パラメーター][モデル参照][代数ループの発生の最小化] を有効にすることで、疑似代数ループの削除を試すことができます。

機能

モデル化要件サブシステムリンクされたサブシステムサブシステム参照モデル参照
互換性のあるコンフィギュレーション パラメーターの設定

サポートあり

サブシステムは、それらが含まれているモデルのコンフィギュレーション パラメーター設定を使用します。

サポートあり

"動作はサブシステムと同じです。"

サポートあり

"動作はサブシステムと同じです。"

サポートあり

通常、コンフィギュレーション パラメーター設定は親モデルと参照モデルで異なる場合があります。互換性の詳細については、モデル階層のコンフィギュレーション パラメーターの設定を参照してください。

インターフェイスでの信号プロパティの指定

サポートあり

サブシステムのインターフェイスで信号プロパティを指定できます。

指定していない信号プロパティについては、サブシステムはその信号プロパティをコンテキストに基づいて継承します。信号プロパティの伝播は、Simulink が予測しない信号プロパティを使用することにつながる場合があります。

サポートあり

"動作はサブシステムと同じです。"

サポートあり

"動作はサブシステムと同じです。"

サポートあり

大部分の信号プロパティは参照モデルのインターフェイスで指定しなければなりません。

参照モデルは境界が定義され、コンテキストに依存しないため、大部分の信号プロパティは継承されません。

参照モデルは、サンプル時間に依存しないときに離散サンプル時間を継承できます。

バスの指定

サポートあり

Simulink.Bus オブジェクトを使用して、サブシステムに渡すバスのデータ型を指定することができます。

サブシステムは、バーチャル バスの Bus オブジェクトの使用を必要としません。

サポートあり

"動作はサブシステムと同じです。"

サポートあり

"動作はサブシステムと同じです。"

サポートあり

Simulink.Bus オブジェクトを使用して、参照モデルに渡すバスのデータ型を指定することができます。

In Bus Element ブロックおよび Out Bus Element ブロックを使用する場合、モデル参照ではバーチャル バス用に Bus オブジェクトを使用する必要はありません。

状態の初期化

サポートあり

サブシステムの状態は初期化できます。

サポートあり

"動作はサブシステムと同じです。"

サポートあり

"動作はサブシステムと同じです。"

サポートあり

構造体形式または時間付き構造体形式のいずれかを使用して、状態を最上位モデルから初期化できます。詳細については、参照モデルの状態情報を参照してください。

コード生成

サポートあり

サブシステムのコード生成の詳細については、サブシステム用の関数の生成を制御 (Simulink Coder)を参照してください。

サポートあり

リンクされたサブシステムのコード生成の詳細については、サブシステム用の関数の生成を制御 (Simulink Coder)を参照してください。

サポートあり

"動作はサブシステムと同じです。"

サポートあり

参照モデルのコード生成の詳細については、参照モデルのコード生成 (Simulink Coder)を参照してください。

関連するトピック