LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

burst output

Solved!
Go to solution

Hello all,

 

I am using a pci 6503 board with a Gecko g320 servo motor controller. I have control of the motor, except it is not precise enough. The attached vi is used for sending a signal to the controller, which moves the motor. I would like to be able to specify the number of square wave pulses, the duration of the pulse and the frequency in addition to what I have. So a signal that would be 2 seconds long, at 400 hz, with 200 cycles specified, should have 200 cycles, then 1.5 seconds of silence.

 

I can already specify how many cycles I want by the number of samples, depending on the sampling frequency. Is there a simpler way, perhaps some vi I have missed that will output a specified number of periods at a given frequency, or is the method of controlling the number of samples the only way?

 

Thank you and all the best,

 

Alek 

0 Kudos
Message 1 of 5
(3,596 Views)
To control the time period of the signal- No of samples is the only way, If u want different frquency signals to be generated see this example
Balaji PK (CLA)
Ever tried. Ever failed. No matter. Try again. Fail again. Fail better

Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.
Message 2 of 5
(3,568 Views)
Solution
Accepted by topic author alek

Hi Alek,

 

Baji is correct in that changing the number of samples is the only way to perform your task using a PCI 6503. Please note that because the 6503 only supports software timing, your timing, especially your frequency, will be imprecise due to the non-determanistic nature of the 1kHz Windows system clock.

 

However, if you want more precise control of your duty cycle, frequency, and length of your bursts, I highly reccomend using a counter/timer board like the PCI 6601 or the PCI 6602. With one of these boards, you will have the ability to set the duty cycle, frequency, and number of pulses when you configure a Pulse Generation counter output task. The pulses you generate from these counter boards will be much more precise than what you can get from a static DIO board, as the 6601 uses a 20 MHz timebase while the 6602 uses a 80MHz timebase to set up the pulse train.

 

There are many examples on how to do this in the NI Example finder (which you can get to by clicking Help»Find Examples). There is a whole set of examples on how to set up a finite pulse train using counters in the Hardware Input & Output»DAQmx»Generating Digital Pulses folder.

 

-Abram

 

Message Edited by Abram R on 05-13-2009 04:08 PM
Message 3 of 5
(3,544 Views)

Thank you both,

 

I was suspecting that a new piece of hardware would be required. Looking at the 6601 and 6602 specs, I got confused by the timing type. The specs state that they both have software timing, yet source clock is listed at 20 and 80 mhz. What does this software timing mean - Windows or embedded software?

 

Alek 

0 Kudos
Message 4 of 5
(3,526 Views)

When the specs say that the 6601 and the 6602 are software timed, it means that you can only read the counter off of a sotware command and cannot sample the counter at a fixed, hardwire timed rate.

 

For a finite pulse generation task, you do not need to worry about this, as you would be using a counter output task, not an input task.

 

-Abram

0 Kudos
Message 5 of 5
(3,516 Views)