LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Multi-channel data acquisition via GPIB using a digital oscilloscope (Tektronics TDS3034) and LabVIEW 6.1

Dear all,

I am using LabVIEW 6.1 in combination with a PCI-GPIB card to acquire signal waveforms via a digital oscilloscope (Tektronics TDS3034).

For all operations I am using the basic GPIB commands to communicate with the scope and not the instrument driver VI's !

Until now, I had to acquire input signal waveforms from only one channel. I did that by initializing the scope once using the basic GPIB commands in a sequence structure. After that, I read the data into an 1D array in the LabVIEW program.

Now, I have to extend my the program to handel multi-channel waveforms which are acquired by the scope.

What is the best way to handle the multi-chan
nel signal waveforms, and their associated channel setting parameters in my LabVIEW program (preferring to use only basic GPIB commands)?

It would be very nice if somebody could help me with this and give me some suggestions (may be somebody did such a thing before).

Best regards,

Beam
0 Kudos
Message 1 of 4
(3,759 Views)
You can do it by having your acquisition in a for loop and creating a 2D array as an output. Input to the for loop would be an array of channel names. It would be simple if you were using the driver available (btw, why do you want to write your own code?) but in any case, I would make a subVI out of your fetch waveform code, convert the data to a waveform data type, and stick it in a for loop like I mentioned above.
Message 2 of 4
(3,759 Views)
Dear Dennis,

thank you very much for your answer. Are there any examples around for acquireing multi-channel waveforms using the basic GPIB commands?

Before I started programming my signal waveform acquisition using basic GPIB commands, I had a look into the instrument driver VI's for our Tektronics Scope.

I did not use the instrument driver VI's, because it seems to me that I have to transfer my complete oscilloscope settings into the instrument driver VI. So, each time I change a setting on my oscilloscope I have to update the parameters in the driver VI!? Is there a way to avoid this?

I want to set my settings directly on the scope. After that I would like that the LabVIEW program only reads out the setting parameters and the signal wavefor
ms.

I have attached a VI called "1 signal waveform acquisition" which shows how I acquired a single waveform in the past.

Kind regards,

Beam
0 Kudos
Message 3 of 4
(3,759 Views)
I think you misused the driver if you keep sending all settings. There are some high level examples included in the driver - Getting Started, Acq Wvfm Edge Triggered. These use many of the subVIs that you can also use when and if you want. The point of the high level examples is to give the programmer some idea on how to use the subVIs included in the driver. The other high level example is Acq Dual Wvfm Edge Triggered. At the end this does pretty much what your example does and gets two waveforms by calling Fetch Waveform twice. The differnce is that VISA is used (generally prefered over GPIB) and there are no sequence structures or local variables (not required).
0 Kudos
Message 4 of 4
(3,759 Views)