Delay/Timeout Using Agilent 3446X Series Meter Instrument Driver in LabVIEW

Updated Oct 20, 2023

Reported In

Software

  • LabVIEW

Driver

  • Instrument Drivers

Other

  • Keysight 34461A
  • Keysight 34465A
  • Keysight 34470A

Issue Details

I'm trying to communicate with my Keysight Digital Multimeter using the Agilent 3446X Series Meter Instrument Drivers available on the NI Instrument Driver Network using one of the examples that ships with the driver, but I am seeing a long delay followed by the below error:

Error -1073807339 occurred at VISA Read in Agilent 3446X Series.lvlib:Error Query.vi->Agilent 3446X Series.lvlib:Reset.vi->Agilent 3446X Series.lvlib:Initialize.vi
 
Possible reason(s):
VISA: (Hex 0xBFFF0015) Timeout expired before operation completed.


How can I resolve this error and run the example? 

Solution

This error is caused by an issue with VISA Reads and Writes being called too closely in the Error Query.vi which is a part of the Agilent 3446X Series Meter Instrument Driver - this subVI is called by Initialize.vi, which is the VI referenced in the reported error.

In order to fix this issue, there are several options you could take.
  • You'll can make a minor edit to Error Query.vi to allow for time between the VISA  Reads and Writes called by the VI.
    1. Open Error Query.vi by navigating to C:\Program Files (x86)\National Instruments\<Your LabVIEW Version>\instr.lib\Agilent 34401\Public\Utility\Error Query.vi.
    2. Inside of the While Loop present in Error Query.vi, add a case structure between the VISA Read and VISA Write commands, and wire the error output of the VISA Write command to the case structure's case selector. In the "No Error" case, place a 1 second wait, and pass the error wire through the case structure in both cases. The results of these edits are shown below, highlighted in red.

    1. Save Error Query.vi. With the new edits in place, you'll be able to successfully call Initialize.vi without incurring a timeout error, and successfully run an example.
 
  • You can open Default Instrument Setup.vi, which can be found in C:\Program Files (x86)\National Instruments\<Your LabVIEW Version>\instr.lib\Agilent 34401\Private\Default Instrument Setup.vi and delete "*SRE48;" from the string constant wired to VISA Write.vi.
    Default Instrument Setup.png
 
  • You can also try installing Keysight IO Library Suite as this is written as a requirement in the ReadMe file of the Agilent 3446X Series Instrument Driver.