Cześć
W aplikacji wykonuje pomiar ciągły z 10 kanałów analogowych w jednej pętli. Wynik przesyłam kolejką do drugiej pętli while, w której zapisuję wyniki do pliku TDMS. Struktura aplikacji podobna jest do tej z przykładów - akwizycja i logowanie ciągłe. Chciałbym żeby sygnały były próbkowane z częstotliwością 10 kHz.
Gdy chcę wykonać akwizycji - 1 blok diagram
, przy drugim przejściu pętli pojawia się błąd:
Error -200279 occurred at Acqusition Message Loop.vi
Possible reason(s):
The application is not able to keep up with the hardware acquisition.
Increasing the buffer size, reading the data more frequently, or specifying a fixed number of samples to read instead of reading all available samples might correct the problem.
Gdy zwiększę bufor jest ok.
Teoretycznie nie powinienem zmieniać rozmiaru zgodnie z przykładem z labview. Powinien wystarczyć rozmiar buforu 10 kHz/10 = 1000 wg zaleceń.
Nie wiem czy ten bufor trzeba dać dużo większy i ile większy. Jak obliczyć rozmiar buforu?
akwizycja ciagła, a rozmiar buforu
Re: akwizycja ciagła, a rozmiar buforu
Jeżeli rozmiar buforu masz 1000 to zapełni się on po 0.1s przy próbkowaniu 10k
Daj sobie rozmiar 50k albo więcej, przy kilku Gb ramu na Windowsie i tak jest to pomijalne a jak z jakichś powodów aplikacja zwolni to na pewno się bufor nie przepełni.
Daj sobie rozmiar 50k albo więcej, przy kilku Gb ramu na Windowsie i tak jest to pomijalne a jak z jakichś powodów aplikacja zwolni to na pewno się bufor nie przepełni.
CLS - Certified LabVIEW Student
Re: akwizycja ciagła, a rozmiar buforu
No dobra zapełni się w 0,1 sekundy i co z tego wynika, czemu pojawia się błąd, nie mogę odczytywać małego bufora? Jak to zależy od ilości mierzonych kanałów.
A czy rozmiar bufforu może spowolnić akwizycję? I jak ten bufor dobierać (jak wyznaczyć rozmiar).
A jeżeli nie zrobię w ten sposób:
To jaka będzie częstotliwość próbkowanie i rozmiar buforu?? (z tego co w dokumentacji jest to dla 100 - 10000 kS/s bufor ma rozmiar domyślny 10000 kS)
Gdy używałem tego sposobu to nie miałem żadnych błędów.
A czy rozmiar bufforu może spowolnić akwizycję? I jak ten bufor dobierać (jak wyznaczyć rozmiar).
A jeżeli nie zrobię w ten sposób:
To jaka będzie częstotliwość próbkowanie i rozmiar buforu?? (z tego co w dokumentacji jest to dla 100 - 10000 kS/s bufor ma rozmiar domyślny 10000 kS)
Gdy używałem tego sposobu to nie miałem żadnych błędów.
Re: akwizycja ciagła, a rozmiar buforu
Bufor się przepełniłmwojcie3 pisze:..czemu pojawia się błąd..
A tak serio, to co jest w dokumentacji może być tylko założeniem i w 90% przypadków zadziała, ale w 10% już nie. A to komputer za wolny, a to windows odpalił Cortane itd.
Re: akwizycja ciagła, a rozmiar buforu
http://digital.ni.com/public.nsf/allkb/ ... B1004E9B07
http://digital.ni.com/public.nsf/allkb/ ... enDocument
rozmiar bufora nie spowolni akwizycji w żaden sposób, rozmiar bufora mówi o tym ile danych FIFO karty moze przerzucić do ramu PC.
Jeżeli odczytasz dane gdy bufor się przepełnił dostajesz właśnie ten błąd -> DAQ read wykonuje się rzadziej niż co 0.1 sek.
Przy finite samples jak na zalaczonym screenie rozmiar bufora = ilosc probek i tego nie można przepełnić.
Przyjmij sobie wielkosc bufora =10 x Fs i dla większości normalnych aplikacji poinno byc OK
http://digital.ni.com/public.nsf/allkb/ ... enDocument
rozmiar bufora nie spowolni akwizycji w żaden sposób, rozmiar bufora mówi o tym ile danych FIFO karty moze przerzucić do ramu PC.
Jeżeli odczytasz dane gdy bufor się przepełnił dostajesz właśnie ten błąd -> DAQ read wykonuje się rzadziej niż co 0.1 sek.
Przy finite samples jak na zalaczonym screenie rozmiar bufora = ilosc probek i tego nie można przepełnić.
Przyjmij sobie wielkosc bufora =10 x Fs i dla większości normalnych aplikacji poinno byc OK
Ostatnio zmieniony 07 kwie 2017 10:48 przez pawhan11, łącznie zmieniany 1 raz.
CLS - Certified LabVIEW Student
akwizycja ciagła, a rozmiar buforu
Tu jest fajnie opisane jak to działa:
http://digital.ni.com/public.nsf/allkb/ ... F60060AB6F
http://digital.ni.com/public.nsf/allkb/ ... F60060AB6F
CLS - Certified LabVIEW Student