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

制限

サンプル時間とソルバーの制約

Simscape™ ブロックの既定のサンプル時間は連続的です。既定のサンプル時間を使用して離散ソルバーで Simscape ブロックをシミュレートすることはできません。

Solver Configuration ブロックでローカル ソルバーに切り替えると、関連する物理ネットワークは離散状態になります。モデルのどこにも Simulink® および Simscape の連続状態が存在しない場合、離散ソルバーを使用してモデルをシミュレートできます。

Simscape ブロックを含む非バーチャル サブシステムのサンプル時間を上書きすることはできません。

代数ループ

Simscape の物理ネットワークは Simulink の代数ループ内に存在してはなりません。つまり、PS-Simulink Converter ブロックの出力を、同じ物理ネットワークの Simulink-PS Converter ブロックの入力に直接接続しないようにする必要があります。

たとえば、以下のモデルには PS-Simulink Converter ブロックと Simulink-PS Converter ブロックの間に直達があります (マゼンタで強調表示)。代数ループを避けるため、強調表示されているループの任意の場所に Transfer Function ブロックを挿入できます。

追加のダイナミクスを導入せずに代数ループをより効果的に回避する方法を、以下の修正モデルに示します。

サポートされていない Simulink のツールと機能

一部の Simulink のツールと機能は Simscape ソフトウェアでは使用できません。

sim

  • 以前のバージョンで使用されていた形式へのモデルのエクスポート ([ファイル][モデルのエクスポート先][以前のバージョン]) は、Simscape ブロックを含むモデルではサポートされていません。

  • Simulink のプロファイラー ツールは Simscape モデルとは併用できません。

  • 保存端子間の物理量信号と物理接続線は Simulink 信号とは異なります。そのため、信号とスコープのマネージャー ツールおよび信号ラベル機能はサポートされません。

制限をもつ Simulink ツール

一部の Simulink ツールは、Simscape ソフトウェアでの使用が制限されています。

  • Simulink の set_param コマンドおよび get_param コマンドを使用すると、Simscape ブロック パラメーターの設定や取得ができます (ただし、パラメーターがブロック ダイアログ ボックスのフィールドに対応している必要があります)。MathWorks® では、これらのコマンドを使用して他のブロック パラメーターの検出や変更を行うことは推奨していません。

    コマンド ラインでブロック パラメーターに変更を加える場合、モデルを保存する前にモデルを実行します。これを行わないと、無効なブロック パラメーターが保存される可能性があります。set_param によるブロック パラメーターの変更は、モデルを実行するまで有効になりません。

  • Simscape ブロックは、ここで指定されている制限の範囲内で、Simulink.Parameter オブジェクトを get_param および set_param のパラメーター値として受け入れます。

  • Enabled サブシステムは、Simscape ブロックを含むことができます。サブシステムの Enable 端子については、[有効] ダイアログの [イネーブル時の状態] パラメーターを必ず held に設定します。

    [イネーブル時の状態]reset に設定することはサポートされず、この設定を行うと、シミュレーションで致命的エラーが発生する場合があります。

  • Simscape ブロックは、連続状態をサポートする非バーチャル サブシステム内に配置できます。連続状態をサポートしている非バーチャル サブシステムには、Enabled サブシステムや Atomic サブシステムなどがあります。ただし、物理接続と物理量信号が非バーチャル境界を横切ってはなりません。Simscape ブロックを非バーチャル サブシステムに配置する場合、同じ物理ネットワークに属するブロックはすべて同じ非バーチャル システムに配置してください。

  • 連続サンプル時間ブロックをサポートしない非バーチャル サブシステム (If Action、For Iterator、Function-Call、Triggered、While Iterator など) には、Simscape ブロックを含めることはできません。

  • サンプル時間がユーザー指定の (継承されていない) Atomic サブシステムには、Simscape ブロックを配置することはできません。

  • Simulink で構成可能なサブシステムが Simscape ブロックと連動するのは、選択したすべてのブロックに一貫した端子シグネチャがある場合のみです。

  • 操作点を使用してモデルのシミュレーションの保存と復元を行う場合、ModelOperatingPoint オブジェクトを保存する時点と ModelOperatingPoint オブジェクトを使用してシミュレーションを復元する時点の間は、モデルの Simscape ブロックにいかなる変更も加えることはできません。詳細については、操作点の保存と復元の制限 (Simulink)を参照してください。

    これは、これら 2 つの時点間におけるモデルへの構造的変更を禁止する Simulink の制限事項を拡張したものです。Simscape ブロック パラメーターを変更すると、方程式が変わり、そのため状態の表現も変わります。したがって、SimState を保存してから復元するまでの間に Simscape ブロックのパラメーターを変更することはできません。

  • ローカル ソルバーを使用する場合、Simscape モデルで Simulink の関数 linmod またはこれに相当する Simulink Control Design™ の関数とグラフィカル インターフェイスによる線形化はサポートされません。

  • モデル参照はサポートされますが、次のような制限があります。

    • すべての物理接続線は参照モデル内になければなりません。これらの線は、参照元のモデル内にある参照モデル サブシステムの境界を横切ることはできません。

    • 参照元のモデルと参照先のモデルは同じソルバーを使用しなければなりません。

  • PS-Simulink Converter ブロックの出力には、Simulink 信号オブジェクトを直接作成できません。代わりに、PS-Simulink Converter ブロックの出力端子の後に Signal Conversion ブロックを挿入し、Signal Conversion ブロックの出力に信号オブジェクトを指定します。

