主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

モデルの階層構造内のシミュレーションモードの選択

モデルの階層構造をシミュレーションする場合,最上位のモデルと参照モデルがどのように実行されるかを考慮しなければなりません。

  • 最上位モデル——すべての仿真金宝app软件®シミュレーションモードをサポートします。最上位モデルの実行を高速化するために、Simulink アクセラレータ モードやラピッド アクセラレータ モードを使用できます。

  • 参照モデル——モデルに対してどのシミュレーションモードでも指定することができますが,そのモデルを参照する際,参照モデルの各インスタンスの模型ブロックが,そのインスタンスのシミュレーションモードを制御します。親モデルのシミュレーションモードが模型ブロックのシミュレーションモードをオーバーライドする場合があります。

シミュレーションモードの詳細についてはシミュレーションモードの選択およびアクセラレータモードの動作を参照してください。

モデル参照のシミュレーションモード

模型ブロックに対して,次のどのシミュレーションモードでも指定することができます。

  • ノーマル

  • アクセラレータ

  • ソフトウェアインザループ(SIL) -嵌入式编码器®が必要

  • プロセッサインザループ(公益诉讼)——嵌入式编码器が必要的

ノーマルモードかアクセラレータモードかを選択する際には,柔軟性と速度のトレードオフが生じます。ノーマルモードは,参照モデルでより多くの仿真金宝app软件およびStateflow®の機能(スコープ,端子の値の表示,デバッグツールなど)をサポートします。アクセラレータモードでは、参照モデルでサポートされる機能は少なくなりますが、モデルの階層構造をより速くシミュレーションします。

モデル化要件 ノーマルモード アクセラレータモード
シミュレーションの速度

モデルの実行は,ノーマルモードではアクセラレータモードより低速になります。ただし,ノーマルモードで実行される参照モデルは,シミュレーションターゲットのビルドおよびコンパイルのために,シミュレーションを遅延させません。これは,ノーマルモードでは,参照モデルがインタープリター形式で実行されるためです。

アクセラレータモードではノーマルモードよりもモデルが高速で実行されます。モデルのシミュレーションを行う前に,金宝app仿真软件はシミュレーションターゲットをビルドしコンパイルしなければなりません。これはプロトタイピングには望ましくありません。詳細については,参照モデルに対するシミュレーションターゲットの管理を参照してください。

デバッグ

金宝app仿真软件デバッガーを使用すると,ノーマルモードで実行される参照モデル内にブレークポイントを設定できます。詳細については,金宝app仿真软件デバッガーを参照してください。

金宝app仿真软件プロファイラーを使用すると,ノーマルモードで実行される参照モデルに対してプロファイリングを有効にできます。親モデルでプロファイリングを有効にしても,参照モデルのプロファイリングは有効になりません。詳細は,プロファイラーによるパフォーマンスデータの取得を参照してください。

アクセラレータモードで実行される参照モデルでは,仿金宝app真软件デバッガーおよび仿真软件プロファイラーによって行われる指定やアクションは無視されます。

動作確認

金宝app仿真软件覆盖™のモデルカバレッジ解析は,ノーマルモードで実行される参照モデルをサポートしています。

金宝app仿真软件覆盖のモデルカバレッジ解析は,アクセラレータモードで実行される参照モデルを無視します。

調整可能性

ノーマルモードで実行される参照モデルについて,シミュレーション中にブロックパラメーターを調整できます。

アクセラレータモードで実行される参照モデルがベースワークスペースまたはデータディクショナリ内の変数を使用してパラメーター値を設定する場合,変数の値を調整することができます。詳細については,その他のモデル化の目的に関する調整可能性の考慮事項と制限を参照してください。

データログ

データログはノーマルモードで実行される参照モデルに対して広範なサポートを提供します。

アクセラレータモードで実行される参照モデルについては,保存にTimeseries形式を使用する場合にのみ,到工作空间ブロックがデータをログ記録します。

データの可視化

シミュレーションデータインスペクターを使用して,インスタンス固有のシミュレーション結果を表示できます。

