From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
01-21-2021 04:23 AM
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:
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
01-21-2021 03:45 PM
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.
01-22-2021 02:28 AM
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.
01-26-2021 08:02 AM
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.
01-27-2021 07:20 AM
Yes, I have found a LabView Driver from Keysight:
Base - X-Series Signal Analyzers LabVIEW Instrument Driver
https://www.keysight.com/main/software.jspx?cc=DE&lc=ger&nid=-32508.1163269&id=2675781&pageMode=CV
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 😉
BR
Eugen Wiebe
01-27-2021 03:04 PM
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.