主要内容

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

シミュレーションエラーのトラブルシューティング

トラブルシューティングのヒントと手法

Simscape™シミュレーション中に,1つまたは複数のエラーメッセージが表示され,完了前に停止する場合があります。この節では,一般的なエラーの種類とエラーの修正方法を説明します。エラーの特定と追跡については,前の節Simscapeでのシミュレーションの仕組みも参照してください。

シミュレーションが失敗した場合,次の作業を行います。

  • モデルコンフィギュレーションを確認します。エラーメッセージにブロックのリストが含まれる場合は,まずそのブロックを確認します。また,次の項目についても確認します。

    • 接続エラー——モデルが物理システムとして有効な状態か確認します。たとえば,アクチュエータが相互に接続されていてそれぞれ反対の方向に動こうとしていないか,または参照ノードとの接続が誤っていて動作できなくなっていないか確認します。電気回路の場合,極性や接地を確認します。

    • 単位の誤り——Simscape単位マネージャーでは物理単位を非常に柔軟に使用することができます。ただし,単位を正しく指定するよう十分な注意が必要です。特に,金宝appSimulink-PS转换器ブロックとPS-Simulink转换器ブロックの場合にはこの点に注意してください。回路の解析を行う場合,まずすべてのコンバーターブロックを開き,単位が正しく指定されているか確認します。

  • 回路を簡略化します。回路が無駄に複雑であることが,シミュレーションのエラーの原因として最も多くなっています。

  • システムをサブシステムに分割し,各ユニットの動作が設計どおりであることを確認できるまで各ユニットのテストを繰り返します。

  • システムの構築時には,少しずつ複雑なものにしていきます。

モデルの作成,シミュレーション,テストは段階的に行うことが推奨されます。まずシステムの簡単な理想化モデルを作成し,シミュレーションを実行して,設計どおりに動作することを確認します。その後,段階的にモデルをより現実的なものにし,摩擦損失,モーターシャフトのコンプライアンス,ハードストップなどの実際に発生し得る現象を追加していきます。モデルのシミュレーションとテストは各段階で行います。サブシステムを使用してモデルの階層構造を把握し,モデルコンフィギュレーション全体のテストを行う前にサブシステムのシミュレーションとテストを個別に実行します。この手法により,モデルが高度に組織化され,トラブルシューティングも簡単になります。

システム構成エラー

解算器配置ブロックの欠落

トポロジ的に区別可能な各Simscapeブロック線図では,解算器配置ブロックが1つだけ接続されている必要があります。解算器配置ブロックではグローバル環境情報が指定され,シミュレーションの開始前に,モデルで必要なソルバーのパラメーターが設定されます。

解算器配置ブロックがないことを示すエラーメッセージが表示された場合は,Simscape公用事业ライブラリを開き,回路上の任意の位置に解算器配置ブロックを追加します。

余分な流体性质ブロックまたは气体性质ブロック

モデルに油圧要素がある場合,ブロック線図内のトポロジ的に区別可能な各油圧回路には定制的液压油ブロック(またはSimscape液体™ブロックライブラリで利用できる液压油ブロック)が接続されている必要があります。これらのブロックは,油圧回路に接続しているすべてのブロックに対するグローバルパラメーターとして使用される流体特性を定義します。作動油ブロックがループに付加されていない場合,このループの油圧ブロックは既定の流体を使用します。ただし,ループ内に複数の作動油ブロックがあるとエラーが発生します。

同様に,熱流体回路内に複数の热液体设置(TL)ブロックがある場合や,二相流体回路内に複数の两相流体性质(2P)ブロックがある場合,あるいは気体回路内に複数の气体性质(G)ブロックがある場合にもエラーが発生します。

ネットワークに追加されているドメイン固有のグローバルパラメーターブロックが多すぎるというエラーメッセージが表示された場合は,余分な液压油ブロック,定制的液压油ブロック,热液体设置(TL)ブロック,两相流体性质(2P)ブロック,または气体性质(G)ブロックを探して削除します。

参照ブロックの欠落

Simscapeライブラリにはドメイン固有の参照ブロックがあります。これらのブロックは所定の種類の保存端子に対する参照点を表します。たとえば,トポロジ的に区別可能な各電気回路には,少なくとも1つの电气参考ブロック(接地を表す)がなければなりません。同様に,大気を参照しているブロックの油圧保存端子(たとえば,油圧ポンプの吸引端子。また,バルブ,シリンダー,パイプラインの戻り端子が大気に直接接続していると考えられる場合は,これらの端子も該当します)はいずれも液压参考ブロック(大気圧との接続を表す)に接続しなければなりません。フレームに厳重に留められている(接地されている)機械並進端子はいずれも机械平移参考ブロックに接続しなければなりません。この他にもさまざまな例があげられます。

参照ブロックつまりノードがないことを示すエラーメッセージが表示された場合は,システム構成を確認し,上記のルールに基づいて所定の参照ブロックを追加します。参照ノードがないことを示す診断メッセージには,参照ノードを必要とする特定のブロックと変数に関する情報が含まれています。これは,特に,複数のドメインがモデルに含まれている場合に役立ちます。モデル化のベストプラクティスの詳細と例は,グラウンディングのルールを参照してください。

物理システム表現での基本的なエラー

Simscapeモデリング環境では,物理システムは基尔霍夫の一般回路法則に従って物理ネットワークとして表されます。モデルコンフィギュレーションによってはこの法則に違反するものがあり,その場合不正となります。違反には大きく分けて次の2種類があります。

  • 並列に接続されているドメイン固有のアクロス変数のソース(電圧源,油圧源,速度源など)

  • 直列に接続されているドメイン固有のスルー変数のソース(電流源、流量源,力源,トルク源など)

