Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Problems with agilent ag3000 driver

Hi,

I try to connect the Agilent DSO3152 via GPIB. In the NI Developer Zone are two drivers available.
At the ag3000 plug and play driver is the problem that the waveform signal has an offset addicted from the first measured voltagepoint in the  Display. In the "Acquire Waveform Example.vi" the signal jumps up and down in the Signalgraph addictet from phasing (Attachment: The red curve is shown as on oscilloscope and the white curve is shown in the signalgraph).

At the ag3000 IVI-driver ist the problem, that i can only set up Time/div with the parameter "Time per record" from 1µs to 20ns. I also don´t understand what the parameter "Min Record lenght" is for.

Has anyone allready tested this drivers or knows the problems?
Download All
0 Kudos
Message 1 of 3
(3,347 Views)
Hello Sebastian,
       The screenshot of your blockdiagram was more helpful than the screenshot of your front panel.  The reason that your graph might be jumping around is that you are calling AutoSetup during each iteration of the while loop.  You are correct to keep the Close operation outside of the while loop and need to move the initialize and autosetup outside of the loop also.  Also, try running the Acquire Continuous Waveform Example VI and see if you get the same data that is on the scope.  Please use the reference square wave that is on the scope, so we can both use the same signal.
       As far as the IVI driver goes, have you turned on Context Help in LabVIEW (Ctrl+H) and then moused over the controls that you are curious about?  Here is the context help for Min Record Length:

Pass the minimum number of points you require in the waveform record for each channel. The driver sets the  Horizontal Minimum Number of Points property to this value and configures the record length that the oscilloscope uses for waveform acquisition. Call the ag3000 Actual Record Length.vi to obtain the actual record length.

Valid Range:  The maximum value you can select for this property depends on the value you specify for the Horizontal Time Per Record property as shown below.
     5.0e-9:                    600
   50.0e-9:                    600
 100.0e-9:                    600
 500.0e-9:                    600
     1.0e-6:                    600
       other:                   1200  

Default Value: 1200

Notes:

(1) The oscilloscope may use different size records depending on the horz. time per record.

Cheers,

NathanT
0 Kudos
Message 2 of 3
(3,332 Views)
Hi NathanT,

thank you for your fast reply. During my screenshot I didn´t achieve the autosetup an initialize functions. To do that i configured an autoscale button with a case structure. But i allready found out what the problem is. When you open the Fetch Waveform.vi you see that the data will be written in an array. From this Array the first element will be cut of and all following elements will be decremented with it. They do that to norm the Signal from displaydata (0-255 bit) to voltagedata. If the first point in the array is on zero level (130 bit) the vi works. But if not, you get a signal pending on the first arrayelement. If you change the vi, so that it doesn´t decrement with the first arrayelement, but with 130 it works correctly.
With the second driver is the problem, that it doesn´t set the samplerate correctly, so you can´t reach all time scopes. If you send the same command :timebase:scale... via measurement & automation explorer and the Communicator, the samplerate will be set automatically depending on the value you set.

Cheers
Sebastian
0 Kudos
Message 3 of 3
(3,299 Views)