LabVIEWでVISAシリアル読み取り時にエラー1073807253が発生する

更新しました Nov 17, 2018

使用製品

Software

  • Measurement and Automation Explorer (MAX)
  • LabVIEW

Driver

  • NI-VISA
  • NI-Serial

問題

サードパーティ製のデバイスから一定の間隔で出力させる文字列をVISA読み取りVIを使用し読み取っています。しかし、読み取り時にエラー -1073807253が発生します。

エラーコード-1073807253が不明位置で発生

考えられる理由:

VISA:  (Hex 0xBFFF006B) 転送中にフレーミングエラーが発生しました。


解決策

エラー -1073807253は、フレーミングエラーです。シリアルデータは一度に1バイトずつ転送されます。各バイトは、スタートビット、データビット、パリティ、ストップビットという特有の形式があります。フレーミングエラーは、データのバイトが受信されたときに発生しますが、予期される形式ではありません。このエラーは、いくつかの理由で発生する可能性があります。

 

A. ポートは、最初の文字がそのポートから受信されるまでに、設定を完全に完了していない可能性があります。VISAシリアルポート構成VIの後に遅延(約10~100ミリ秒)を入れることで、シリアルポートがそれ自身を構成するのに十分な時間を与えることができます。その後、VISA I/Oバッファ排出VIを使用すると、バッファ内の無効なデータをすべてクリアできます。このシーケンスの後で読み取ることで正しく機能するはずです。それらのVIは、ダイアグラムで下記のように追加します。


 

 

B. 読み取り/書き込みタスクが完了する前に、VISAリソースが閉じている可能性があります。

C. シリアルポートとデバイスが異なる設定を使用するように設定されている可能性があります。この問題を解決するには、NI Measurement&Automation Explorer(NI MAX)を開いて、デバイスとインタフェースでシリアルポートを選択します。VISAリソース名ボーレートデータビットパリティ、およびストップビットが、すべてポート設定タブのデバイスの設定と一致することを確認します。

メモ: これらの設定は、上記の例に示すように実行時にプログラムで変更することも、下の例のようにNI-MAXで変更することもできます。

 


D. ケーブルが緩んでいる可能性があります。ケーブルが確実に差し込まれていることを確認します。


E. シリアルケーブルに不具合があるか、シリアルケーブルの種類が間違っている可能性があります。別のシリアルケーブルを試し、ヌルモデムまたはストレートケーブルが必要かどうかをデバイスのマニュアルで確認してください。また、Should I Use Null Modem or Straight Through Serial Cables?を参照してください。


F. シリアル回線がノイズの影響を受けている可能性があります。シリアルケーブルを電源ケーブル、モニタ、またはその他のノイズ源から離します。


G. ドライバのインストールが破損している可能性があります。これはありそうもありませんが、シリアルデバイスを使用するには、コンピュータにLabVIEW、NI-Serial(NIシリアルデバイスを使用する場合)、およびNI-VISAが必要です。上記のすべての手順を試してもエラーが継続する場合は、これらのインストールを修復する必要があります。Fix Corrupt or Non-Working NI Software with Force Reinstallを参照してください。

追加情報

VISAシリアルポート構成VIの使用例については、「簡易シリアル」の例を参照してください。 このサンプルは、LabVIEWのヘルプメニュー>>サンプルの検索(NIサンプルファインダ)>>ハードウェア入力と出力>>シリアルから参照可能です (LabVIEWでサンプルを検索 - NI サンプルファインダ)。

この記事はお役に立ちましたか?

いいえ