このような構成は実際には不可能なため,理論的には正しくありません。モデルにこのような構成が含まれる場合,シミュレーションを実行するとソルバーはエラーを表示し,次の例のようにブロックのリストを表示します。

例-次の図のモデルには,2つの理想平移速度来源ブロックが並列に接続されています。このため独立した速度源のループが発生し,ソルバーは回路に対して一貫した方程式系を作成できなくなります。

モデルをシミュレーションしようとすると,ソルバーはエラーメッセージを表示します。このメッセージには理想平移速度来源ブロックと理想平移速度Source1ブロックへのリンクがあります。この回路を修正するには,2つの速度源を1つの理想平移速度来源ブロックに置き換えるか,2つの速度源の間に平移阻尼ブロックを追加します。

数値シミュレーションの問題

数値シミュレーションの問題は,特定の回路構成の結果か,パラメーターの不連続点の結果発生します。

従属動的状態

回路の構成によっては,従属動的状態,つまりいわゆる高インデックス微分代数方程式(DAE)が発生します。Simscapeソルバーは、状態内で線形であり時間やシステムへの入力からは独立している動的状態間の従属関係を処理できます。たとえば、並列に接続されているコンデンサや直列に接続されているインダクターでは問題は発生しません。この他の従属動的状態の回路構成では、場合によってはシミュレーションの速度が低下したり、ソルバーの初期化が失敗してエラーが発生したりすることがあります。

動的状態に非線形代数関係が存在する場合,問題が発生することがあります。例として、2 つの慣性が非線形ギア拘束 (楕円ギアなど) により接続されている場合などがあげられます。シミュレーションが失敗した場合、Simscape ソルバーでは問題があるコンポーネントを特定し、当該のブロックと各ブロック内の方程式へのリンクが記載されたエラー メッセージを表示できることがあります。

パラメーターの不連続点

時間などの変数に依存する非線形パラメーターを使用している場合,パラメーターの不連続点が原因で数値シミュレーションの問題が発生することがあります。このような問題は通常,過渡的な初期化の段階でおのずと明らかになります(過渡的なシミュレーションの問題を参照してください)。

初期条件解決の失敗

すべてのシステム変数(一部のシステム変数では初期条件が指定されています)を解決する初期条件解決が失敗する場合があります。これにはいくつかの原因が考えられます。

  • システム構成エラー。この場合,[シミュレーション診断]ウィンドウには通常,参照ノードの欠落やコンポーネントの方程式に関する警告などの具体的な追加のエラーメッセージが表示され,その後,該当コンポーネントのリストが指定されます。詳細は,システム構成エラーを参照してください。

  • 従属動的状態。この場合にも[シミュレーション診断]ウィンドウに,コンポーネントの方程式に関する警告などの具体的な追加のエラーメッセージが表示され,その後,当該コンポーネントのリストが指定される場合があります。詳細は,従属動的状態を参照してください。

  • 残差の許容誤差が小さすぎて,シミュレーション開始時に代数拘束に対する一貫した解が得られない場合があります。この場合,解算器配置ブロックで(公差一致性)パラメーターの値を大きくしてみる(許容誤差を大きくする)ことができます。

[シミュレーション診断]ウィンドウに具体的なメッセージが他にあれば,まずそのメッセージに対処してから,シミュレーションを再実行します。トラブルシューティングのヒントと手法も参照してください。

過渡的なシミュレーションの問題

過渡的な初期化は,シミュレーション開始時(初期条件の計算後)やその後の不連続点(ハードストップにより停止した場合など)などのイベントが発生した後に発生します。この処理では,すべての動的変数が固定され,代数変数と動的変数の微分が求められます。過渡的な初期化の目的は,次の段階である過渡的な解決のための一貫した初期条件を得ることです。

過渡的な初期化が収束しない

過渡的な初期化が収束しないことを示すエラーメッセージや,一貫した一連の初期条件を生成できないことを示すエラーメッセージが発生した場合,過渡的な初期化に関する問題が発生しています。これはパラメーターが連続していないことが原因として考えられます。モデルを確認して,不連続性の原因を特定してください。トラブルシューティングのヒントと手法も参照してください。

また,解算器配置ブロックで(公差一致性)パラメーターの値を小さくしてみる(許容誤差を小さくする)こともできます。

ステップサイズ関連のエラー——従属状態——高剛性

ステップサイズ関連の一般的なエラーメッセージとして,最小ステップサイズ条件に違反せずにステップサイズを小さくすることが一定の回数連続して失敗したことを示すメッセージがあげられます。このエラーメッセージは,モデルの微分代数方程式(DAE)を解く際に数値上の問題が発生していることを示しています。原因として,従属動的状態(高インデックスDAE)やシステムの高剛性があげられます。以下のような解決方法があります。

  • ソルバーの許容誤差を小さくする([コンフィギュレーションパラメーター]ダイアログボックスの[相対許容誤差]パラメーターの値を小さくする)。

  • [コンフィギュレーションパラメーター]ダイアログボックスの[絶対許容誤差]パラメーターに[自動]以外の値を指定する。このパラメーター値で実験する。

  • 残差の許容誤差を小さくする(解算器配置ブロックで(公差一致性)パラメーターの値を小さくする)。

  • [コンフィギュレーションパラメーター]ダイアログボックスで[允许连续最小步长违规次数]パラメーターの値を大きくする(エラーメッセージに含まれているステップサイズの連続違反回数より大きい値に設定する)。

  • モデルコンフィギュレーションを確認して回路を単純化するか,回路に小さな寄生項を追加して,従属動的状態が発生しないようにする。詳細は,数値シミュレーションの問題を参照してください。