LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Seperating Channel Data from a Keithley 2700 Data Acquisition Unit

Hi All,

I'm controlling and collecting data from a Keithley 2701 Data Acquisition Unit using Labview 8.0. Currently, I'm scanning three channels of the Keithley device. All of the data from the three channels is sent to a graph, where all datapoints are graphed. However, I would like to seperate the datapoints of the three channels and graph them onto three different graphs. In other words, each channel's data would be graphed onto a seperate X-Y plot. The user specifies the channels to collect data from by sending a string of values to the device. The device outputs the data in a 1-D array of strings. At the same time, each datapoint that's output is associated with a channel. That channel number is also outputted in a 1-D array of string. How would I go about seperating the channel data into three different plots?

I've tried using a Case structure.  However, when I connect up the channel data (1-D array of strings) to the structure's condition, an error is created. The error says that the source is a 1-D array of string and the sink is a string. The problem is that the device outputs a 1-D array, but the case structure only accepts a single string. Is there any way to make this work? By converting the 1-D array of string into something more manageable? Or is there another totally different way to seperate the channel data?

This problem seems to be easy enough, but I'm stumped.
0 Kudos
Message 1 of 3
(2,519 Views)
I think you could possibly use the "Decimate 1D Array " function to seperate the 1D array into three.  I am assuming that the data returned is in the array like this example {ch1,ch2,ch3,ch1,ch2,ch3...}
0 Kudos
Message 2 of 3
(2,510 Views)
It worked perfectly! I was able to seperate all three channels with minimal effort. Now for some more help...

I would like to take measurements at certain time intervals. Right now, I have the equipment set up to collect X number of datapoints, once I click 'Start'. The LabView program runs until it collects the necessary amount of datapoints. Then no more measurements are collected. However, I would like the program setup to take measurements at a specific time interval like every 5 minutes. The program would wait until 5 minutes had elapsed. Take a measurement and wait another 5 minutes and so on. How would I best do that? What structure/algorithms could I use? I was thinking of using a "Timed Loop" structure, but that seemed overly complicated. Any suggestions?

Also, I don't want to specify an end time as I don't know what the end time will be for the experiment. I'd like it to remain dynamic (up to the user). So the program would keep collecting data until the user stopped it. The time interval would be specified beforehand of course.

Thanks in advance.
0 Kudos
Message 3 of 3
(2,495 Views)