PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Share clock PXI

Hello,

 

I am trying to sync different modules to acquire 3 different signals. 

1 signal is a strain gage connected to a TB4330, the second is a displacement sensor connected to another TB4330 (different one) and the last signal is a LVDT connected to SCXI1315 which is connected to the SCXI chassis and then to a PXIe6341.

I've followed the examples to share a clock but an there is an error (error-89129: terminal for the device is invalid) that appears no matter which channel I use to set the clock. 

I'm new in the sync issue so I guess it's something I might misunderstood.

Thanks for your help.

0 Kudos
Message 1 of 14
(5,717 Views)

Hi cobayatron,

 

 

As I understand, you're trying to share a clock between two different TB4330 modules and an LVDT module which is connected to an SCXI1315, then connected to the other modules using a PXIe 6341. 

 

I would be happy to help with this issue, so it would be a great help if you could send me the code you have written and I can try to replicate the problem and troubleshoot further. As well as this, could you elaborate on why you have circled the inputs in the screenshot you sent me, and if you have the option to select inputs here. It would also be useful to know a little more about the hardware you're using, specifically the card that you have in your SCXI1315, and the card that you have behind the TB4330 modules. 

 

As for the error code you have, this has previously been solved by installing DAQmx 14.0, do if you don't already have it, that could help with that aspect of your problem. Here is a link to the download.

 

Thank you!

 

Cody

0 Kudos
Message 2 of 14
(5,581 Views)

Hello Cody!

Thank you for taking the time.

 

Eventually, the idea should be sharing a clock between 13 PXIe-4330 modules (many strain gages and load cells), 1 PXIe-4492 (accelerometers), 2 SCXI-1540 modules (LVDTs) connected to PXIe-6341 and a SCB-68 (multiple voltage inputs & outputs) connected to another PXIe-6341. Since I do not have much idea of sync, I thought that if I can share a clock between any PXIe-4330 and any SCXI-1540, the rest should be quite straightforward (???).Smiley Embarassed

 

I am already using DAQmx 14.0. I circled those inputs because I’ve tried basically any port combination to pass the clock to the slave but I have not been able. To do so, I’ve checked NI MAX to know which ports can be used to pass the clock, but again, there are things that I am not sure to understand. Which clock should I use? There are some of them: sample clock, 10MHz, 100MHz, 20MHz, Timebase…

 

I attached the procedure I am following. I’ve tried several options but this was the last version. As you can see, there are multiple errors, any help would be welcome…

 

 

0 Kudos
Message 3 of 14
(5,558 Views)

Hello again!

 

Thank you for sending over the code and clearing up those details for me, I have a better idea of what you're trying to achieve now.  

 

I have attached an example of code used for clock sharing which I hope will be useful for you. You should use the same source for each sample clock, and sample clock should be fine, though the choice of clock depends on your application. The method used in the code I have sent should make it possible for you to pass the clock , so if you try something similar please let me know if it works. For further examples, I definitely recommend using the example finder in LabVIEW, as it is possible that some examples are directly applicable to your project.

 

I hope this is helpful for you!

 

Cody

0 Kudos
Message 4 of 14
(5,540 Views)

Sorry about that last reply, I must have forgotten to attach the code. I hope this didn't delay you too much. 

0 Kudos
Message 5 of 14
(5,524 Views)

Hi Cody!

 

Sorry for the late response.. Thanks indeed for your help!

I just went through your idea, as I told you I am very new in this topic so let me pose some questions about your program:

 As far as I understand, you use the AO voltage channel as the master and the other as the slave and you assure the sync by passing a trigger which tells the input when to read. Is that right? The clocks are also sync this way?

 

Let's assume I want to sync all my 13 PXIe-4330 modules which have no ao/start trigger nor ao/SamplClock ports, which one should I use?

 

0 Kudos
Message 6 of 14
(5,496 Views)

Hello again cobayatron,

 

The example I gave you only has one loop and so is not of a master/slave design. If you would like to know more about this design pattern, I found the following article that may be of use to you: 

http://www.ni.com/white-paper/3022/en/

 

I have also found the following two resources which I think should answer your questions, the second has a lot of information about clock sources which should help you to understand which to use: 

http://digital.ni.com/public.nsf/allkb/BD37A128B1DF27F3862570FC0072359D?OpenDocument

http://www.ni.com/product-documentation/4322/en/#toc9

 

If you read these and have any more questions please let me know!

 

Cody

0 Kudos
Message 7 of 14
(5,453 Views)

Hi Cody,

 

Thanks for all the info. I've read it all but I'm afraid I'm still stuck. I think my problem is at a harware level, that i do not really understand the routing in my PXI chassis.

My first idea was to do something similar to this:

https://www.youtube.com/watch?v=g_8jiKuKeDI

 

Expecting that I do not have to wire anything since I have a common bus of lines that I could use to pass the clock and the trigger.

Now I went to a lower level to try to understand it.

I did the attached vi, two simple channels that save their readings in a file. I tried all my modules. As expected working independently, if one checks the start time in the tdms file, they're not the same.

Here, I managed to pass a sample clock from a PXI4330 to any other PXI4330 module and to any of my two PXIe-6341 (and the start time is then the same).(Just input the channel in the sample clock source)

I could not pass the sample clock from the PXIe-6341 to a PXI4330 and I could not pass the sample clock from/to PXI4492.

 

0 Kudos
Message 8 of 14
(5,428 Views)

Hi cobayatron,

 

Thank you for looking into the information I gave you. In the code you have sent, to share the clock you need to connect the sample clock constant to the source input of the second clock. I found that the PXI4492 has a different type of clock to the other modules you are using which is why you're having issues with passing the clock to it. There is a method in which you reference all the clocks which you want to share to a single clock source, then trigger them from the same trigger. This may work for your application, and I have attached an example of this method for you to try out. Please let me know if this works for your modules.

0 Kudos
Message 9 of 14
(5,408 Views)

Hi Cody,

 

Wow, many thanks, that was an outstanding job...

I've been playing with your code for a while now. Assuming a PXIe synchronization (I cannot find 4492 module datasheet in NI website)

Both PXIe-4330 and PXIe-6341 can  work as a master/slave without problems, bravo!:manvery-happy:

Module 4492 does not support 100MHz so an error pops up, I tried to use 10MHz Ref Clock but then the route cannot be satisfied at a hardware level for modules 4330 and 6341.

I've sent an email to NI to get 4492 datasheet because I do not really know it works... 

Thanks again for all your work.

0 Kudos
Message 10 of 14
(5,378 Views)