LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Keithley 2700 RS232 Multiple Channel Help needed

Hello.  I am using a Keithley 2700 multimeter with a Model 7706 All-in-one card to read voltages from a number of thermocouples and pressure transducers.  The Keithley is connected to the CPU using an RS-232 cable to the CPU's Serial Port.  I have downloaded the provided drivers from NI (http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=0470C9F181C02E75E0440003BA7CCD...) and am using the Continuous Multi-Channel Read example program currently.  What i am having trouble with is separating the data that comes from the different channels.  I have tried to do a stacked structure, but to no avail.  My goal is to read from each of the channels (101:110) and then save the data at the end (which i can do easily, just write to spreadsheet).  I would also like to display the data in real time as it's measured (so have 10 Graphs/Charts on screen at the same time).  Any hints on how to setup the stacked structure to save each individual channel?  Or any other way to make the measurements on the different channels?

 

Thanks

0 Kudos
Message 1 of 31
(6,472 Views)

A stacked sequence structure should rarely be part of any solution and I fail to see how it could possibly be used here. It seems that all you need to do to display each channel on a chart is an Index Array function. Show below is a start. You would have to add more charts and more outputs from the Index Array.

 

 

 

You should look into some of the free tutorials or  more extensive training.

Message Edited by Dennis Knutson on 04-07-2009 08:37 PM
Message 2 of 31
(6,436 Views)

Hi,

 

I am also having a similar issue. Let's say I am running 3 different instruments on 3 different channels. The Keithley Continuous Multi Read example will put those three outputs into one column when I write to measurement file. (e.g. one column arranged abcabcabc instead of three columns with a in one, b in another, and c in the third). I tried using the index array to separate the channels as shown in your post, but now the waveform charts do not update with time. Any suggestions?

 

Thanks

0 Kudos
Message 3 of 31
(5,996 Views)

To clarify:

by don't update with time i mean that the waveform charts show what appears to be the initial value of each intrument for each time point as time progresses even if the voltage changes, whereas before splitting the channels when I would use the instruments the corresponding changes in voltage showed up in the single output column of the write to measurement file.

0 Kudos
Message 4 of 31
(5,988 Views)

The Keithley example does not put anything anywhere except into an array indicator after the main loop stops. I have no idea what kind of modification you did to the example since you did not post the code or even an image of the block diagram. My guess is that you have the Convert to Dynamic Data function set incorrectly. No guesses on your other problem. Attach your code.

Message 5 of 31
(5,985 Views)

Sorry, I meant to say in the output in the Write to Measurement file, all of the data from the three channels are stacked in one column. So what I want to do is separate that into three.

 

In WriteTo1 is what I originally did with the Write to Measurement file and I get all three channels stacked in one data column in the output file.

 

In WriteTo I tried to separate the channels as shown in your post, however, any changes in voltage are not recorded (the data and waveform charts flatline). So I get the data from the three channels being read in three separate columns in the output file but they are not recording any changes to the data. The Keithley shows the voltage changing.

 

Attached is the code with the waveform charts.

 

Thanks! I'm pretty new to this so I appreciate the help.

Download All
0 Kudos
Message 6 of 31
(5,959 Views)

Right click on the Convert To Dynamic Data in WriteTo1 and make sure it is 1D Array of Scalars - Mulitple Channels.

 

I also noticed a mistake in my original post. The Index Array function should be wired to the output of the Keithley read function - not the output of the Build Array. That is why you see a flatline. The whole purpose of the shift register and build array is to simply have an array of all results when the while loop finishes. You may not need that and could delete all of that.

Message 7 of 31
(5,940 Views)

Thanks. The flatlining problem was fixed.

 

However, in the output file of the write to i now have three columns with data from all three channels in it (see excel attached) so it seems the channels are not being separated.

 

Download All
0 Kudos
Message 8 of 31
(5,931 Views)

Could be you need to change the Keithley Read to 'Entire Buffer' or 'Direct'. That just a matter of clicking on the polymorphic selector below the function.

Message 9 of 31
(5,913 Views)

That could be but it also changes the wiring in the entire loop (because the inputs for 'Entire Buffer' and 'Direct' are different)so I will have to look at that closer.

 

Best,

MJ

0 Kudos
Message 10 of 31
(5,907 Views)