Konwersja sygnału

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
Awatar użytkownika
mmkst
Posty: 22
Rejestracja: 16 mar 2010 16:59
Wersja środowiska: LabVIEW 7.1
Lokalizacja: Poznań

Konwersja sygnału

Post autor: mmkst »

Witam. Mam odczyt analogowy z karty pomiarowej. Wizualizacja działa pięknie przez waveform chart, ale chciałbym mierzyć RMS oraz częstotliwość. Są na to bloczki, więc wszystko jest pięknie, tylko że nie mierzą mi tych wielkości z całego sygnału, tylko z ostatniej próbki. Jak zrobić, aby brał pod uwagę cały sygnał, a co się z tym wiążę liczył poprawnie.

Pozdro
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Konwersja sygnału

Post autor: Nowszy »

bloczków do liczenia RMS-a i częstotliwości jest conajmniej kilka - napisz których używasz konkretnie, najlepiej wrzuć swojego VIa
Pozdrawiam, Maciek Antonik
Edu4Industry
Awatar użytkownika
mmkst
Posty: 22
Rejestracja: 16 mar 2010 16:59
Wersja środowiska: LabVIEW 7.1
Lokalizacja: Poznań

Re: Konwersja sygnału

Post autor: mmkst »

Oto on
Załączniki
U3 eAIN.vi
(217.07 KiB) Pobrany 373 razy
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Konwersja sygnału

Post autor: Nowszy »

Zauważ, że z twoich funkcji pobierających dane z karty LabJack wychodzą dane tylko w postaci pojedynczego punktu, pobierasz tylko pojedynczą wartość. Nie znam tego urządzenia, ale albo musisz skonfigurować je na pobieranie większej liczby próbek, lub pobierać po jednej próbce ale w pętli i gromadzić je np. w rejestrze przesuwnym.
Pozdrawiam, Maciek Antonik
Edu4Industry
Awatar użytkownika
mmkst
Posty: 22
Rejestracja: 16 mar 2010 16:59
Wersja środowiska: LabVIEW 7.1
Lokalizacja: Poznań

Re: Konwersja sygnału

Post autor: mmkst »

Tylko jak te dane gromadzić w rejestrze, żeby to działało? Jak zrobiłem to jak w załączniku to działała tylko pętla rejestru, a reszta wieszała się (była podawana jednakowa dana w każdym kroku, niezależnie od wszystkiego). Zmiana ilości danych w sterowniku samej karty to jak dla mnie trochę za głęboka ingerencja.

Nie wiem, czy lepsza nie byłaby tablica ok 40 el i w niej dane były by dodawane (nowa dana na końcu najstarsza dana usuwana, a reszta przesuwana w każdym kroku), więc wynik byłby liczony z ostatnich pobranych tych 40 próbek. Tylko nie wiem jak to zrobić, pomoc mile widziana.

Pozdrawiam
badanie sygnalu analogowego.png
Załączniki
U3 eAIN+shift.vi
(224.31 KiB) Pobrany 349 razy
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Konwersja sygnału

Post autor: Pitol »

Skoro mówisz, że wszystko pięknie działało wcześniej, to znaczy, że korzystasz z Continous Run co jest złym nawykiem i proponuję się go pozbyć jak najszybciej.
Zamknij całość w pętli While i będzie działać. Dane gromadzić będziesz w tablicy tak jak ja rys.
SR.PNG
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
mmkst
Posty: 22
Rejestracja: 16 mar 2010 16:59
Wersja środowiska: LabVIEW 7.1
Lokalizacja: Poznań

Re: Konwersja sygnału

Post autor: mmkst »

Niestety, to nie pomogło. Kiedy całość umieściłem w while reakcja jest taka sama. Czyli, w pierwszym wykonaniu pętli odczytuje dane, ale potem nie odczytuje aktualnej wartości, tylko cały czas używa danej odczytanej na początku.

Pomocy..

Aha jak zrobić, aby w osi Y był czas rzeczywisty?? Pozdrawiam i czekam na odp
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
Awatar użytkownika
__behemot_
Posty: 57
Rejestracja: 03 lip 2008 09:05
Wersja środowiska: LabVIEW 2009
Lokalizacja: Wrocław
Kontakt:

Re: Konwersja sygnału

Post autor: __behemot_ »

