リアルタイム コントローラのクラッシュのトラブルシューティング

更新しました Apr 22, 2024

使用製品

ハードウェア

  • CompactRIO Chassis

ソフトウェア

  • LabVIEW Real-Time Module

オペレーティング・システム

  • LabVIEW Real-Time (NI Linux Real-Time)
  • Phar Lap

問題

  • CompactRIO (cRIO) コントローラを使用していますが、Real-Time用のLabVIEW コードを実行するとクラッシュし続けます。これをトラブルシューティングするにはどうすればよいですか?
  • リアルタイム コントローラーのクラッシュの原因となる要因は何ですか?

解決策

リアルタイム コントローラーのクラッシュは、さまざまなソフトウェアまたはハードウェアの要因によって発生する可能性があります。以下の手順に従って、クラッシュの考えられる原因を絞り込みます。
  • リアルタイム エラー ログ ファイルを見つけて、エラーの詳細を検索します。
    • こちらの資料 を元にリアルタイムコントローラのクラッシュのエラーログファイルを参照してください。
    • エラーログには、LabVIEW、リアルタイムモジュール、および例外エラーがリストされます。エラーが特定できたら、NI Web サイトにエラーコードを入力して、さらに詳しいトラブルシューティングの資料がないかを検索してください。
  • コントローラーの CPU 使用率が 75% を超えていないこと、および使用可能なメモリが十分にあることを確認します。
  • コントローラが LabVIEW コードを実行している場合は、コードを単純化して、エラーの原因となっているセクションを分離します。
    • リアルタイム実行ファイル(rt.exe)内でクラッシュが発生した場合は、LabVIEW開発環境でも同じ動作が発生するかどうかを確認してください。
    • コードの特定のセクションを無効にするには、 ダイアグラム無効ストラクチャ を使用します。
    • ループを使用する場合は、適切なタイミングが確保されていることを確認してください。タイミングを制御する関数がすでに実装されている場合は、ループの実行頻度が低くても問題が解決しないかどうかを確認してください。
    • フロントパネル上のオブジェクトの量を最小限に抑えます。
    • LabVIEWコードのトラブルシューティングの詳細 の資料を参照して、LabVIEWクラッシュの原因として当てはまるものがないかを確認してください。
  • コントローラー上でハングアップの原因となる他のスクリプトやプロセスが実行されていないことを確認してください。
  • クラッシュ後にコントローラーの LED のステータスを確認します。
    • LED が特定の問題を示しているかどうかを判断するには、コントローラーのユーザー マニュアルを参照してください。
  • コントローラを再フォーマットし、インストールされているソフトウェア セットを減らします。
    • コントローラーのメモリを節約するために、必要なドライバーとパッケージのみがインストールされていることを確認してください。
    • フォーマットについてはこちらの記事 を参考にしてください。
  • 単純な VI がコントローラ上で動作するかどうかを確認します。
    • たとえば、1000ミリ秒待機するように設定された待機(ミリ秒)関数を備えたwhileループで構成されるリアルタイムVIを作成します。
    • 単純な VI が確実にクラッシュを引き起こす場合は、コントローラ上のハードウェア タイミングが失敗している可能性があります。さらにサポートが必要な場合は、 NI サポート にお問い合わせください。