LabVIEW +
ソフト開発 +
実験・研究装置開発 +
システム開発 +
納入事例 +
会社概要 +
LabVIEWで計測器や通信機器とのデータ送受信プログラムを組もうとして、関数パレットの「計測器I/O」を開いたとき、「VISA」と「シリアル」という2つのパレットが存在することに気づき、迷ったことはありませんか?
どちらのパレットにも「構成」「読み取り」「書き込み」といった似たようなVIが並んでいるため、混同されがちです。しかし、これらは根本的な設計思想が異なります。結論から言うと、現在のシステム開発においては「原則としてVISAを使用する」のが大正解です。その理由と違いを詳しく解説します。
GPIB、USB、LAN(TCP/IP)、シリアル(RS-232C/485)など、あらゆる通信インターフェースを同じ関数(VI)で統一して扱うための共通標準規格(抽象化レイヤー)です。
WindowsのCOMポート(RS-232CやRS-485など)を制御するためだけの、純粋なシリアル通信専用の古い関数群です。他の通信方式への互換性は一切ありません。
「シリアル」パレットの関数で組んだプログラムは、RS-232C通信に完全に依存します。もし将来、計測器が新しくなり「通信方式がUSBやLAN、GPIBに変わった」という場合、プログラムの大半を作り直す必要があります。
一方、「VISA」で組んでおけば、中身の「VISA書き込み」や「VISA読み取り」はそのままで、接続先を指定する「VISAリソース名(アドレス)」を変更するだけで、プログラムを一切書き換えることなくUSBやLAN通信へ移行できます。
計測器通信では、「データの区切り(改行コードなど)」の判定が極めて重要です。
「シリアル」関数は古いOSや特定のWindows環境に依存する部分がありますが、VISAはNational Instruments(NI)が提供する堅牢なドライバ(NI-VISA)を介しているため、OSのアップデートやリアルタイムOS(CompactRIOなど)への移植時にも安定して動作します。
「シリアル通信(COMポート)を行う場合でも、VISAパレットの関数を使う」のが現代のベストプラクティスです。実装は以下の4ステップで完了します。
*IDN?\n
「そんなにVISAが良いなら、なぜシリアルパレットが残っているの?」と思われるかもしれません。理由は主に古いプログラム(レガシー資産)との互換性のためです。10年、20年前に作られたLabVIEWプログラムを現代のバージョンで開いた際にエラーにならないよう、残されているに過ぎません。新規で開発する際にシリアルパレットを選ぶメリットは皆無です。
「古いシリアル関数で書かれたプログラムをVISAベースに綺麗に書き換えたい」「USB、LAN、GPIBなど複数の通信が混在していて、どうアーキテクチャを統一すべきかわからない」といった技術課題はございませんか?
測定代行株式会社は、LabVIEWを用いた計測器制御・実験装置自動化のスペシャリストです。元・横河計測のエンジニアならではの深いハードウェア知識とLabVIEWの通信仕様(NI-VISA)を熟知した確実なプログラミングで、ノイズに強く、長時間の連続運転でも止まらない堅牢な計測制御システムをご提供いたします。
新規のシステム開発はもちろん、古いVIの診断・リファクタリング、プロセス自動化の相談まで、LabVIEWのことなら何でもお気軽にご相談ください。