Instrument Control (GPIB, Serial, VISA, IVI)

Showing results for 
Search instead for 
Did you mean: 

Agilent MXA Series Instrument Driver hangs and makes LabView hang

Hello NI,


I am controlling a Agilent / Keysight N9000B CXA Signal Analyzer, but should be applicable to other Signal Analyzers from Keysight.


When I am in Mode "Swept SA" and sending command ":FETC:OBW1?;" which is a command designed for "Occupied Bandwidth" mode, then the driver and also LabView 18 IDE completely hangs and I have to destroy the LabView IDE process through task manager.


The Driver I use:

Agilent MXA Series Instrument Driver Readme
To rate this instrument driver, go to the driver download page on the Instrument Driver Network.
1. Overview
Instrument Driver Technology: LabVIEW Plug and Play (project-style)
Manufacturer: Agilent-Keysight Technology
Supported Language(s): LabVIEW
Supported Model(s): N9020A, N9010A, N9030A, N9000A, M9290A
Model(s) Tested: N9020A, M9290A
Interface(s): GPIB, Ethernet, USB
Firmware Revision(s) Tested: A.01.14(N9020A), A.14.75(M9290A)

Certified: Yes
NI Supported: Yes
Source Code Available: Yes

Driver Revision: 1.3.1
Original Release Date: 11/06/2007
Current Revision Date: 10/2015


Place where this error occures:


OBW Icon.jpgOBW Send Read Command.jpg


Occures while Reading 4096 bytes.

Setting the timeout has no effect !!!


On the screen of the SignalAnalyzer a message pops up that a wrong command was sent. But the LabView driver should not hang.


Could you check and correct the driver?


Thanks and BR

Eugen Wiebe

Eugen Wiebe
Bernstein AG
CLAD - Certified LabView Associate Developer
0 Kudos
Message 1 of 6

From the code and observations on the instrument screen, since the command is incorrect, the VISA Read API will wait until the 4096bytes are available or the termination character appears or a timeout occurs.


During the timeout period, the VI might seem hung up, but does the Task Manager show as not responding? at any cost, after the timeout duration, the VISA Read must return an error and execute normally., does that happen?


Regarding the Command error, please check the programmers manual and verify the termination character. These drivers were provided by the manufacturer (Agilent/Keysight) and hopefully they have validated them well with supported instruments.


NI does not validate these drivers with Hardware and would not assume any responsibility for these unless the issue is in NI's product, like the VISA APIs, LabVIEW or any NI Hardware.

Semiconductor Validation & Production Test
Soliton Technologies
0 Kudos
Message 2 of 6

VISA Read does not return any more. And you cannot stop LabView execution. The only possibility is to destroy the LabView process in Task Manager.

Eugen Wiebe
Bernstein AG
CLAD - Certified LabView Associate Developer
0 Kudos
Message 3 of 6

This driver only supports the N9000A officially. But you have a N9000B. This device is supposed to compatible, but might be you have  found a N9000B firmware bug. 

You might check Keysight for latest firmware. They provide also an alternative instrument driver with  official support for the N9000 B. 

For debugging this further I would use NI-IOTrace to log all commands  and check the manual, if there is all OK. 

Message 4 of 6

Yes, I have found a LabView Driver from Keysight:

Base - X-Series Signal Analyzers LabVIEW Instrument Driver


But this driver is based on IVI and I do not want to change everything to the Keysight driver.


And I found also latest Firmware Version for this instrument on their site:A28.05

I also realized, that the driver was tested with a very old Firmware:

Firmware Revision(s) Tested: A.01.14(N9020A), A.14.75(M9290A)


@NI: If you wish to test your "Agilent MXA Series Instrument Driver" with N9000B with the latest Firmware, you can contact me and send me some test routines, I could do this for you 😉



Eugen Wiebe

Eugen Wiebe
Bernstein AG
CLAD - Certified LabView Associate Developer
0 Kudos
Message 5 of 6

your command appears to end with a semicolon which is used to separate commands if I remember my SCPI correctly.


So your saying to do a FETC; semicolon<-- WAIT for more commands to rx.

0 Kudos
Message 6 of 6