Simscape ブロックと互換性のない Simulink ツール

一部の Simulink ツールおよび機能は Simscape ブロックでは使用できません。

  • Simscape では実行順序タグは表示されません。

  • Simscape ブロックはユーザー定義のコールバックを呼び出しません。

  • Simscape ブロックにはブレークポイントを設定できません。

  • 再利用可能なサブシステムには Simscape ブロックを含めることはできません。

  • Simulink 固定小数点ツールを Simscape ブロックで使用することはできません。

  • Report Generator による Simscape ブロックのプロパティのレポートは不完全なものとなります。

コード生成

Simscape 物理モデリング ソフトウェアとそのアドオン製品のファミリではコード生成がサポートされています。ただし、Simscape モデルから生成されたコードには制限事項があります。

  • コードの再利用はサポートされていません。

  • カプセル化 C++ コードの生成はサポートされていません。

  • 調整可能なパラメーターはサポートされていません。

  • ランタイム パラメーターのインライン化ではグローバルな例外が無視されます。

  • MaxStackSize はサポートされていません。

  • 固定小数点プロセッサでの Simscape モデルのシミュレーションはサポートされていません。

  • エラー メッセージでのブロック診断はサポートされていません。つまり、生成されたコードのシミュレーションでエラー メッセージが表示される場合、関与するブロックのリストは記載されません。

  • Simscape ブロックを含むモデルまたはサブシステムの S-Function への変換はサポートされていません。

コード生成では、Simscape のコード生成機能について説明しています。制限をもつ Simulink ツールでは、モデル参照の制限について説明しています。

Simscape プラットフォームに基づくアドオン製品のコード生成機能にも、さまざまなバリエーションや例外があります。詳細は、各アドオン製品のドキュメンテーションを参照してください。

コード生成と固定ステップ ソルバー

Simscape モデルのほとんどのコード生成オプションでは、固定ステップ Simulink ソルバーの使用が必要です。次の表は、コードの生成方法ごとに使用できるソルバーの選択肢をまとめたものです。

コード生成オプションソルバーの選択肢
アクセラレータ モード
ラピッド アクセラレータ モード
可変ステップまたは固定ステップ
Simulink Coder™ ソフトウェア: RSim ターゲット*可変ステップまたは固定ステップ
Simulink Coder ソフトウェア: RSim 以外のターゲット固定ステップのみ

* RSim ターゲットの場合、Simscape ソフトウェアは Simulink ソルバー モジュールのみをサポートします。モデルの [コンフィギュレーション パラメーター] ダイアログ ボックスで、[コード生成][RSim ターゲット][ソルバーの選択] メニューを確認してください。既定の設定は自動選択ですが、Simulink ソルバー モジュールが選択されないことがあります。