Long Delay/Timeout When Using Agilent 3446X Series Meter Instrument Driver Example

Updated Jun 16, 2021

Reported In

Other

  • Keysight 34461A
  • 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, you'll need to 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.