シリアル通信のトラブルシューティング



使用ソフトウェア: LabVIEW Development Systems>>LabVIEW Full Development System
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabVIEW Development Systems

問題:
リアル通信で計測器にコマンドを送信しても応答がないのはなぜですか?


解決策:
計測器がコマンドに応答しない場合は、次のステップに沿って動作確認をおこないます。
  1. ケーブルに問題がないかを確認してください。破損したケーブルでは計測器から応答がないことがあります。

  2. PC間でのシリアル通信では、受信線と送信線を反転させるためにクロスケーブルを使用してください。

  3. LabVIEWに含まれているサンプル、具体的にはLabVIEW <バージョン>\examples\Instrument IO\SerialにあるSimple Serial.viを実行してください。NIサンプルファインダでは、参照タブにあるハードウェア入力と出力 ≫ シリアル ≫ 簡易シリアル から開くことができます。


多くの計測器は、コマンドの終端に復帰(CR: Carriage Return)や改行(LF: Line Feed)を必要とします。Simple Serial.viでは、コマンドを書き込む際に文字列定数を¥コード表示にして、改行を意味する¥nをコマンドとともに書き込むようにしています。たとえばハイパーターミナルなど多くの端末エミュレータでは、自動的に送信文字の最後に復帰文字を加えます。LabVIEWでは、Simple Serial.viでの終端文字設定以外にもプロパティノードを使用する方法もあります。この使用例として、連続シリアル書き込み読み取り(Continuous Serial Write and Read.vi)がサンプルとして含まれています。

計測器の中には、¥r(復帰)を終端文字としているものもあれば、¥n(改行)を終端文字としているものもあります。Windowsでキーボード上でエンターキーを押した時、LabVIEWは¥n(改行)を挿入しています。復帰を追加するには、連結文字列関数を使用して、復帰文字定数を文字列に連結するか、文字列制御器もしくは定数を右クリックしてショートカットメニューから¥コード表示を選択して、手動で¥rを追加します。文字列の\コード表示については、LabVIEWヘルプを参照してください。LabVIEWヘルプは、LabVIEWのメニューバーから以外に、Windowsのスタート » すべてのプログラム » National Instruments » LabVIEW <バージョン> » LabVIEWヘルプからも参照可能です。

簡易シリアル(Simple Serial.vi)で、「読み取り前の遅延(ミリ秒)」制御器の時間を1秒以上に延ばすことで計測器が応答する場合もありますのでお試しください。



関連リンク:

チュートリアル: Serial Communication Starting Point
チュートリアル: シリアルループバックテストの実行方法
技術サポートデータベース 1749FBTR: LabVIEWで終端文字をVISAシリアル書き込みの際に追加する方法
LabVIEWヘルプ: '¥'コード表示



添付:





報告日時: 09/22/2000
最終更新日: 08/11/2015
ドキュメントID: 21LCJ1LI