Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Need to generate single sine pulse with digital trigger

Hello,

 

I need to generate a single pulse sine wave based on a digital external Trigger. So far I am able to generate a single sine pulse but I am not sure my triggering is set to correct. Right now it outputs a single sine pulse when the VI is set to run.

 

Actually I would want this program to  run contineouly without any output but once it receives a digital rise edge trigger it should output a single sine pulse. And no output until it recieves another digital trigger after X amount of time.

 

I have attached my VI for further detail. Please Help

 

 

 

 

0 Kudos
Message 1 of 17
(4,806 Views)

and I am using NI USB 6353 to output my sine pulse

0 Kudos
Message 2 of 17
(4,804 Views)

I couldn't open your VI (one of these days I'll install LV 2013...) but to do what you want your code should look something like this:

 

RetriggerableAO.png

 

 

Best Regards,

John Passiak
Message 3 of 17
(4,782 Views)

Hello John_P,

 

Thank you very much for your reply. I was able to solve the single pulse problem (vi pictured attached as sinepulse vi). I am sucessfully able to acquire a single pulse sine wave using my AO of USB DAQ.

 

My next problem is to use that Vi as a sub vi and acquire 4 sets of single sine pulse with fixed delay between each signal. and all these should be generated upon a single external digital trigger.  please see pciture Output Vi which gives more detail.

 

Which version of Labview are you currently using. I could save my Vi in that version and attach.

Download All
0 Kudos
Message 4 of 17
(4,775 Views)

Hello John_P,

 

Do you have a question about this functionality you want to implement? or where do you need assistance?

 

Regards

Frank R.

0 Kudos
Message 5 of 17
(4,725 Views)

Hello,

 

I am able to get a single pulse sine wave with desired amplitue and frequency.

 

My problem at the moment is -  I need to generate four sine pulses in 4 different channels of my USB 6353 with microseconds delay. My approach is to use my single sine pulse generating vi as a sub vi and use falt sequence with delay (pictured attached). But unfortunately the smallest delay labview can provide is in milisecond. I need a delay in microsecond. I am hoping my USB 6353 has some hardware counter to provide me that micrsecond delay between each pulses. I am struggling to implement that microsecond delay.

 

I hope this explantion is clear. Thank you very much.

 

Best regards,

Pjkunwor

0 Kudos
Message 6 of 17
(4,715 Views)

Picture

0 Kudos
Message 7 of 17
(4,714 Views)

Hello John_P,

 

You should know that using a flat sequence with delays is like using software timed tasks. If you want more precision you would like to implement hardware timed triggers. Something like this:

How to Start A Task With a Specified Delay After a Trigger

 

You could review that example and test it if you want. Obviously, you need to adapt that example to your code.

 

Regards

Frank R.

0 Kudos
Message 8 of 17
(4,688 Views)

Hello everyone,

Sorry for taking so long to reply. I was doing some reading on Labview

 

So far I am able to generate a single sine pulse output using a VI but my ultimate goal is to have 4 outputs from 4 different USB channel with microsecond delay in-between. I know that the minimum labview software delay is millisecond hence I have to use hardware timing to implement microsecond delay between 4 outputs.

 

I came up with different approach to tackle this problem but not sure I am going in a right direction.

 

I have decided to use counter output.

 

Using counter output I want to generate finite pulse train or continuous pulse train. Count the pulse train and after "nth" pulse rain, provide a trigger to execute that VI to output sine pulse.

I will be using an external hardware digital pulse as an enabling arm (Gate signal) and a 100 MHz internal timebase as a source for my counter.

 

Please help me whether I am going in a right direction

 

Thank you very much

 

0 Kudos
Message 9 of 17
(4,570 Views)

Hello John_P,

 

I would like to share an idea since it could be easier to implement. There is a property called "initial delay", so you can use the same start trigger for the different tasks and you can change the value for this property for each task. You can find this using property nodes.

 

Initial Delay

 

Regards

Frank R

Message 10 of 17
(4,533 Views)