LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

how to stop continuous analog output IMMEDIATELY

Hi,

I need to have
1) well-timed (hardware) waveform output (up to few kHz), which I want to
2) halt IMMEDIATELY (1us would be nice) after a certain value is detected on analog input.

If I go for 1), I am bound for buffered (continuous) generation, as to the best of my knowledge there is no other way to satisfy 1). But I cannot find a trick to use a trigger to HALT this generation at once (not having to wait until the whole buffer is out). Pulling Output reference to GND is not an option.

Even worse, I would love to be able to wait until my output waveform reaches a certain phase, and then halt the output 🙂

Your suggestions are most welcome, thanks in advance.
0 Kudos
Message 1 of 7
(3,371 Views)

What platform is this deployed on? 

Not to answer your question, but when I see us timing requirements, I immediately think LabVIEW-RealTime.

On Windoze PC, you're into the ms.

Again, not to answer your question... When you need to continously monitor "something" and want to trigger an event (halt immediately), I would consider a Daemon to monitor the analog input..  But that also depends on many factors in how the sw is architectured, etc..

Can you provide more details about how / where the application will be deployed?  What OS? Info on LV (RT) to develop the software?  Target environment (CompactRIO, PXI, DAQ, any NI (other) hardware, etc, PC?)?  If DAQ, do you have a timer card, etc?

0 Kudos
Message 2 of 7
(3,363 Views)
Hi,

it's a WinXP pc with Labview 8 installed and a USB DAQ (1651?). I was wondering if there is some sort of "triggering" that I can program internally (on the DAQ). I realize that windows timing is worthless.
0 Kudos
Message 3 of 7
(3,330 Views)


@titikaka wrote:
Hi,

it's a WinXP pc with Labview 8 installed and a USB DAQ (1651?). I was wondering if there is some sort of "triggering" that I can program internally (on the DAQ). I realize that windows timing is worthless.


Hmm, you could try to program an analog triggered AI task and then have that trigger signal inhibit the AO task using RTSI signal routing.

But wait USB DAQ and analog triggering? I'm afraid you will need some high end plugin DAQ card for that.

Other than that what you want to do is even a stretch for LabVIEW RT platforms. It could be done however fairly easily on the FPGA target of CompactRIO systems.

Rolf Kalbermatter


Message Edited by rolfk on 04-16-2008 11:11 AM
Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 4 of 7
(3,318 Views)


rolfk wrote:

Other than that what you want to do is even a stretch for LabVIEW RT platforms. It could be done however fairly easily on the FPGA target of CompactRIO systems.

Yes... but on a USB DAQ???  Hummm.....   
You'd have to redefine "immediately".
 
The use of a Daemon can still be used.  The Daemon would contain a timed loop...  but it's a Windoze OS..  XP..  
 
You'd need higher end DAQ board with a timer card on RTSI bus and sufficient buffer on the DAQ card.   There may be a way to trigger on the analog signal using the DAQ card.  The idea is that the less you rely on the PC (OS) the closer you'd be to a solution..
 
Can you describe the analog signal?  And how you plan to trigger from it?
 
RayR
0 Kudos
Message 5 of 7
(3,292 Views)
There are a couple of examples that ship with LV that demonstrate using DAQmx to create a task based timing source ( as in a builtin hardware timer ) to control a Timed Loop.  Not sure of accuracy without LV RT.  If you auto indexed your output data you could write one data point per iteration of the Timed Loop.  Beauty of it is that you have the oportunity to halt the loop every iteration.
0 Kudos
Message 6 of 7
(3,280 Views)
Hi again,

to clarify things: my DAQ is USB-6251 (I beleive it passes as an E-series DAQ?)
The idea with hardware timed loop is interesting, I will give it a try. Thanks.
0 Kudos
Message 7 of 7
(3,220 Views)