Strona 1 z 1
Pomiar z dwóch kanałów jednocześnie
: 21 cze 2009 20:37
autor: Belcik
Witam
Moje doświadczenie nie jest za duże dlatego zwracam się z prośbą o pomoc.
Czy możliwy jest pomiar dwóch napięć jednocześnie z dwóch kanałów tej samej karty pomiarowej, w tym przypadku jest to NI PXI 6070E?
Jeśli tak to proszę o udzielenie mi wskazówek jak można to zrealizować.
Pomiar z dwóch kanałów jednocześnie
: 22 cze 2009 07:09
autor: bogdani
Witaj
Tak karta skanuje wszystkie wejścia analogowe (multipleksuje) przełączając je po kolei na jeden przetwornik analogowo-cyfrowy. W związku z tym, nie uzyskasz na niej równoczesnych pomiarów z dwóch wejść analogowych, ale możesz uzyskać takie pomiary z przesunięciem czasowym rzędu 2 mikrosekund (o ile się nie pomyliłem). Jeśli to ciebie satysfakcjonuje to OK, jeśli nie to musisz poszukać innej karty.
Co do samej rejestracji to wystarczy zajrzeć do przykładów dostarczonych z LabVIEW: Find Examples >> Hardware Input and Output >> DAQmx >> Analog Measurements >> Voltage >> ...
bogdani
Re: Pomiar z dwóch kanałów jednocześnie
: 22 cze 2009 12:55
autor: Belcik
wielkie dzięki za pomoc
Re: Pomiar z dwóch kanałów jednocześnie
: 22 cze 2009 15:49
autor: marwis
Ja mam też takie pytanie co karty NI 6020E, czy ta karta też po kolei przełącza kanały? Jeśli tak to jakie przesunięcia czasowe mogą występować miedzy kanałami?
I jeszcze jak można znaleźć przykłady dla Traditional NI-DAQ?
Re: Pomiar z dwóch kanałów jednocześnie
: 01 lip 2009 12:37
autor: Belcik
Witam
Próbowałem zrealizować pomiar napięcia z dwóch kanałów karty NI PXI 6070E i jedyna działająca aplikacja jaką udało mi się stworzyć nie spełnia oczekiwać, gdyż pomiar w każdym z kanałów trwa za długo. dlatego zwracam się z prośbą o pomoc: co można zmienić w załączonym pliku aby pomiary odbywały się w jak najkrótszym czasie.
Pomiar z dwóch kanałów jednocześnie
: 01 lip 2009 13:58
autor: folon
Wykorzystać można na przykład dwie równoległe pętle, pogodzić je za pomocą kolejki (Find examples pomoże). Albo pętla UI i pętla(e) pomiarowa(e), to już jak Ci wygodniej.
Obecnie to wygląda tak: while(koniec pomiaru) do{otwórz kanał 1, zmierz 1, zamknij kanał 1, otwórz kanał 2, zmierz 2, zamknij kanał 2}.
Docelowo:
1 pętla: otwórz kanał 1, while(koniec pomiaru) do{pomiar 1}, zamknij kanał 1
2 pętla: otwórz kanał 2, while(koniec pomiaru) do{pomiar 2}, zamknij kanał 2
Nie otwierać i nie zamykać sesji za każdą iteracją pętli tylko zrobić to przed rozpoczęciem pomiaru (w twoim przypadku, nawet i przed pętlą while), a referencje przekazywać w shift register'ze. Zamykać po skończeniu pomiaru.
Re: Pomiar z dwóch kanałów jednocześnie
: 02 lip 2009 11:53
autor: skoziate
Jeszcze łatwiej będzie jak na obrazku. Zwróć uwagę na stałą podłączoną do DAQmx Create Channel:
Re: Pomiar z dwóch kanałów jednocześnie
: 02 lip 2009 13:03
autor: Belcik
dzięki za odpowiedzi,
co do dwóch pętli, rozbijałem to na dwie pętle, korzystałem też z przykładów zamieszczonych w Helpie, niestety w każdym z przypadków w drugiej iteracji pojawiał się komunikat o błędzie. dokładniej rzecz biorąc pojawiał się w bloku Timing
Re: Pomiar z dwóch kanałów jednocześnie
: 02 lip 2009 13:49
autor: skoziate
Błąd będzie się pojawiał, ponieważ nie można uruchomić dwóch tasków analogowego wejścia na jednej karcie. W takim przypadku należy stworzyć jeden task z dwoma kanałami, tak jak na moim obrazku 2 posty wyżej.
Re: Pomiar z dwóch kanałów jednocześnie
: 02 lip 2009 15:52
autor: folon
skoziate pisze:Jeszcze łatwiej będzie jak na obrazku. Zwróć uwagę na stałą podłączoną do DAQmx Create Channel:
Prawda Ci to:)
Nadal jednak pozostaje przy swoim, że w środku pętli dla maksymalizacji szybkości akwizycji powinien znaleźć się wyłącznie Read, a reszta poza. No chyba, że w trakcie akwizycji zachodzi potrzeba zmian parametrów, ale to też nie problem dodać takowe coś.
Pomiar z dwóch kanałów jednocześnie
: 03 lip 2009 06:37
autor: skoziate
To zależy. W wielu przypadkach zupełnie nie ma takiej potrzeby i po co wtedy komplikować kod. Po to mam bufor, żeby dostosować sobie częstotliwość akwizycji i częstość odczytu bufora do operacji, które muszę wykonać w każdej iteracji.
Jeśli częstotliwość próbkowania to 10kS/s, tworzę bufor na 5000 próbek, to częstość odczytu bufora to 0,5s. W tym czasie mogę wykonać masę operacji, wyświetlić, zapisać na dysk, zrobić FFT itp.
Jeśli natomiast mam konieczność wykonania operacji, która wprowadza dużą latencję (komunkacja przez sieć, interakcja użytkownika), wtedy warto wykonać osobny wątek (czytaj: pętlę) i skomunikować w taki bądź inny sposób.
Re: Pomiar z dwóch kanałów jednocześnie
: 03 lip 2009 13:21
autor: Belcik
witam
najlepszym rozwiązaniem okazało się to zaproponowane przez Skoziate, dlatego jeszcze raz wielkie dzięki za pomoc