CompactRIO akwizycja 10 MHz

Tematy związane z LabVIEW pracującym w czasie rzeczywistym.
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

CompactRIO akwizycja 10 MHz

Post autor: spalinowy »

Witam,

szukam rozwiązań na przyspieszenie akwizycji, bo chcę móc skorzystać z pełnych możliwości cRIO 9022 czyli 40 MHz. Moja aplikacja jest podręcznikowa i ma dosłownie elementy opisane tu:
http://www.ni.com/tutorial/11198/en/

Pętla Timed Loop u mnie jest ustawiona na 1 kHz i jak do tej pory wszędzie w PDF widziałem takie ustawienie. Ona odbiera dane z FPGA (synchronizacja poprzez (IRQ) i w kolejce RT FIFO wysyła do pętli konsumenckiej. Ta z kolei poprzez Network Stream wysyła dane do HOSTa na PC.
Domyślam się, że jeśli chcę osiągnąć 1-2 MHz na kanał (kanałów ma być np 16), to trzeba ustawić prędkość pętli Timed Loop na MHz. I tak też zrobiłem, ale za dobrze by było. Zarówno aplikacja, jak i urządzenie wieszają się.

Zwiększałem bufory w kolejkach, rozmiary odbieranych tablic i nic. Może mi ktoś podpowiedzieć, w jaki sposób przejść z niskich prędkości próbkowania do takich bardziej granicznych dla urządzenia?
Awatar użytkownika
micard
Posty: 207
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2017
Kontakt:

CompactRIO akwizycja 10 MHz

Post autor: micard »

czy tak jak w przykładzie używasz Scanning Mode do odczytu wartości z modułów? Jeśli tak, to nie jest to najlepszy pomy(s)ł do szybkich aplikacji:
http://www.ni.com/white-paper/7792/en/
W zależności od potrzeb powinieneś zastosować hybrid lub FPGA mode.
Jakie ilości danych chcesz przesyłać z taką prędkością? Z tego co pamiętam 9022 ma tylko 100Mbit Ethernet.
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: CompactRIO akwizycja 10 MHz

Post autor: spalinowy »

To może teraz kilka detali.
Ustawienia pętli u mnie wyglądają tak:
Obrazek
Natomiast pętle wyglądają tak:
Obrazek
Awatar użytkownika
micard
Posty: 207
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2017
Kontakt:

CompactRIO akwizycja 10 MHz

Post autor: micard »

Przy tworzeniu nowego projektu możesz wybrać Crio acquisitoin template. Tam jest bardzo fajny przykład realizacji funkcji "RT and FPHA health.vi"
Pozwala ona monitorować zasoby zajmowane przez oba urządzenia - co pozwoli Ci szukać źródła problemu.

Co więcej, przy sporych prędkościach warto zagłębić się w temat DMA fifo.
Awatar użytkownika
micard
Posty: 207
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2017
Kontakt:

CompactRIO akwizycja 10 MHz

Post autor: micard »

Przy tworzeniu nowego projektu możesz wybrać Crio acquisitoin template. Tam jest bardzo fajny przykład realizacji funkcji "RT and FPHA health.vi"
Pozwala ona monitorować zasoby zajmowane przez oba urządzenia - co pozwoli Ci szukać źródła problemu.

Co więcej, przy sporych prędkościach warto zagłębić się w temat DMA fifo.
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: CompactRIO akwizycja 10 MHz

Post autor: spalinowy »

Według tego tekstu jeśli dobrze rozumiem wartość 1023 jest odpowiednia dla większości rozwiązań. Kwestia czy moje zapędy na 1 MHz mieszczą się w tej większości rozwiązań.

Możesz podesłać link? W Example Finder tego nie widzę i przez google nie bardzo.
Awatar użytkownika
micard
Posty: 207
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2017
Kontakt:

Re: CompactRIO akwizycja 10 MHz

Post autor: micard »

Projekt cRio w załączniku
Załączniki
Untitled Project 1.zip
projekt cRio
(781.37 KiB) Pobrany 371 razy
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: CompactRIO akwizycja 10 MHz

Post autor: spalinowy »

Nie zrozumiałem na początku, ale dzięki za podesłanie.
ODPOWIEDZ