ホーム
サポート
シリアルデバイスがハイパーターミナルでは動作するが、LabVIEWやVISAテストパネルでは動作しない
シリアルデバイスがハイパーターミナルでは動作するが、LabVIEWやVISAテストパネルでは動作しない
更新しました Feb 20, 2019
使用製品
使用製品とは、この記事で説明されている解決策で動作することが確認された製品を示しています。この解決策は、他の同様の製品やアプリケーションにも適用される可能性があります。
ソフトウェア
LabVIEW
ドライバ
NI-VISA
問題
シリアル通信の計測器はハイパーターミナルで動作しますが、Measurement&Automation Explorer(MAX)のLabVIEWまたはVISAテストパネルでは動作しません。
解決策
この問題で考えられる理由は、2つあります。それは、終端文字の違いと文字転送の速度です。これら2つの原因に関連する潜在的な問題を解決するには、次の2つの方法を試します。
ハイパーターミナルで使用されている終端文字がLabVIEWと一致していることを確認します。
通常、ハイパーターミナルは、終端文字として
\r\n
を追加します。これは、送信する各メッセージの最後に、キャリッジリターンとそれに続く改行に対応します。
LabVIEWの文字列制御器および表示器で
\コード表示
を使用して、終端文字が一致していることを確認できます。たとえば、ハイパーターミナルで文字列を書き出し、ループバックテストを使用してそれをLabVIEWに読み戻すことができます(
シリアルループバックテストの実行方法
)。これにより、ハイパーターミナルがどの終端文字を使用するかを判断できます。次に、同じ文字列をLabVIEWで書き出し、ループバックテストを使用してそれをLabVIEWで読み取ります。これらの入力値を比較して、終端文字が互いに一致するかどうかを判別します。
機器にコマンド文字列を送信する速度を遅くします。
シリアル計測器が古い計測器であり、ハードウェア制御がない場合、LabVIEWやNI-MAXのVISAテストパネルにおいてシリアルデータを書き出す速度が問題になる可能性があります。
ハイパーターミナルは、入力された文字をシリアルポートに書き出します。したがって、単語の文字列が入力されると、ハイパーターミナルは6つの個別の文字を送信します。最初に
s
、次に
t
、次に
r
というように、文字列の末尾から終端文字を送信します。
一方、LabVIEWは文字列全体を取得し、文字間の遅延なしに一度に全文字列を計測器に書き込みます。これを確認するには、Forループを使用して文字列を計測器に書き込み、ループ内の各文字(つまり各反復)間にわずかな遅延を入れて、一度に1文字ずつ書き込むようにします。詳細は、
Serial One Byte at a Time
サンプルプログラムを参照してください。
関連リンク
Serial Quick Reference Guide
その他のサポートオプション
NIコミュニティに聞く
ディスカッションフォーラムで他のユーザーとコラボレーション
NIコミュニティでソリューションを検索する
エンジニアからのサポートをリクエストする
有効なサービス契約が必要な場合があり、サポートオプションは国によって異なります。
サービスリクエストを開く
サポートサービスの購入または更新
Was this information helpful?
Helpful
Not Helpful