Pomiar z dwóch kanałów jednocześnie
Pomiar z dwóch kanałów jednocześnie
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ć.
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ć.
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Pomiar z dwóch kanałów jednocześnie
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
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
wielkie dzięki za pomoc
-
- Posty: 22
- Rejestracja: 17 paź 2008 21:29
- Wersja środowiska: LabVIEW 8.5
- Lokalizacja: Gdy
- Kontakt:
Re: Pomiar z dwóch kanałów jednocześnie
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?
I jeszcze jak można znaleźć przykłady dla Traditional NI-DAQ?
Ostatnio zmieniony 23 cze 2009 12:19 przez marwis, łącznie zmieniany 1 raz.
Re: Pomiar z dwóch kanałów jednocześnie
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.
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
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.
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.
Ostatnio zmieniony 01 lip 2009 13:59 przez folon, łącznie zmieniany 1 raz.
- skoziate
- Administrator
- Posty: 245
- Rejestracja: 06 mar 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Warszawa
- Kontakt:
Re: Pomiar z dwóch kanałów jednocześnie
Jeszcze łatwiej będzie jak na obrazku. Zwróć uwagę na stałą podłączoną do DAQmx Create Channel:
Pozdrawiam,
Sebastian
Sebastian
Re: Pomiar z dwóch kanałów jednocześnie
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
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
- skoziate
- Administrator
- Posty: 245
- Rejestracja: 06 mar 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Warszawa
- Kontakt:
Re: Pomiar z dwóch kanałów jednocześnie
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.
Pozdrawiam,
Sebastian
Sebastian
Re: Pomiar z dwóch kanałów jednocześnie
Prawda Ci to:)skoziate pisze:Jeszcze łatwiej będzie jak na obrazku. Zwróć uwagę na stałą podłączoną do DAQmx Create Channel:
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ś.
- skoziate
- Administrator
- Posty: 245
- Rejestracja: 06 mar 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Warszawa
- Kontakt:
Pomiar z dwóch kanałów jednocześnie
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.
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.
Pozdrawiam,
Sebastian
Sebastian
Re: Pomiar z dwóch kanałów jednocześnie
witam
najlepszym rozwiązaniem okazało się to zaproponowane przez Skoziate, dlatego jeszcze raz wielkie dzięki za pomoc
najlepszym rozwiązaniem okazało się to zaproponowane przez Skoziate, dlatego jeszcze raz wielkie dzięki za pomoc