測定代行株式会社

お問い合わせ

測定代行株式会社

計測器I/Oの「VISA」と「シリアル」の違いと正しい使い分け

計測器I/Oの「VISA」と「シリアル」の違いと正しい使い分け

LabVIEWで計測器や通信機器とのデータ送受信プログラムを組もうとして、関数パレットの「計測器I/O」を開いたとき、「VISA」と「シリアル」という2つのパレットが存在することに気づき、迷ったことはありませんか?

どちらのパレットにも「構成」「読み取り」「書き込み」といった似たようなVIが並んでいるため、混同されがちです。しかし、これらは根本的な設計思想が異なります。結論から言うと、現在のシステム開発においては「原則としてVISAを使用する」のが大正解です。その理由と違いを詳しく解説します。

VISAとシリアルの使い分け
◆ NI-VISA(ヴィザ)とは?

GPIB、USB、LAN(TCP/IP)、シリアル(RS-232C/485)など、あらゆる通信インターフェースを同じ関数(VI)で統一して扱うための共通標準規格(抽象化レイヤー)です。

◆ シリアル(レガシー機能)とは?

WindowsのCOMポート(RS-232CやRS-485など)を制御するためだけの、純粋なシリアル通信専用の古い関数群です。他の通信方式への互換性は一切ありません。

1. 根本的な3つの違い

① 互換性と拡張性(他の計測器への切り替え)

「シリアル」パレットの関数で組んだプログラムは、RS-232C通信に完全に依存します。もし将来、計測器が新しくなり「通信方式がUSBやLAN、GPIBに変わった」という場合、プログラムの大半を作り直す必要があります。

一方、「VISA」で組んでおけば、中身の「VISA書き込み」や「VISA読み取り」はそのままで、接続先を指定する「VISAリソース名(アドレス)」を変更するだけで、プログラムを一切書き換えることなくUSBやLAN通信へ移行できます。

② 終了文字(Termination Character)の処理能力

計測器通信では、「データの区切り(改行コードなど)」の判定が極めて重要です。

③ プラットフォーム(OS)の依存性

「シリアル」関数は古いOSや特定のWindows環境に依存する部分がありますが、VISAはNational Instruments(NI)が提供する堅牢なドライバ(NI-VISA)を介しているため、OSのアップデートやリアルタイムOS(CompactRIOなど)への移植時にも安定して動作します。

2. VISAを使ったシリアル通信の標準ステップ

「シリアル通信(COMポート)を行う場合でも、VISAパレットの関数を使う」のが現代のベストプラクティスです。実装は以下の4ステップで完了します。

  1. VISAシリアルポートを構成.vi
    ここで「COM1」などのリソース名を選び、ボーレート(9600など)、データビット、パリティ、そして「終了文字(Enable Termination Char = True)」を設定します。
  2. VISA書き込み.vi
    計測器に対して、コマンド(例:*IDN?\n)を送信します。
  3. VISA読み取り.vi
    計測器からの応答を受け取ります。「読み取るバイト数」には少し大きめの値(例:100)を入れておけば、終了文字を検知した時点で勝手に読み取りを終了してくれます。
  4. VISAクローズ.vi
    通信が終了したら、必ずリソースを解放します。これを忘れるとCOMポートが占有されたままになり、次回起動時にエラーの原因になります。

3. 今でも「シリアル」パレットが存在する理由

「そんなにVISAが良いなら、なぜシリアルパレットが残っているの?」と思われるかもしれません。理由は主に古いプログラム(レガシー資産)との互換性のためです。10年、20年前に作られたLabVIEWプログラムを現代のバージョンで開いた際にエラーにならないよう、残されているに過ぎません。新規で開発する際にシリアルパレットを選ぶメリットは皆無です。

計測器制御・自動化システムの構築は、測定代行株式会社へ

「古いシリアル関数で書かれたプログラムをVISAベースに綺麗に書き換えたい」「USB、LAN、GPIBなど複数の通信が混在していて、どうアーキテクチャを統一すべきかわからない」といった技術課題はございませんか?

測定代行株式会社は、LabVIEWを用いた計測器制御・実験装置自動化のスペシャリストです。元・横河計測のエンジニアならではの深いハードウェア知識とLabVIEWの通信仕様(NI-VISA)を熟知した確実なプログラミングで、ノイズに強く、長時間の連続運転でも止まらない堅牢な計測制御システムをご提供いたします。

新規のシステム開発はもちろん、古いVIの診断・リファクタリング、プロセス自動化の相談まで、LabVIEWのことなら何でもお気軽にご相談ください。