Spróbuj tak,
Nie wiem tylko czemu dodajesz wyniki pomiarów, chcąc obliczyć np średnią radziłabym np budować tabelę 10 elementową i z tego liczyć średnią, potem kolejnych 10 próbek, gdzie pierwszą byłaby średnia z poprzednich. Mam nadzieję, że to logiczne
Załączniki
soft.JPG
"kobieta też człowiek, też może być"
Awatar użytkownika
mmkst
Posty: 22
Rejestracja: 16 mar 2010 16:59
Wersja środowiska: LabVIEW 7.1
Lokalizacja: Poznań

Re: Konwersja sygnału

Post autor: mmkst »

No właśnie wyżej pisałem, że ta tabela byłaby chyba najlepszym pomysłem, ale nie mogę tego zaimplementować, żeby działało tak jak należy.

Zrobiłem jak kolega wyżej proponował, ale w takim rowiązaniu sumuje wynik, a nie uśrednia go. Zresztą gdyby udało się wpakować wynik w tabelę i podawać na te bloczki funkcyjne ciąg próbek to przy okazji mógłbym liczyć częstotliwość, a to by mi się przydało.

Stworzyłem więc to tablicowo (w końcu się udało:) ), ale nie mogę sobie poradzić z zamianą w tablicy elementów o kolejnych indeksach. W sensie potrzebny jest licznik, który będzie jechał od 0 do powiedzmy 10 i podawał to na wejście indeksowe bloczku replace. Próbowałem zrobić to for loop, ale wtedy ni z gruszki ni z pietruszki macierz zainicjowana stawała się 2D. Wyjąłem to z pętli For i znowu wszystko było ok. Propozycje?

Aha dzięki za pomoc, pochwały dam po rozwiązaniu problemu do końca. Pozdro
Załączniki
Untitled.png
Ostatnio zmieniony 15 cze 2010 09:37 przez mmkst, łącznie zmieniany 1 raz.
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Konwersja sygnału

Post autor: Pitol »

wrzuć swoje wypociny to może coś poradzimy :) bo nie mogę ogarnąć gdzie utknąłeś...
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
mmkst
Posty: 22
Rejestracja: 16 mar 2010 16:59
Wersja środowiska: LabVIEW 7.1
Lokalizacja: Poznań

Re: Konwersja sygnału

Post autor: mmkst »

Jest nad Twoim postem, jak zacząłem pisać to mnie coś oderwało i pisałem post 3 godz:)
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Konwersja sygnału

Post autor: Pitol »

hmm... nie mam LV 7.1 więc nie zapiszę Ci tego... chyba że jakoś sobie otworzysz to.
Spróbuj sobie to zbudować, uruchomić i zrozumieć jak działa. Powinno Ci to pomóc w Twoim problemie.
testd.png
testd.png (6 KiB) Przejrzano 13443 razy
testd1.png
testd1.png (1.51 KiB) Przejrzano 13443 razy
Załączniki
test_8.0.vi
LabVIEW 8.0
(24.74 KiB) Pobrany 349 razy
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
mmkst
Posty: 22
Rejestracja: 16 mar 2010 16:59
Wersja środowiska: LabVIEW 7.1
Lokalizacja: Poznań

Re: Konwersja sygnału

Post autor: mmkst »

Hmm a co to jest za bloczek w Case przy True? Jak się nazywa, bo ja takiego chyba nie mam. Jedyne co mam to replace, który użyłem. Wtedy jednak trzeba podać indeks danej, którą podmieniam.
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Konwersja sygnału

Post autor: Pitol »

to jest build array w palecie Array.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
mmkst
Posty: 22
Rejestracja: 16 mar 2010 16:59
Wersja środowiska: LabVIEW 7.1
Lokalizacja: Poznań

Re: Konwersja sygnału

Post autor: mmkst »

Działa uff, dzięki tylko jak to rozszerzyć, żeby czytało tylko określoną ilość próbek? Bo teraz pomiar jest z całego zmierzonego zakresu. Zrobiłem to tak jak w załączonym zdjęciu, ale nadal nie działa, żeby po zebraniu tutaj 10 próbek zaczynało cały proces od nowa. A już w ogóle idealnie by było, gdyby po dodaniu nast. próbki wszystkie inne były przesuwane w dół, a ostatnia kasowana. Jak to zrobić? No i jeszcze jeden drobiazg - jak zrobić w osi Y czas rzeczywisty?
Załączniki
Untitled1.png
Untitled.png
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
ODPOWIEDZ