リアルタイム対応を可能にするための固定コスト シミュレーション
指定したステップ サイズと反復回数は、リアルタイム シミュレーションの計算コストに影響します。ステップ サイズを減らしたり、反復回数を増やしたりすると、結果の精度は上がりますが、シミュレーションの計算コストが上がり、シミュレーションにかかる時間が長くなります。ステップ サイズが小さすぎるか、またはソルバーの反復回数が多すぎるために、1 回のリアルタイム計算フレームで解を計算できない場合、シミュレーションのオーバーランが発生します。
ソルバーのステップ サイズを指定して、計算コストを制限します。さらに、陰的ソルバーでは、Simulink® グローバル ソルバーとモデルの各 Simscape™ ローカル ソルバーでの反復回数を指定します。
固定ステップ ソルバーのステップ サイズをリアルタイム シミュレーション用に指定する場合、最善の結果を得るには次を実行します。
タイム ステップが最大ステップ サイズ以下になるサンプル時間を指定する。
各ローカル ソルバーのサンプル時間を個別に指定し、グローバル ソルバーに指定するサンプル時間の整数倍とする。
必要な速度を実現する最小ステップ サイズより大きく、必要な精度を実現する最大ステップ サイズより小さいステップ サイズを選択する。
固定ステップ ソルバーを使用したリアルタイム シミュレーションの反復回数を設定するには、次を実行します。
ローカル ソルバーについては、各 independently configured Solver Configuration ブロックの非線形反復回数を指定する。
グローバル ソルバー ode14x および ode1be については、ニュートンの反復回数を指定する。
モデルで使用される反復回数を固定コストで最適化するには、関数 simscape.getLocalSolverFixedCostInfo
を使用します。
リアルタイム シミュレーションに関する問題のトラブルシューティング
コンピューターのオーバーロードと許容不可能なシミュレーション結果の回避
リアルタイム ターゲット ハードウェア上でのシミュレーションの際に、モデルによって CPU のオーバーロードが発生するか、理論的計算や実験データと一致しない結果が生成される場合、そのモデルはリアルタイム対応ではありません。モデルをリアルタイム対応にするには、Model Preparation ProcessとFixed-Cost Simulation Processのワークフローを使用してください。以下の方法については、それぞれの例を参照してください。
ステップ サイズの制限を求め、ソルバーをリアルタイム シミュレーション向けに構成するには、ステップ サイズの決定とステップ サイズと反復回数の選択を参照してください。
リアルタイム シミュレーション向けにモデルの忠実度を解析、変更するには、計算コストの推定、計算コストの削減、システムの剛性の判別、数値的剛性の軽減およびゼロクロッシングの削減を参照してください。
モデルをリアルタイム対応にするソルバー設定とモデルの忠実度の組み合わせが見つからない場合は、次のいずれかのオプションを検討してください。
リアルタイム アプリケーションを、より高速なターゲット マシン上で実行する。
モデル内のネットワークを互いに独立になるように構成してから、個々のターゲット コンピューターでの並列シミュレーション用に分割する。詳細については、Simulink によるマルチコア プログラミングを参照してください。
参考
simscape.getLocalSolverFixedCostInfo