LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot maintain multiple analog out signals

We are trying to control four pumps, which require 2-10 VDC signals,  using the analog output terminals of  two SCB-68 interface boards using traditional NI-DAQ in a while-loop with LabView 7 on a PC using Windows XP.  The programming consists of an analog panel input scaled to the pumps' input requirements, an array builder, and an A/O write one update vi triggered by the while-loop timer at 0.1 intervals.  We can get any one pump to work properly -- speed is properly controlled by Lab View,.  When we try to get two or three pumps on computer control, the pump speeds pulse.  We have tried a variety of while loop execution rates to no avail. 
 
As you can imagine, this has been quite frustrating, especially for us chem e types.
 
Any help would be much appreciated -- class starts in about four weeks (9/29/05).
 
Thanks,
 
Jim Drake
Lecturer
Chemical and Biomolecular Engineering Department
University of California, Los Angeles
0 Kudos
Message 1 of 12
(3,849 Views)
There must be something wrong in the code. Would you mind attaching it?
 
(I am at UCLA too, so maybe we can go over it some time. This week is pretty hectic, but I won't mind next week).
 
You also did not mention what kind of DAQ card you're using. The SCB68 is just a dumb connector block.
0 Kudos
Message 2 of 12
(3,837 Views)
Further clarification: we are using PCI-MIO-16E-4 boards.
 
A copy of the program is attached. Note that only one pump output is connected.
 
Thanks.
 
Jim
0 Kudos
Message 3 of 12
(3,827 Views)

Hi Jim-

I assume that you are using multiple PCI-MIO-16E-4 boards as they only feature two analog output channels per board.  Can you clarify what you mean when you say "When we try to get two or three pumps on computer control, the pump speeds pulse" ?  Do you mean that the voltage levels seem to be resetting to zero when updated or that each channel is affected when only a single write operation is performed?  Have you tried monitoring the output signals with an oscilloscope to verify exactly how they are changing?

I agree with Christian- it sounds like you might just be running into a software problem.  I wasn't able to work much with your posted VI because I was missing the necessary Virtual Channels and other settings.  However, I would like to suggest that you try with an NI-DAQmx task approach rather than Single Point AO with Traditional NI-DAQ to ensure that all channels will be updated simultaneously.  I have attached a VI that shows one method to update the voltage outputs on the fly using a modified LabVIEW shipping example.

Please take a look at this method and see if you can isolate the problem you are running into with the code.

Hopefully this helps-

Tom W
National Instruments
0 Kudos
Message 4 of 12
(3,804 Views)

This is Jim, the originator of the problem.  So far, we have not been able to solve our problem,  I'v e attached the VI.  The analog virtual inputs are thermocouples.  The three analog output vitual variables are 2-10 V signals going to our pumps.  We have two PCI-MIO-16E-4 boards which are not yet bussed together,  We have disconnected the motors and are monitoring the analog out signals from our SCB-68 boards.  At the start of the program, all outputs are the same as they were before the program was started.  However, only the distillate pump output can be changed from the program, written in Labview 7 using traditional methods.  (The bottoms pump uses device 1, output 0; the reflux pump device 2 output 0; and the distillate pump device 2 output 1.)

Any help would be appreciated.

 

Jim

0 Kudos
Message 5 of 12
(3,785 Views)

Hi Jim-

I haven't been able to replicate the problem you are describing using a very similar testing VI that removes some of the operations not related to the analog output operations.  Please check out the attached VI that I am testing with a single card and make absolutely sure that your virtual channels and device numbers are properly correlated in MAX.  If you refer to the channel number directly rather than the virtual channel name does the problem still exist?  Do you observe the same problem with the example VI I suggested in my last post?

Please let us know-

Tom W
National Instruments
0 Kudos
Message 6 of 12
(3,753 Views)

Thanks for your help.  We've got the problem solved.

 

Jim

0 Kudos
Message 7 of 12
(3,732 Views)
Hi Jim-
 
Can you please let us know what the problem was in case others are watching this thread?
 
Thanks a lot-
Tom W
National Instruments
0 Kudos
Message 8 of 12
(3,723 Views)

I apologize for not letting you know what the problem solution is.  I must preface the following with the fact that we are not experienced LabView programmers.  Our systems are simple chemical engineeriing laboratory experiments that do not require all the sophistication available.  We generally do our programming only during the summer.

 

The problem we had of not being able to control more than one of our three pumps using two PCI-MIO-16E-4 cards had to do with our choice a AO vi's.  We used both "AO 1-up" and/or "AO one pt" on both cards incorrectly -- using one vi for each of our output.  We should have used one vi for each board (device).   We found that using the "AO 1-up" on the card (dervice) for which we had two outputs, and the4 "AO one pt" for the board (device) with one output fixed our problem.  The pulsing was probably due to writting to the same output twice in one iteration.

 

Our thanks to all of you and to our area rep., Ross Overstreet, for helping us beat our problem.

 

Jim

0 Kudos
Message 9 of 12
(3,609 Views)

Jim-

That's interesting- I completely overlooked that problem.  Regardless, thanks for posting back and glad to hear you're up and running now!

Thanks again-

Tom W
National Instruments
0 Kudos
Message 10 of 12
(3,600 Views)