メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

リアルタイムのコード生成および展開プロセス

モデルがリアルタイムで使用できる準備ができたと判断したら、リアルタイム シミュレーション プロセスを使用してモデルをリアルタイムでシミュレートします。このフローチャートは、リアルタイム シミュレーション プロセスの例を示しています。固定コスト ソルバーを使用してモデルをシミュレートし、結果と実行時間が許容できるかどうかを確認します。モデル準備プロセスと同様に、固定コスト プロセスでは、ステップ サイズと反復回数を調整する反復が複数回必要になることがあり、許容できる結果が得られない場合は、モデル準備プロセスに戻る必要が生じることがあります。

If you are performing HIL simulation to test your controller:

  • Configure your controller.

  • Connect your controller to the real-time computer.

ハードウェアインザループ シミュレーションの実行

コードの生成、ダウンロードおよび実行

Simulink® Real-Time™ の使用目的は次のとおりです。

  • 開発用コンピューターでコードを生成し、コンパイルする。

  • ターゲット コンピューターにリアルタイム アプリケーションをダウンロードする。

  • リアルタイム アプリケーションを開発用コンピューターからリモートで実行する。

詳細は、コードの生成、ダウンロードおよび実行を参照してください。

精度の評価

ターゲット コンピューター上でのシミュレーション結果を、参照結果と比較します。参照結果と修正モデルの結果は同じか。そうでない場合、両者の結果は、実測データまたは理論データを使用しても、修正モデルのシミュレーション結果をサポートするのに十分なほど類似しているか。修正モデルは、測定対象の現象を表しているか。それらの現象を正しく表しているか。モデルを使用してコントローラーの設計をテストする計画がある場合、モデルはシステムの検定で信頼できる結果を生成するのに十分な精度を備えているか。これらの点を確認すると、リアルタイム シミュレーションの結果が十分な精度を備えているかどうかを判断するのに役立ちます。

速度の評価

シミュレーションによってオーバーランが発生するかどうかを調査するには、Simulink Real-Time が生成するシミュレーションのタスク実行時間 (TET) レポートを調べます。

リアルタイム モデルの準備のワークフローに戻る

リアルタイム ターゲット マシン上のシミュレーションでオーバーランが発生したり、参照結果と十分に一致しない結果が生成された場合、そのモデルはリアルタイム対応ではありません。モデルの忠実度を調整してモデルをリアルタイム対応にするには、リアルタイム モデルの準備のワークフローまたはリアルタイム シミュレーション ワークフローに戻ります。

モデルの忠実度やスコープを調整してから、リアルタイム モデルの準備のワークフローに記載された他のプロセスと判断を順に実行します。リアルタイム シミュレーション ワークフローを実行できる速度と精度を得られるまで、モデルの調整、シミュレート、解析を繰り返します。リアルタイム シミュレーション ワークフローを実行してから、再びハードウェアインザループ シミュレーション ワークフローを実行してみます。詳細は、Model Preparation ProcessFixed-Cost Simulation Processを参照してください。

リアルタイム シミュレーション ワークフローに戻る

リアルタイム ターゲット マシン上のシミュレーションでオーバーランが発生したり、参照結果と十分に一致しない結果が生成された場合、そのモデルはリアルタイム対応ではありません。シミュレーション ソルバーの設定を調整してモデルをリアルタイム対応にするには、リアルタイム シミュレーション ワークフローに戻ります。

リアルタイム シミュレーション ワークフローを実行してから、再びハードウェアインザループ シミュレーション ワークフローを実行してみます。詳細については、Fixed-Cost Simulation Processを参照してください。

ハードウェアインザループ シミュレーションを行うには計算能力が不十分な場合

リアルタイム ターゲット マシンが、モデルをリアルタイムで実行する計算能力を備えていない場合があります。リアルタイム ワークフローを複数回反復しても、ターゲット マシン上でモデルのリアルタイム実行が失敗したり、信頼できない結果が生成されたりする場合、システムの各部を並行してシミュレートすることを検討してください。詳細については、システムの各部分の並列シミュレーションを参照してください。

モデル バリアントの管理

バリアント ブロックを使用すると、複数のバリアント要件に対応する単一のモデルを作成できます。このようなモデルには共通の固定構造と可変コンポーネントの有限セットがあります。可変コンポーネントは選択したバリアントの選択に応じてアクティブになります。したがって、結果としてアクティブになるモデルは、固定構造とバリアントの選択に基づいた可変コンポーネントの組み合わせになります。バリアント ブロックをモデル内で使用すると、バリアントの選択と呼ばれるさまざまな条件式でのモデルの再利用に役立ちます。詳細と例については、Variant Subsystem を使用した個別の階層でのバリエーションの実装を参照してください。

しかし、既定のバリアントの選択を指定していないコードを使用して、リアルタイム ターゲット ハードウェア上でシミュレーションを行うことはできません。リアルタイム シミュレーション用のコードを生成する前に、バリアント マネージャーを使用してモデル内のバリアント ブロックを特定し、それらのブロックを使用してモデル化された変動点を管理してください。バリアント マネージャーの使用方法については、Variant Manager for Simulinkを参照してください。

制限

Simscape™ は、モデル バリアントの条件付きコンパイルをサポートしていません。

トラブルシューティング

リアルタイム アプリケーションでオーバーランが発生する場合、アプリケーションの実行時間を改善するために以下を行います。

  • Model Preparation ProcessFixed-Cost Simulation Process、およびリアルタイムのコード生成および展開プロセスで説明されているプロセスを使用する。

  • Simulink Real-Time パフォーマンス アドバイザーのチェックを実行する。パフォーマンス アドバイザーの [リアルタイム アプリケーションを実行] アクティビティ モードを使用します。このモードには、物理モデル専用のチェックが含まれています。このモードは、Simscape モデルをリアルタイム実行向けに最適化するのに役立ちます。チェックはフォルダーにまとめられています。[Simscape チェック] フォルダー内のチェックはすべての物理モデルに適用可能です。サブフォルダーには、Simscape Electrical™Simscape Driveline™ などのアドオン製品のブロックをターゲットとするチェックが含まれています。

    チェックにアクセスするには、次を行います。

    1. パフォーマンス アドバイザーを開きます。[デバッグ] タブで、[パフォーマンス] ボタンをクリックします。

    2. パフォーマンス アドバイザー ウィンドウの [アクティビティ] で、[リアルタイム アプリケーションを実行] を選択します。

    3. 左側のペインで [リアルタイム] フォルダー、[Simscape チェック] フォルダーの順に展開します。

    4. 最上位の Simscape チェックを実行します。モデルにアドオン製品のブロックが含まれている場合は、その製品に対応するサブフォルダーのチェックも実行します。

    詳細については、Troubleshoot Unsatisfactory Real-Time Performance (Simulink Real-Time)を参照してください。

Simulink Real-Time シミュレーションはまた、開発用コンピューターとターゲット コンピューターの問題、基盤となるシステム ソフトウェアでの変更、I/O モジュールの問題、手順の誤りなどによって失敗する場合もあります。これらの問題に対処するには、Troubleshooting Basics (Simulink Real-Time)のワークフローに従ってください。詳細については、Troubleshooting in Simulink Real-Time (Simulink Real-Time)を参照してください。

参考

トピック