仪器驱动故障排查

更新 Jul 27, 2023

环境

软件

  • LabVIEW
  • LabWindows/CVI
  • Measurement Studio Instrument Driver Toolkit
  • Measurement Studio
  • Measurement & Automation Explorer (MAX)

驱动

  • NI-VISA
  • NI-Serial
  • NI-488.2
  • IVI Compliance Package

程式语言

  • C
  • LabVIEW G

  • 我从IDNet下载了一个仪器驱动程序,它没有按预期运行。
  • 我在LabVIEW项目中使用即插即用仪器驱动程序,当我从某个版本的LabVIEW切换到另一个版本时,找不到仪器驱动程序库。
  • 要使用NI产品控制第三方仪器,我需要哪些软件和驱动程序?
  • 我正在使用台式仪器(万用表,示波器,电源等),但我在NI MAX中找不到它们。
  • 我在计算机可以看到COM串口,但无法与我的仪器通信。

在尝试下面步骤之前,请确保您具有仪器手册,并且仪器在不以编程的方式控制时能够正常工作。此外,最好仔细检查计算机和仪器之间的连接。

A.确保您的计算机中有正确的驱动程序


1.检查仪器驱动程序的readme文件或下载页面,查看所需的软件和其他特殊说明。


2.确保您已安装与设备通信所需要的NI软件:确认计算机上安装的NI软件的版本 。您还需要确认软件是否按正确顺序安装: 多个NI软件产品的安装顺序 。确保检查readme文件(包含在每个下载页面中)和安装介质,确认它是否与您的计算机兼容。所需软件的包括:

 
  1. NI-Serial(用于串行通信仪器)
  2. NI-488.2(用于GPIB通信仪器)
    在插入任何新的NI GPIB硬件设备之前,必须安装NI-488.2驱动程序软件,以便Windows可以检测到它们。
  3. NI-VISA
  4. IVI Compliance Package(适用于使用IVI兼容命令的仪器)
  5. NI Modular Instrument Drivers(NI-SCOPE,NI-DMM等)
  6. 其它......


有关所用软件的更多信息,请参阅: 仪器控制基础知识:仪器控制软件


3.通过NI-VISA(或其他支持软件)确保成功通信。仪器控制入门仪器控制:硬件配置将引导您完成此过程。

 

B.验证仪器驱动程序的安装


确保您的仪器驱动程序安装正确。您可以在仪器驱动程序网络(IDNet)中找到所有仪器驱动:
  • 对于LabVIEW即插即用仪器:LabVIEW即插即用仪器驱动程序应位于<LabVIEW>/instr.lib目录下。(例如:C:\Program Files(x86)\National Instruments\LabVIEW 2017\instr.lib\Agilent34401)即插即用仪器驱动程序没有安装包,只需将它们解压到instr.lib即可。解压时,请确保解压软件不会创建其他文件夹(例如:C:\Program Files(x86)\National Instruments\LabVIEW 2017\instr.lib\Agilent 34401\Agilent 34401)。
  • 对于LabWindows™ / CVI即插即用仪器:LabWindows™/ CVI即插即用仪器驱动程序只需要在您创建的项目中正确引用源代码。他们没有安装程序,只需要解压。
  • 对于使用IVI驱动程序的仪器:IVI仪器专用驱动程序应安装在IVIStandardRoot目录中。(例如:C:\Program Files\IVI Foundation\IVI\Drivers)如果IVI仪器专用仪器驱动程序由NI维护,它还将在MAX中创建IVI驱动程序条目,如下图所示。


注意 :如果您将使用IVI-C类驱动程序,则需要在MAX中配置IVI Logical Name和Driver session,然后保存设置。有关说明,请参阅文档: 在LabVIEW或LabWindows™/CVI中使用National Instruments IVI入门教程

 

C.验证您的仪器是否适用于您的应用程序开发环境(ADE)


1.尝试通过简单的VI范例进行通信,以确认VISA正在通过ADE(LabVIEW,LabWindows™/ CVI,Measurement Studio)工作。打开范例查找器:帮助»查找范例,然后找到Hardware I/O并选择您正在使用的连接类型:GPIB串行 。


