儀器控制所需的軟體(GPIB,Serial,VISA,USB 等)

更新 Jun 27, 2022

產品資訊

硬件

  • Serial Cable
  • VXI (Legacy)
  • Ethernet Cable
  • GPIB Cable
  • USB Cable

軟體

  • LabVIEW
  • LabWindows/CVI

驅動程式

  • NI-VISA
  • Instrument Drivers
  • IVI Compliance Package
  • NI-488.2
  • NI-Serial
  • NI-VXI

問題敘述

  • 在 LabVIEW 或 LabWindows™/CVI 中用於儀器控制的軟體 stack 有哪些層 (layer)?
  • 我正在使用 LabVIEW 開啟一個專案,我想向第三方儀器發送命令。我需要什麼軟體與儀器通訊?
  • 嘗試連接第三方儀器時,我的 LabVIEW 程式遇到技術問題。我是否具有與此儀器通訊的所有必要軟體?
  • 在各種通訊協議中使用 LabVIEW 時,軟體 stack 是什麼樣的?

解決方案

可以將使用 LabVIEW 或 LabWindows™/CVI 進行的儀器控制分為四個獨立的層,每一層中都可以互換。這些驅動程式或軟體包中的每一個都為儀器控制項目提供了不同的功能或選項。

硬體層(白色)

硬體層定義了將用於與儀器通信的協議/標準。從 GPIB 到 TCP/IP LAN,您使用的硬體層將決定您需要的驅動程式層。

驅動程式層(橙色)

  • VISA 隨著 NI-VISA distribution 版本一起安裝,也會隨著 NI-488.2 等各種其他驅動程式一起安裝。 LabVIEW VISA VIs 已安裝到 LabVIEW,因此另一家公司的 VISA 實現(如 Agilent VISA)可與應用程式開發環境一起使用。在此處閱讀有關 NI-VISA 的更多信息:NI-VISA Overview
  • NI-488.2 :如果使用 NI 的 GPIB 卡,模組和轉接頭,請安裝該驅動程式。
  • NI-Serial :安裝後可使用 National Instruments 的 Serial 卡,模組和轉接頭進行通訊。如果您的 serial 端口不是 NI 品牌的,則不需要 NI-Serial(例如:桌上型電腦的 RS-232 端口)。
  • NI-VXI :用於與使用 VXI 總線的儀器以及設計用於 VXI 平台的 National Instruments 卡進行通信。

您可以在不使用 NI-VISA 的情況下直接與低級驅動程式(488.2,Serial,VXI)進行通訊,但是不建議您這樣做,因為 NI-VISA 提供了抽象層,使您的應用程式與硬體更加獨立。

儀器驅動程式層(綠色)

儀器驅動程式是可選的。 NI 通過 Instrument Driver Network (IDNet) 提供了大量的儀器驅動程式。其中一些將作為 LabVIEW 或LabWindows™/CVI 隨插即用儀器,而另一些將採用 IVI 尺寸。如果使用 IVI,則需要安裝 IVI Compliance Package。
  • Instrument Driver Network (IDNet):儀器驅動程式無需學習每種儀器的編程協議,從而簡化了儀器控制並減少了測試程式的開發時間。 NI 及其合作夥伴已為市場上的不同儀器提供了大量功能。在此處了解更多信息: Using Plug-and-Play Instrument Drivers in LabVIEW
  • IVI Compliance Package:NI IVI Compliance Package 是一個軟體包,其中包含開發和使用 IVI 儀器互換性的應用程式所必需的 IVI 類驅動程式和支援庫。 IVI Compliance Package 基於並符合 IVI Foundation 定義的儀器編程規範的最新版本。
  • 模組化儀器(NI-DMM,NI-SCOPE等):這些是預編程的 IVI 驅動程式,可用於連接支援 IVI 標準的主要儀器類型。

應用軟體層(黃色)

您可以使用不同的 Application Development Environments (ADEs) 對儀器進行編程:
並非所有 ADE 都可以存取其他驅動程式(硬體和儀器)。請參閱各自的 specific 文件和 readme 文件以了解其兼容性。
*注意:National Instruments 未開發也不支持用於 Python 編程的 PyVISA

相關資訊

儘管您可能不需要具備每一層軟體就可以使專案成功開發,但是每一層抽象層都將為您提供繼有的程式碼和功能,可以簡化應用程式的編程。例如,儀器驅動程式可以提供更高級別的 API,該 API 可以利用多個 NI-VISA 函數呼叫,讓您可以在單一函數中執行更複雜的操作。