Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Testpoint 6052E synch; can I do this via a DLL for this board?

I am new to NI boards. I have to use Testpoint for a workstation.
I have to sync up the output of the card to the input channel.

I have a PCI 6052E board and an SBC terminal block. In this box
I have Two OUTPUT channels and one channel coming back in.

I've been told that using Testpoint alone does not do the trick.

Can I use a dll file to send the right set of instructions? I found this on the web:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Can I synchronize a one-channel analog input data acquisition with
a one-channel analog output waveform generation on my PCI-MIO E Series
board?

Yes. One way to accomplish this is to use the waveform generation timing
pulses to control the analog input data acquisition. To do this, follow
steps 1 through 4 below, in addition to the usual steps for data
acquisition
and waveform generation configuration.

1. Enable the PFI5 line for output, as follows:
* If you are using NI-DAQ, call Select_Signal(deviceNumber,
ND_PFI_5, ND_OUT_UPDATE, ND_HIGH_TO_LOW).
* If you are using LabVIEW, invoke Route Signal VI with signal
name set to PFI5 and signal source set to AO Update.

2. Set up data acquisition timing so that the timing signal for A/D
conversion comes from PFI5, as follows:
* If you are using NI-DAQ, call Select_Signal(deviceNumber,
ND_IN_CONVERT, ND_PFI_5, ND_HIGH_TO_LOW).
* If you are using LabVIEW, invoke AI Clock Config VI with
clock source code set to PFI pin, high to low, and clock
source string set to 5.

3. Initiate analog input data acquisition, which will start only when
the analog output waveform generation starts.

4. Initiate analog output waveform generation.
0 Kudos
Message 1 of 7
(3,034 Views)
Hello Sal.vador,

The dll itself will allow you to synchronize output and input. However, exactly how you call functions from this DLL will depend on Testpoint and I would highly recommend you contact their tech support to find out how. It should be the same as calling into any other DLL in Testpoint. You can get a list of the functions in the DLL by checking the DAQmx C Reference Help file which installs with the driver. If you need ANSI C examples which use these functions, these are installed by the driver and can be found here:
C:\Program Files\National Instruments\NI-DAQ\Examples\DAQmx ANSI C
Eric
DE For Life!
Message 2 of 7
(3,019 Views)
Thanks E.Lee,

I'll look into how Testpoint formulates calls to a dll file.
0 Kudos
Message 3 of 7
(3,005 Views)
Dear E.Lee,

To synch analog output/input does -or- does not require custom
connections on the SCB-68 board?

The help file on the NI web-site talks about using PFI5, but
what does it get hardwired to?

Any insight into this, will be appreciated.

-- Sal.vador
0 Kudos
Message 4 of 7
(2,994 Views)
I used the nidaq32.dll and made the calls as listed on my first email.
These worked fine. I reviewed my synchroniztion (looping out==>input via a
coax cable). But we noticed that there is a one to 2 sample jitter.
Is there something I can do to prvent this?

Below is my Testpoint Code:
...
Action list for Pushbutton object "Pushbutton1":
1) Clear graph Graph1
2) Calculate Math3
3) Draw graph Graph2 with Math3
4) Calculate Length with Outx=Math3
5) Linear series Loop1 from 1 to 50, step by 1
6) Set Display1 to Loop1
7) Call SyncBoard with 0,"ND_PFI_5","ND_OUT_UPDATE","ND_HIGH_TO_LOW"
😎 Call SyncBoard with 0,"ND_IN_CONVERT","ND_PFI_5","ND_HIGH_TO_LOW"
9) Start A/D A/D1 #samples=Length, rate=10000 Hz, channel(s)=0, event after "all"
sample(s)
10) Start D/A D/A1 rate=10000 Hz, channel(s)=0, values=Math3, mode="once"
11) Delay Time1 for 0.2 seconds
12) Stop D/A D/A1
13) Stop A/D A/D1
14) Draw graph Graph1 with A/D1
...

-- Sal.vador
-- Northwestern University
0 Kudos
Message 5 of 7
(2,990 Views)
Hello Sal.vador,

Based on the instructions for synchronization information you posted in your first post, you don't have to do any sort of external wiring for the synchronization. It appears to be routing the AO update clock internally, so no custom connections should be required.

Message Edited by E.Lee on 06-24-2005 01:52 PM

Eric
DE For Life!
0 Kudos
Message 6 of 7
(2,985 Views)
Hello Sal.vador,

The "jitter" is actually the expected behavior. If you think about it, the D/A and A/D conversion happen on the same clock edge. This means that the A/D will be converting whatever value is currently on the line (you can think of this as the value the D/A output last) while the D/A is simultaneously updating the line. One workaround is to oversample your A/D and D/A by one sample (or more). Just output a dummy sample as your last D/A sample and then you can chop off the first value from your data array acquired by the A/D.
Eric
DE For Life!
0 Kudos
Message 7 of 7
(2,951 Views)