LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

synchronize PXI-4472B DSA and PXI-6123 S series

I need to closely synch accelerometer data on the DSA and other data on the S series board.  Running an older PXI box w/ LV 8.2.1. I'm streaming data to disk at 80 to 100 kHz (all channels).  I've worked through some of the examples on synching DSA and S series and while they work, I get pretty large phase shift of up to 20 mS between the two.  Inputting a common 6 kHz sine tone to both modules.  I need closer synch if possible.  We are looking at irregular impacts w/ the accels and correlating other parameters to them.  These are destructive, one shot tests.  I've exported the DSA clock and start trigger to the S series per the examples, but is there a preferred structure or different method to assure module to module synch?

0 Kudos
Message 1 of 6
(2,494 Views)

Hi Brad,

 

Thank you for using the forums.  From your explanation I am going to assume that you see this phase shift instantaneously and not after a period of time. (Please correct me if I am wrong.)  If this is the case you could be see a phase difference because of the filter delay of the ADC on the 4472B.  The DSA card uses a Delta-Sigma ADC, this ADC causes a delay that will need to be compensated for to get a tighter synchronization.  Here is a knowledgebase article that should get your cards to have a tighter synch.  Another thing that you might try is to use them in a single task, this should automatically synce your cards for you.

 

I hope that this helps.

 

Regards,

 

Brian P.

Applications Engineer
National Instruments
0 Kudos
Message 2 of 6
(2,481 Views)

Yes, I want to start the data acquisition and streaming and then execute the test.  Basically, when the accels on the DSA see a "bang", I need to know in time what the other parameter (control parameters, proximity sensors, etc.) values are.  Therefore, when I started the DSA and the S series together, you could see that there was a consistent lag of the DSA values relative to the S module.  I'm exporting the SampleClock from the DSA to the Timing VI for the S card and the StartTrigger to the Digital Edge Trigger VI for the S board,  This is per an example from the NI site.  It runs w/o error but I see the time shift.

 

I tried using a single task but got an error saying it couldn't put channels from separate devices in the same task.  Do I have to update LV past 8.2.1, the version on that machine?  The NI-DAQmx version is 8.6. It's an old 8186 controller which really hasn't got the resources to upgrade to new LV. 

 

I could do the code on a newer development station and deploy an executable, but was just trying to understand the problem in the existing LV8.2.1. 

 

 

0 Kudos
Message 3 of 6
(2,478 Views)

Brad,

 

The other suggestion that I posted should then work fine for you, you will need to read a few samples before your synchronization.  Also when you try to put them in the same task it should work with your version of DAQmx, what exactly is the error code that you are receiving? The latest version of DAQmx that is compatible with your version of LabVIEW is 9.1.1, so I would definitly suggest upgrading as well.

 

Regards,

 

Brian P.

Applications Engineer
National Instruments
0 Kudos
Message 4 of 6
(2,476 Views)

I reproduced the single task example you show and get Error -200558 at DAQmx Start.vi.  The DSA is in Slot 2 and its channel is first in the channel list.  See screenshot below.  This is w/ LV 8.2.1 as mentioned above.

 

screenshot.gif

 

0 Kudos
Message 5 of 6
(2,465 Views)

Brad,

 

I am sorry I think I had missunderstood that KB.  You will have to use seperate tasks and take some samples before the read in the loop to get rid of the filter delay.  I am sorry for the confusion.

 

Regards,

 

Brian P.

Applications Engineer
National Instruments
0 Kudos
Message 6 of 6
(2,454 Views)