LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

synchronizing NIDAQ and NI-CounterTimer card

I am trying to synchronize the acquisition of a NiDaq card (NI-6052E)
and that of the counter timer card NI-6601. Basically a C++
application will acquire into a large array a channel each on both the
NI-6052E and the counter reading (servo encoder) of the NI-6601.
Right now the problem is that the servo position is read into an array
by the NI-6601 but we have no way to determine which position
correspond with what voltage reading from the NI-6052E data array.

So there is a time phase shift between the two data array. Someone
says to me the solution is to wire a pin from the NI-6601 to the
NI-6052E (some kind of GATE pin something) so that a square pulse will
initiate the read on both NI cards. I have no idea what to do
next to
achieve this. Can someone please help. Right now the card is hooked
to two 68-Pins SCB68 box. So all the pins are accessible. Any help
is appreciated (sample codes, pin diagrams etc).
0 Kudos
Message 1 of 2
(2,467 Views)
I program with LabVIEW so I'm afraid I can't offer any C++ sample code. But here's some info on the hardware:

Your 6052E produces an internal signal called "AI SCAN START" (sometimes called "STARTSCAN" in the docs). In LabVIEW, one can call Route Signal.vi to push that signal out to the terminal block on pin 38. Plan to do that with NI-DAQ calls from your C++ program. Then a pulse will be produced on pin 38 once for each scan of AI channels.

Physically wire from pin 38 of the 6052E to one of the "Gate" pins of your 6601. Specify that Gate pin when you set up your buffered encoder acquisition. That'll give you one sample of encoder position for each scan of analog channels. Voila! (Well, except for the actual C++ implementation details...)


-Kevin P.
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 2 of 2
(2,467 Views)