PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronize several 5105 and acquire with timed loop

Hello everyone,

 

First time posting here. I'm having a problem with a PXI system: I need to acquire data from 4 NI-SCOPE 5105 at a high speed (2-3MHz). If I use a normal loop to acquire all the data, LabVIEW kernel overloads only one core of my i7. So, I'm using timed loops, one for each core and each card to split the load over the cores. The problem is that I'm not been able to sync the cards. I've plugged a wave generator to every first channel and the read signals are all delayed. 

I have tryed already to use homogen triggers, but I really don't know how to use it properly.

 

Thanks in advance,

 

Giovanno

0 Kudos
Message 1 of 7
(5,570 Views)

Hello, Giovanno.

 

So i found some Knowledge Base that you can follow, and it can help you.

 

National Instruments T-Clock Technology for Timing and Synchronization of Modular Instruments

https://www.ni.com/en/shop/pxi/national-instruments-ni-tclk-technology-for-timing-and-synchroni.html

 

 

Regards.

 

 

Erick Yamamoto
Application Engineer
National Instruments Brazil

Visite a nossa comunidade em PORTUGUÊS!!!

Certified-LabVIEW-Associate-Dev Smiley face
0 Kudos
Message 2 of 7
(5,538 Views)

Hello, Erick,

 

Thanks for your reply. I've read the majority of those two articles, but they didn't help me solving my problem. I understand quite well the process of triggering the cards, since I've already used it before (trigger a signal generator and four 5105) with sucess. My problem now is basically code writing, since the requirements of the code is high performance. I've written the code to use niTClk to sync all the 5105 and read them within a while loop, just like "niScope EX Fetch Forever" and "niScope EX Multi-Device Configured Acquisition (TClk)" examples combined.

 

What I really don't know how to do is how to split the fetch while loop into four timed loops with different processors assigned to each one of them, each one fetching data from one card. And I have to use it because its much more computationally efficient than using only one big while.

 

Long story short: I don't know where to put the niTClk Configure For Homogeneous Triggers, niTClk Synchronize and niTClk Initiate blocks in my code.

 

Let me know if you need more information.

 

Att,

0 Kudos
Message 3 of 7
(5,533 Views)

Nobody has a clue?

0 Kudos
Message 4 of 7
(5,450 Views)

Hello, Giovanno. If you want to speak in Portuguese.

 

So i need to see and verify your code structure. But if you need more information about the utility of this VI.

 

Follow the link.

Software Platform Advantages of NI High-Speed Digitizers

http://www.ni.com/white-paper/5641/en#toc4 

 

Att.

Erick Yamamoto
Application Engineer
National Instruments Brazil

Visite a nossa comunidade em PORTUGUÊS!!!

Certified-LabVIEW-Associate-Dev Smiley face
0 Kudos
Message 5 of 7
(5,447 Views)

Hello again.

 

So if you're using LabVIEW, there is examples in Help >> Find Examples

 

IMG.png

 

So you follow the examples and develop your code in LabVIEW

 

Att.

Erick Yamamoto
Application Engineer
National Instruments Brazil

Visite a nossa comunidade em PORTUGUÊS!!!

Certified-LabVIEW-Associate-Dev Smiley face
0 Kudos
Message 6 of 7
(5,442 Views)

Erick

 

I did that search in the examples, too, but it didn't help me. Here follows the vi. BTW, I removed a couple things to make the code clearer.

 

 

I'll ask this in the portuguese forum, too.

 

Thanks in advance,

 

Giovanno

0 Kudos
Message 7 of 7
(5,440 Views)