これらの可視化の方法によって,ノーマルモードで実行される参照モデルの1つのインスタンスのデータのみが表示されます。

  • 参照モデルの范围ブロック,浮动范围ブロックおよび观众范围ブロック

  • 端子の値などの実行時表示

詳細については,ノーマルモードでの複数の参照モデルインスタンスのシミュレーションを参照してください。

シミュレーションデータインスペクターを使用して,インスタンス固有のシミュレーション結果を表示できます。

これらの可視化の方法によって,アクセラレータモードで実行される参照モデルについてはデータは表示されません。

  • 参照モデルの范围ブロック,浮动范围ブロックおよび观众范围ブロック

  • 端子の値などの実行時表示

最上位モデルの范围ブロックでは,信号とスコープのマネージャー]を使用して参照モデルにテストポイントを追加する場合,アクセラレータモードで実行される参照モデルのデータを表示できます。テストポイントの追加や削除には,モデルのモデル参照シミュレーションターゲットをリビルドする必要があります。

診断

コンフィギュレーションパラメーター設定は指定されたとおりに適用されます。

アクセラレータモードで参照されるモデルについては,仿金宝app真软件は一部のコンフィギュレーションパラメーター設定を無視する場合があります。詳細については,アクセラレータモードで無視される診断を参照してください。

実行時のチェック

実行時のチェックは有効になります。

一部のブロックでは,そのブロックをアクセラレータモードの参照モデルに含めたときに,ブロックに含まれている実行時チェックが無効になります。このようなブロックの例には,赋值ブロック,选择器ブロック,MATLAB函数ブロック,MATLAB系统ブロックがあります。

線形化解析と最適化

ノーマルモードでは,参照モデルのブロックごとの線形化が可能です。この方法により,正確な線形化が達成できます。

アクセラレータモードでは,モデル参照の離散状態は線形化に提供されません。これらの離散状態は線形化中に摂動しないため,平衡化処理では完全に自由になりません。

ランダムなブロックの出力は,平衡化中に一定に保たれません。出力が一定に保たれないと,最適化プロセスに影響する可能性があります。

外部関数

ノーマルモードで実行される参照モデル内のMATLAB函数ブロックでは,コード生成用に外部関数として宣言されたMATLAB®関数を呼び出すことができます。

アクセラレータモードで実行される参照モデル内のMATLAB函数ブロックでは,コード生成用に外部関数として宣言されたMATLAB関数を呼び出すことはできません。

功能

ノーマルモードで実行される参照モデルは,アクセラレータモードで実行される参照モデルよりも多くのs函数をサポートします。詳細については,参照モデルにおけるs函数を参照してください。

アクセラレータモードで実行される参照モデルでは,ノーマルモードで実行される参照モデルよりもサポートされるs函数は少なくなります。詳細については,参照モデルにおけるs函数を参照してください。

SILシミュレーションモードおよび公益诉讼シミュレーションモードでは,組み込みプロセッサ用の量産コードを生成することで,参照モデルを実行します。ターゲットハードウェアが使用できないときにはホストプラットフォームで実行できるため,SILモードは公益诉讼シミュレーションの便利な代替手段になります。詳細については,SILシミュレーションおよび公益诉讼シミュレーション(嵌入式编码)を参照してください。

オーバーライドされたシミュレーションモード

親モデルのシミュレーションモードが模型ブロックのシミュレーションモードをオーバーライドする場合があります。次の表に,親モデルのシミュレーションモードと関連する模型ブロックに基づいて,参照モデルインスタンスに対して仿真金宝app软件が使用するシミュレーションモードを示します。

親モデルによって使用されるシミュレーションモード 模型ブロックのシミュレーションモード
ノーマル アクセラレータ
ノーマル

共存——参照モデルはノーマルモードでシミュレーションを実行する。

共存——参照モデルはアクセラレータモードでシミュレーションを実行する。

アクセラレータ

オーバーライド——参照モデルはアクセラレータモードでシミュレーションを実行する。

共存——参照モデルはアクセラレータモードでシミュレーションを実行する。

ラピッドアクセラレータ(最上位モデルのみ)

SILおよび公益诉讼の詳細については模型引用层次结构中的模拟模式重写行为(嵌入式编码)を参照してください。

関連するトピック