2.打开您将使用的ADE并找到仪器驱动程序的范例:
  • 对于LabVIEW PnP(项目风格):您需要运行范例查找器:帮助»查找范例,然后找到Hardware I/O»Instrument Drivers»LabVIEW Plug and Play
  • 对于IVI-C驱动程序:创建CVI项目并将驱动程序文件和范例添加到项目中。这些文件可以在<IVIStandardRootDir>/Drivers找到
  • 对于CVI PnP:只需打开.prj文件并运行范例。
  • 对于IVI-C类驱动程序
    • 在LabVIEW中,使用范例查找器:帮助»查找范例,然后找到Hardware I/O»Instrument Drivers»IVI
    • 在LabWindows™/CVI中,使用范例查找器:帮助»查找范例,然后找到Hardware I/O»Instrument Drivers»IVI


3.确保您使用的是正确的VISA resource或IVI Logical Name并运行该范例。如果范例未正确运行,请尝试以下操作:
  1. 只使用InitializeClose命令运行。
  2. 禁用IDQuery
  3. 重启计算机并使用NI MAX中的VISA测试面板重新确认VISA通信。
  4. 使用另一台计算机上或者换一台相同的仪器,观察问题是否仍然存在。
  5. 如果使用IVI,请尝试直接使用专用驱动程序(即插即用样式)。


4.如果您可以通过仪器驱动程序进行通信,但发现问题,请将问题划分到最小单元的VI或重复出现错误的函数调用。
  1. 在高亮执行模式(仅限LabVIEW)或单步执行模式下查看问题是否仍然存在。
  2. 确保您在应用程序结束时关闭仪器驱动程序引用。
  3. 在National Instrument的网站和论坛中搜索您收到的错误代码。

Additional Information

仪器驱动程序行为不正确的最常见原因

  • 命令不完整或不正确。
  • 仪器型号或者版本不被支持。
  • 仪器驱动程序中的通信设置不正确(最常见的是RS-232)。
  • 用户应用程序传递的值超出范围。
  • 未正确安装或配置仪器驱动程序。
  • 您正在使用的特定仪器型号是被驱动程序支持的,但是否能够正确运行没有经过严格的验证。
  • 仪器驱动程序不支持您使用的仪器控制总线(最常见的是RS-232)。
  • IVI驱动使用在虚拟设备上,而这并非您本意。

 

其他故障排除步骤

 

  • 对发生的错误进行NI I/O跟踪捕捉。查看文档:执行良好的NI I/O跟踪捕捉以进行调试/故障排查 。
    • 根据错误信息和NI I/O跟踪捕捉,查看报告错误的VI或函数。
  • 查看发送的命令并将其与编程手册进行比较。如果发送的命令与编程手册中的命令不匹配,请尝试更改它们,看看能否解决问题。
  • 如果仪器驱动程序是NI支持的,请收集以下信息并联系NI支持
    • 操作系统版本和位数
    • ADE版本,类型和位数
    • 仪器驱动程序名称,版本和位数
    • 准确的仪器型号,修订版和固件版本
    • 仪器驱动程序是否支持该仪器?
    • 仪器驱动之前是否正常运行?如果是的话,那之后发生了什么变化?
    • 最后一次确认VISA成功通信是什么时候?
    • 生成了哪些错误代码以及您在ni.com上查找时发现了什么?
    • 问题是否在其他计算机上重现?
    • 问题是否会在其他相同的仪器上发生?
    • 正在使用的仪器控制总线(USB,GPIB,串行等)。问题出现在所有仪器的通信总线上吗?
  • 如果仪器驱动程序是NI不支持的,请尝试将问题发布到NI论坛或联系仪器驱动程序供应商以获取支持。
  • 如果可以,请尝试其他仪器驱动程序。
  • 如果使用IVI驱动程序,虚拟一个仪器观察问题是否依旧存在,或者在范围检查已经被关闭时查看。

 

National Instruments Driver是指完成NI硬件和软件之间通信的软件。例如:虚拟仪器软件架构API(通常称为NI-VISA),通常允许与大多数仪器总线通信,包括GPIB,USB,串口和以太网。它提供了一致且易于使用的命令集,可与各种仪器进行通信。

 

Instrument Driver是指一系列控制可编程仪器的软件程序。每个例程对应于编程操作,例如配置,读取,写入和触发仪器。借助Instrument drivers,无需学习每种仪器的编程协议,从而简化了仪器控制并缩短了测试程序的开发时间。