メインコンテンツ

リアルタイム対応を可能にするための固定コスト シミュレーション

指定したステップ サイズと反復回数は、リアルタイム シミュレーションの計算コストに影響します。ステップ サイズを減らしたり、反復回数を増やしたりすると、結果の精度は上がりますが、シミュレーションの計算コストが上がり、シミュレーションにかかる時間が長くなります。ステップ サイズが小さすぎるか、またはソルバーの反復回数が多すぎるために、1 回のリアルタイム計算フレームで解を計算できない場合、シミュレーションのオーバーランが発生します。

ソルバーのステップ サイズを指定して、計算コストを制限します。さらに、陰的ソルバーでは、Simulink® グローバル ソルバーとモデルの各 Simscape™ ローカル ソルバーでの反復回数を指定します。

固定ステップ ソルバーのステップ サイズをリアルタイム シミュレーション用に指定する場合、最善の結果を得るには次を実行します。

  • タイム ステップが最大ステップ サイズ以下になるサンプル時間を指定する。

  • 各ローカル ソルバーのサンプル時間を個別に指定し、グローバル ソルバーに指定するサンプル時間の整数倍とする。

  • 必要な速度を実現する最小ステップ サイズより大きく、必要な精度を実現する最大ステップ サイズより小さいステップ サイズを選択する。

固定ステップ ソルバーを使用したリアルタイム シミュレーションの反復回数を設定するには、次を実行します。

  • ローカル ソルバーについては、各 independently configured Solver Configuration ブロックの非線形反復回数を指定する。

  • グローバル ソルバー ode14x および ode1be については、ニュートンの反復回数を指定する。

モデルで使用される反復回数を固定コストで最適化するには、関数 simscape.getLocalSolverFixedCostInfo を使用します。

リアルタイム シミュレーションに関する問題のトラブルシューティング

コンピューターのオーバーロードと許容不可能なシミュレーション結果の回避

リアルタイム ターゲット ハードウェア上でのシミュレーションの際に、モデルによって CPU のオーバーロードが発生するか、理論的計算や実験データと一致しない結果が生成される場合、そのモデルはリアルタイム対応ではありません。モデルをリアルタイム対応にするには、Model Preparation ProcessFixed-Cost Simulation Processのワークフローを使用してください。以下の方法については、それぞれの例を参照してください。

モデルをリアルタイム対応にするソルバー設定とモデルの忠実度の組み合わせが見つからない場合は、次のいずれかのオプションを検討してください。

  • リアルタイム アプリケーションを、より高速なターゲット マシン上で実行する。

  • モデル内のネットワークを互いに独立になるように構成してから、個々のターゲット コンピューターでの並列シミュレーション用に分割する。詳細については、Simulink によるマルチコア プログラミングを参照してください。

参考

トピック