Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

synchonizing signals from 6514

I'm using the 6514 card to output 3 pulse trains that need to be delayed correctly with respect to each other. Attached is a VI where I use timed structures for this.
I get random delays between the 3 signals every time I execute the VI. Is there anything I can do to minimize this ? (increase pulsewidth, use different timing source, etc.)
Interestingly enough, everytime the LabView instance is shut down & then restarted for the first time, the timing is correct ! Subsequent commands to output the 3 signals results in wrong timing.

I realize the 6514 is software-timed & this may explain my problem. But is there nothing I can do in LabView to save the situation ?

What is the Labview Real Time OS ? Is it possible to run LabView in this OS & then revert back to Windows when running other programs ?

Thanks,

ak

0 Kudos
Message 1 of 2
(3,113 Views)

Hi,

There are a couple things I would try to improve performance. First, I would move all of your Create Channel, Start and Clear channel DAQmx calls outside of your while loop. These take some overhead and can slow things down so generally you want to avoid using them in a loop. I would also use the "Wait Until Next MS Multiple" instead of the "Wait (ms)" this will change your timing reflect the length of the other calls. Check out this doc on the differences.

Hope this helps, please post back if you have more questions.

Thanks,

Andrew S.

National Instruments

0 Kudos
Message 2 of 2
(3,101 Views)