仪器控制所需软件(GPIB,串行,VISA,USB等)
报告于
硬件
· Serial 电缆
· VXI(Legacy)
· 以太网电缆
· GPIB电缆
· USB电缆
软件
· LabVIEW
· LabWindows/CVI
驱动
· NI-VISA
· Instrument Drivers
· IVI Compliance Package
· NI-488.2
· NI-Serial
· NI-VXI
发行细节
- 在LabVIEW或LabWindows™/CVI中,仪器控制的软件栈有哪些层?
- 我正在与LabVIEW开始一个项目,我想发送命令给第三方仪器。我需要什么软件来与我的仪器通信?
- 当我试图连接到第三方仪器时,我的LabVIEW程序遇到了技术上的困难。我是否有与此仪器通讯所需的所有软件?
- 当使用LabVIEW与各种通信协议时,软件栈是什么样子的?
处理方法
利用LabVIEW或LabWindows™/CVI进行仪器控制,可分为四层,每层可互换部件。这些驱动程序或软件包中的每一个都为仪表控制项目提供了不同的功能或选项。
硬件层(白色)
硬件层定义了您将使用哪个协议/标准与您的仪器进行通信。从GPIB到TCP/IP LAN,您使用的硬件层将指定您需要的驱动层。
驱动层(橙色)
- VISA安装在NI-VISA发行版,并与其他各种驱动程序一起安装,如NI-488.2.LabVIEW VISA被安装到LabVIEW上,以便其他公司的VISA实现(例如Agilent VISA)可以与应用程序开发环境一起使用。在这里阅读更多关于NI-Visa的信息:Ni-VISA Overview .
- NI-488.2如果您正在使用国家仪器的GPIB卡、模块和适配器,请安装此驱动程序。
- NI-Serial安装使用国家仪器的串行卡、模块和适配器进行通信。如果您的串口不是NI-品牌,您不需要NI-串行(例如:桌面计算机的RS-232端口)。
- NI-VXI用于与使用VXI总线的仪器和设计在VXI平台上工作的国家仪器卡进行通信。
您可以直接与底层驱动程序(488.2、SerialVXI)进行对话,而不需要NI-VISA,但是不推荐使用NI-VISA,因为NI-VISA提供了一个抽象层,允许您的应用程序更加独立于硬件。
仪表驱动层(绿色)
仪器驱动程序是可选的。NI通过仪器驱动网络(IDNet)提供了大量的仪器驱动程序。其中一些将作为LabVIEW或LabWindows™/CVI即插即用仪器,而其他将在IVI形式因素。如果使用IVI,则需要安装IVI法规包。
- 这个国家仪器仪表驱动网络(IDNet)*仪器驱动程序简化了仪器控制,减少了测试程序开发时间,消除了学习每台仪器的编程协议的需要。镍及其合作伙伴为市场上的不同仪器提供了大量的功能。在这里了解更多:LabVIEW教程中仪器驱动程序的使用
- IVICompliance PackageNI IVI符合性软件包是一个软件包,包含IVI类驱动程序和支持库,用于开发和使用使用IVI仪器互换性的应用程序。IVI符合性一揽子方案基于并符合IVI基金会定义的最新版本的仪器编程规范。
- 模块化仪器(NI-DMM,NI-Scope等):这些是预先编程的IVI驱动程序,允许您连接到支持IVI标准的主要仪器类型。
应用软件层(黄色)
您可以使用不同的应用程序开发环境(ADE)对您的仪器进行编程:
- LabVIEW:您可以使用LabVIEW与不同的驱动程序和仪表层进行通信。在这里阅读更多:LabVIEW教程中的仪器控制
- LabWindows™/CVI:您可以使用LabWindows™/CVI与不同的驱动程序和仪表层进行通信。在这里阅读更多:LabWindows/CVI教程中的仪器控制
- C#.NET:使用.NET框架编写应用程序。在这里阅读更多:使用C#或VB.NET开发VISA和GPIB应用程序
- C/C++:您可以从C/C++调用VISA Diver。在这里可以找到更多信息:Ni-DAQmx、NI-Visa和NI-488.2 Visualc++示例位置
- Python:虽然没有国家仪器的Python适配器用于仪器控制,但是有一些解决方案可以用来调用VISA驱动程序,比如PyVISA*。
其他驱动程序(硬件和仪器)不会被所有ADE访问。请参考每个文档和自述文件以了解其兼容性。
*注: PyVISA用于Python编程的国家仪器公司既不开发也不支持。
补充资料
虽然您可能不需要每个层的软件才能使您的项目成功,但是每个抽象层都将为您提供现有的代码和功能,以使您的应用程序编程更容易。例如,仪器驱动程序可以提供更高级别的API,利用多个NI-Visa函数调用,在单个函数中执行更复杂的操作,您可以在程序中使用这些操作。