I'm having troubles with the Agilent DSO-X 3012A oscilloscope, firmware version 02.43.2018020635. I intend to use it to perform a series of measurements (hundreds of thousands), downloading each power trace to my computer using USB, as soon as each acquisition is completed.
To do this, I have written a C application, using VISA interface provided by the Keysight IO Suite. I use strictly non-formatted API (viWrite, viRead) to control the oscilloscope using SCPI commands and to read the data from it. Everything works smooth, except that the oscilloscope freezes after few hundreds of measurements. It does not respond to any VISA calls, and it does not respond to any front panel controls (well, except for the power button).
The oscilloscope freeze has so far always occurred during the viRead call, while downloading the power trace. This call ends with an IO error. Any following VISA call to the oscilloscope fail due to timeout. No error is displayed on the oscilloscope, which does not respond to the front panel controls either. The Connection Expert says the connection is OK, commands can be send to the device, but no response is ever received.
Troubleshooting this, I have tried to split the one "large" viRead call to a number of "smaller" calls, downloading the power trace in smaller parts. I have also introduced delays (Sleep(100ms)) between these calls and I have tried to call viClear between the measurements. Nothing helped so far -- after few hundreds (~100-500) of measurements, the oscilloscope freezes and nothing but hard reset helps.
I attach the communication log:
- screenshot from IO Monitor, where the last iteration of the measurements can be seen
- XML log from the IO Monitor
Any help will be highly appreciated.