10-07-2018 06:27 AM
Dear all,
I'm fighting with the communication protocol between my VIs and an Agilent 33250A (manual here). I'm thus seeking for help.
I have installed the required drivers (found there), that I've slighty modified because I had some errors. I have also written a VI that generates a signal that I want to send to the Agilent as an arbitrary waveform. It consists of a sinusoidal signal that I can control quite well (frequency sweep, linear increase of the amplitude, etc...). Once my signal is created, I send it to the Agilent as an arbitrary waveform that is bursted once.
The signal generation is OK. But I have troubles with the downloading of the waveform: I don't know why but for some waveforms the Agilent starts beeping for a few minutes, and then I've got a long list of errors. This list is mainly constituted by "error -101: Invalid character", and also sometimes by "error -113: Undefined header". The weird part is that this doesn't happen all the time but depends on the parameters I'm using for the signal. For example, if I send a sinusoid with frequency of 1 to 7 kHz, that lasts 3 ms and with 10,000 points it's fine. If I change the frequency to 8,9,10,11 or 12 kHz with all other parameters unchanged it doesn't work. But for those frequencies, if I change the number of points, it may work sometimes. Or it may not. I didn't find any logical rule...
I'm guessing that this issue is a format issue. Something might go wrong when converting the data array into binary block chain, but I don't understand what.
You will find as attached files the VIs I'm using: the "Main.vi" generates the signal and triggers the downloading of the waveform through the "AgilentComplet.vi". I also give the different subVIs that are used to configure the Agilent.
Don't hesitate to ask questions if you need more details, or if I was not clear. I hope someone will have an idea!
Cheers
10-07-2018 08:24 PM
I don't have an Agilent 33250 but a Keysight 33521A. Looking at your manual, my 33521A seems to be very similar to your ARB (just newer). I too had issues creating ARB waveforms. Not sure if they are the same issues you are having. But here is what I remember getting it to work correctly.
I couldn't create a waveform directly to non-volatile memory. I had to download it first to volatile memory then transfer it to non-volatile.
The ARB would throw an error if the file already existed in volatile memory. The easiest way was to use the Clear Arbitrary Memory.vi first to clear all ARB waveforms.
My drivers in the snippet are for the 33521 model and not compatible with the 33250. Hopefully your drivers have similar VIs. Try it and see if it helps.
10-15-2018 10:51 AM
Dear jamiva,
Thanks for the quick response (and apologies for my late one!).
What you mentionned is interesting but can't be my problem as I'm already saving the arbitrary waveform into the non-volatile memory.
Actually I had so many troubles with this Agilent that I decided to use a new one (Keysight 33600a series, very similar to yours and that uses the drivers you have). It solved everything! It is much more robust and the errors disappeared. I also have many more points available per waveform.
So I didn't solve my problem, still have the error with my Agilent 33250a, but changing it to a new one made my life easier.