LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Waveform chart to plot data from multiple digitizers simultaneously...

Hello,

I'm having trouble writing a VI for a scope that, when triggered by a signal from one channel, will plot multiple waveforms from other multi-channel devices. The trigger needs to display at t=0, and we need to be able to view events before the trigger as negative t's (i.e., t = ... -3, -2, -1, -, 1, 2, 3...).

 

I cannot use DAQmx or DAQ Assist. The express VI's I can use are limited because my hardware has no NI drivers. I'm using Acqiris digitizers in a cc108 chassis.

 

What I've done so far is write a VI which enables me to turn the lights on the digitizers on and off simultaneously with the push of a button. I figured this functionality would be similar to that of the trigger I will be using. However, the trigger also needs to be capable of starting on the rise or fall of a function slope. Lately, I've been looking at some sample VIs to try to learn how to augment them to fit my needs.

 

I also need to display multiple waveforms on the same waveform chart (at least a few per chart).

 

I'll post my LED blinking VI along with some of the ones I've been looking at. The sample VIs have not been edited by me, and it took completing Core 1 and 2 courses online to be able to understand half of what's going on in the sample VIs.

0 Kudos
Message 1 of 8
(3,195 Views)

Hi mprince956

 

Is the LED blinking VI the same as My attempt2.vi? Lets try to break the problem:

1) You need to start acquiring data from a trigger

2) Plot data before the trigger??

3) Plot multiple waveforms in the same waveform chart.

 

What are the challenges you are facing with 3?? You can bundle all signals and graph them in a chart.

What do you mean to view events before the trigger? What kind of events??

0 Kudos
Message 2 of 8
(3,119 Views)

Hi A-Guz-Man,

 

Yes, the blinking LED VI is My Attempt2. The challenges I'm facing with plotting multiple waveforms on the same chart are as follows:

 

1) I don't know how to create a waveform with multiple inputs. Are you saying I could build a bundle of waveforms by name and pass them to the chart?

 

2) What I meant by "view events before the trigger" is exactly what you said: plot data before the trigger. The only thing is that, once the trigger is activated, any data displayed before the trigger event should be indexed by negative time. It just dawned on me that I might want to have one chart continuously graphing data and another chart which would be activated at the time of the trigger (t = 0). The second chart would probably import the data from the other chart and continue graphing while the trigger is active. The second chart would have an x-axis indexed such that the trigger starts at t = 0 and data from before the trigger is indexed on the negative x-axis.

 

The triggering event would be a certain signal from one of the channels on one of the digitizers connected to a chassis. Again, bear in mind, that there are no NI supported drivers for this chassis. I'm using generic drivers supplied by the vendor. As a result, I cannot use DAQmx or any express VIs to communicate with the hardware.

 

Thanks in advance,

 

Marshall

0 Kudos
Message 3 of 8
(3,106 Views)

You need to configure your digitizers

to capture the needed number of samples

trigger with pretrigger on choosen channel at choosen level/ slope

read the values

(all these functions seems to be supported by the hardware... )

 

and depending on how the data is provided stuff it into a wfrm.

We can't help you in detail with your driver .. so how does the data you look like?

 


@mprince956 wrote:

Hi A-Guz-Man,

 

Yes, the blinking LED VI is My Attempt2. The challenges I'm facing with plotting multiple waveforms on the same chart are as follows:

 

1) I don't know how to create a waveform with multiple inputs. Are you saying I could build a bundle of waveforms by name and pass them to the chart?

 

2) What I meant by "view events before the trigger" is exactly what you said: plot data before the trigger. The only thing is that, once the trigger is activated, any data displayed before the trigger event should be indexed by negative time. It just dawned on me that I might want to have one chart continuously graphing data and another chart which would be activated at the time of the trigger (t = 0). The second chart would probably import the data from the other chart and continue graphing while the trigger is active. The second chart would have an x-axis indexed such that the trigger starts at t = 0 and data from before the trigger is indexed on the negative x-axis.

 

The triggering event would be a certain signal from one of the channels on one of the digitizers connected to a chassis. Again, bear in mind, that there are no NI supported drivers for this chassis. I'm using generic drivers supplied by the vendor. As a result, I cannot use DAQmx or any express VIs to communicate with the hardware.

 

Thanks in advance,

 

Marshall


 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 4 of 8
(3,098 Views)

I'm very new to LabVIEW, so I'm struggling with how to start approaching this challenge. I'm not sure if I should put a case structure, sequence, or an event structure into a while loop. I'm also not sure which steps to implement first. I know that the program will need to identify the devices, but I'm not sure if that should come before or after asking the user to input parameters for the waveform.

0 Kudos
Message 5 of 8
(3,092 Views)

Driver problem:

What cards do you actually have?

How do currently access them?

Are IVI driver supported/used?

 

I would begin with simple vis, testing the basic functionality of card access

For a single unit:

  • init
  • configure (samplerate, gain, trigger)
  • arm trigger
  • read
  • close

next try to rearm /read, configure more cards, configure for shared trigger, read all cards

 

If you have the basics to access your cards, you can start thinking about the labview program for your application.

I would start with a state MC (on paper first, than start 'drawing' LV) search the online and shipped tutorials for state MC ..

Display features comes last 😉 

If you have an array of values and a known trigger condition it's no big thing to convert it into an array of wfrms and set the t0 value as you want 🙂

 

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 6 of 8
(3,076 Views)

Henrik, thanks for your reply!

 

The chassis I'm using is an Acqiris CC108 with digitizer models DC240, DC270, and DC440. Acqiris, the original manufacturer, was sold to Agilent, and then the product line was bought by Keysight Technologies. The original chassis used a fiber optic interface, but I've replaced that with an MXI Express X1 system to allow me to use the chassis with my workstation.

 

The Acqiris hardware has been discontinued, but is still supported, which is how I acquired the custom drivers for it. I don't know much about IVI drivers. From what I've read about them, they seem pretty sophisticated. The drivers I have been given by Keysight Technologies seem to fall under the "contributed" category. I'll attach the driver trees they provided me.

 

I have complete access to the hardware functionality. I've used the Keysight soft front panel I was provided to read functions from the digitizers, and they work fine. I've also accessed this functionality in LabVIEW, but the sample scopes I've been provided will only read 1-2 channels at a time, and I need to be able to plot from more than 14 2 GS/s 500 MHz channels simultaneously.

 

With the "My Attempt2.vi" provided in an earlier comment, I've been able to make all of the digitizers blink simultaneously when "triggered" by a button. However, I don't know much about plotting the data from them and how to plot all of them at about the same time on the same graph/chart.

 

Getting the array of values, even getting the values, is something I'm not sure how to do yet. The trigger condition, for now, could just be the falling of a signal on the negative slope of a sine wave.

 

 

 

Download All
0 Kudos
Message 7 of 8
(3,068 Views)

When you say "state MC", is that a State Machine? I'll have to look into that a bit more.

0 Kudos
Message 8 of 8
(3,067 Views)