Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

Timing synchronize options between PXI E series and X series module

Solved!
Go to solution

Hi,

 

I have a PXI-4496 and PXI-6723 card attached into the PXI 1033-chassis, and I was attempting to synchronize the timing between these two card through sample clock synchronization (PXI-6723 as master, PXI-4496 as slave). However, I have encountered an error -200077 saying that the only possible value to set the timing source for the PXI-4496 input task is either an empty string or an onboard clock, and the PXI1Slot6/ao/sampleClock is not a supported value. 

 

May I know how am I supposed to sync these two cards together? 

0 Kudos
Message 1 of 33
(1,178 Views)

You're trying to sync a sampled clock and an oversampled clock device. Please read this article,

https://www.ni.com/en/support/documentation/supplemental/10/synchronization-explained.html#:~:text=S...

 

No, a DSA card cannot take an external sample clock.

 

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
Message 2 of 33
(1,175 Views)

As shown in the link from Santhosh, you *can* synchronize sample clocks by configuring the 4496 as the master and the 6723 as the slave. 

 

Note that DSA devices like the 4496 include bandwidth-limiting filters that induce an unavoidable delay in signals.  I *think* (but am not 100% sure) this means that the instant when the 4496 sample clock first asserts for the first sample is different than the instant that the first sample value in question is present at the I/O pin.  When acquiring, I *think* the sample clock asserts *later than* when the sample value first showed up at the i/o pin.   When generating, I *think* the sample clock asserts *earlier than* when the sample value arrives at the i/o pin.

 

You'll probably need to compensate for this time skew to get precise alignment of the two data streams.

 

 

-Kevin P

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW? (Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
Message 3 of 33
(1,162 Views)

Hi,

 

Thanks for replying. I have tried using the DSA card as the master and the other as slave instead, but I have gotten another error message of -89120 saying that the source terminal to be routed could not be found on the device. 

 

Regarding to the delay issue, the main goal for me is to ensure no drifting occur between the output and input as I will only be doing a output/input acquisition. I will be giving identical output signal to two channel so one of it will be connected directly to the input channel as reference (which the reference will be filtered and delay the same amount as the rest of it), but it would be still nice to have the raw unfiltered/undrifted output signal to be used in some of the analysis. 

 

I forgot to mention that I have multiple identical DSA card being used so channel expansion is done in a single task. I'm not sure whether this could be the very reason...?

0 Kudos
Message 4 of 33
(1,130 Views)

I suspect that channel expansion could very well be a reason you get errors when trying to set up with DSA as master and X-series as slave.  To accomplish channel expansion, DAQmx makes several decisions on its own about how to route timebases and triggers, and perhaps some more advanced sync signals like ref clocks and sync pulses.  Some key signals will be shared across PXI trigger lines, but I don't know of a way to control or query which specific trigger lines are used for which specific signal.   (If you *could* know, you'd be able to configure your X-series accordingly to use the relevant signals.) 

 

There are going to be ways you can make it work, but you may need to take control and do more of the detailed timing configuration explicitly.  I don't think I've mixed explicit routing with channel expansion, so I'm afraid I can't offer detailed & reliable guidance.  I would *try* to explicitly route the DDS timebase out to a specific PXI trigger line (for the X-series device to use as a sample clock timebase), but am not sure that will be allowed.

 

 

-Kevin P

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW? (Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
0 Kudos
Message 5 of 33
(1,101 Views)

@cklai11 wrote:

Hi,

 

Thanks for replying. I have tried using the DSA card as the master and the other as slave instead, but I have gotten another error message of -89120 saying that the source terminal to be routed could not be found on the device. 

 

Regarding to the delay issue, the main goal for me is to ensure no drifting occur between the output and input as I will only be doing a output/input acquisition. I will be giving identical output signal to two channel so one of it will be connected directly to the input channel as reference (which the reference will be filtered and delay the same amount as the rest of it), but it would be still nice to have the raw unfiltered/undrifted output signal to be used in some of the analysis. 

 

I forgot to mention that I have multiple identical DSA card being used so channel expansion is done in a single task. I'm not sure whether this could be the very reason...?


What happens when you put both DSA and E-series in the same task under channel expansion?

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 6 of 33
(1,076 Views)

Hi Santosh,

 

Thanks for the suggestion, but I'm afraid that we are using the E series as voltage analog output, which requires to be a separate task as the analog input DSA modules (i don't think they would even allow to put them in a same task as well...)

 

 

 

 

0 Kudos
Message 7 of 33
(1,070 Views)

@cklai11 wrote:

Hi Santosh,

 

Thanks for the suggestion, but I'm afraid that we are using the E series as voltage analog output, which requires to be a separate task as the analog input DSA modules (i don't think they would even allow to put them in a same task as well...)

 

 

 

 


That makes sense, so, looks like the option is to go advanced by skipping the channel expansion and create multiple tasks and synchronize them.

For context, I have successfully synchronized 105 channels of DSA AO+AI spread across 4 PXIe chassis but that took quite some effort to take everything in your control.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 8 of 33
(1,053 Views)

Hi,

 

Sorry for late reply, I am planning to do what you suggested, but I do not have a clue on how to do it. Is there an example on performing multiple task VI and sync for AO and AI?

0 Kudos
Message 9 of 33
(818 Views)

Based on a quick skim through the thread so far, you have relatively complex and advanced needs for setting up timing and sync.  Can you please identify *all* the hardware devices you plan to use?   And provide a clear but detailed summary of what the different devices are doing and the kind of sync needed among them?   That's going to help us to be able to help you.

 

Many of the examples floating around are likely to be partially useful, but not sufficient or complete.  And if you're starting "without a clue" how to accomplish it all, you won't know which things to copy, which things to consider, and which things to ignore.

 

Here's one decent but very general article about sync.  There are others that are much more in depth but perhaps too much to digest initially.  Look around some, it should at least help to learn DAQmx terminology, such as the careful distinction between clocks & triggers.

 

 

-Kevin P

 

 

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW? (Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
0 Kudos
Message 10 of 33
(812 Views)