Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

3D plots

I have a 5 x 5 array of temperature sensors and they are to be read simultaneously. All sensors are read via various channels of PCI 6221 and USB 6211. I want to get a 3D plot from the data obtained from various sensing points, with x and y axis representing the position of sensor (let's say channel 0 represents 11 sensing element, channel 1 representes 12 element and so on). The z axis represents the temperature value (which is a function of time). Kindly help me getting a 3 D plot with above information.

Thanks in advance-

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

Hi!

There are several examples in LabVIEW that show how to build a 3D graph.

You can find them in Help >> Find Examples searching for "3D".

In particular you could have a look at the following:

3D Surface Example - Fluctuating Sine Wave.vi

3D Parametric Surface - Ribbon.vi

3D Graph Properties - Torus.vi

 

Regards,

 

Serena M.

NI Application Engineer

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

Hi!

I followed the example and tried to read two channels (labview program is attached). To get an array, I fix the (x,y) for two channels as (1,1) and (5,5) and corresponding real time signal from two channels is the input to z vector. But, I see some errors. If I replace daqmx timing vi with daq mx read vi, then it works but not continuously (only for few samples).

Pls advice.

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

Hi!

I had a look at your VI, the first problem is the acquisition:

You have defined the tasks in MAX and that is fine but then you have to read the samples in LabVIEW. I guess you would like to acquire an analog signal, so you have to use DAQmx Read.vi but you also have to start and stop the acquisition with DAQmx Start Task.vi and DAQmx Stop Task.vi. You could have a look at the example "Acq&Graph Voltage-Int Clk.vi" that you can find in the LabVIEW Help or at the tutorial at this link.

I suggest you to use a waveform graph to check if you are acquiring the signal correctly. When this part will be ok we will discuss about the 3D graph.

 

Regards,

Serena M.

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

Thanks for the insightful link, explaining the analog data aquisition. I completed this part and I can aquire data from two analog channels. Now, I want these two analog signals to be displayed in 3D graph (let say, as two bars). I came across some schemes on 3D plots, in NI forums and tried to use one. But, it is not working. Surely, I am doing something wrong fundamentally. It would be nice if you can refer any video, like the one on analog data aquisition,  that explains 3D plots also. The updated vi is attached for your perusal. Kindly help.

Regards,

rsd

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

Hi rsd!

Unfortunately there insn't a tutorial or webcast for 3D graphs, but there are some examples, as I told you.

I had a look at your vi but I haven't understood in which way you would like to graph your data. Now you are displaying the different values you have acquired on z axis, while the value of x and y axis is constant. The displayed value on z axis changes every 10 ms untill all the values you have acquired have been displayed. I'm not sure this is what you wanted.

If you explain me exactly how you want to graph your data, I can give you some more advice.

 

Regards,

 

Serena

 

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

Thanks Serena.

let's say I have four channels and I want to show the analog signals from them on z-axis. On x and y axis, the channels can be consisdered to represent an array. Let's say channel 1 can be 11 element of the array, channel 2 can be 12 element, channel 3 can be 21 element and channel 4 can be 22 element. Now on z-axis I want their real time value. I tried to do it with mathscript. But, problem with mathscript is that after every iteration, I get new plot. I would like to see the changes on a single plot. The vi is attached for your perusal. Kindly advice

Thanks a lot.

0 Kudos
Message 7 of 8
(3,750 Views)

Hi rsd!

I think you can use the "3D curve.vi" to build the 3D bar graph you want.

You can find an example at this link.

In the example there is an event structure (the loop with the hourglass) that starts the application when you push a button, but you don't need to use it. Just use the VIs inside the loop to display the data you acquired.

 

I hope this helps.

Regards,

 

Serena

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