Pomiar sygnałów dużych częstotliwości

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
darekklu
Posty: 2
Rejestracja: 02 wrz 2013 21:03
Wersja środowiska: LabVIEW 2010

Pomiar sygnałów dużych częstotliwości

Post autor: darekklu »

Witam,
Pisze program zliczajacy impulsy z karty we/wy. Przy czestotliwosciach sygnalu do 2kHz program dziala poprawnie. Pozniej LabView zdaje sie nie nadazac ze zliczaniem impulsow.Screen kodu zrodlowego zalaczylem w pliku baza.jpg. Poradzono mi bym uzyl event structure w celu przyspieszenia dzialania mojego VI. Niestety kiedy wprowadzilem event structure program wogole przestal zauwazac zmiane sygnalu. Screen kodu to plik baza event.jpg. Pozostale zdarzenia w strukturze event to zmiana wartosci number 2, przy ktorej zliczane sa impulsy w prawo, oraz nacisniecie przycisku stop. Interesuje mnie zeby program dzialal poprawnie do mniej wiecej 10 kHz. Czy ktos wie jak obejsc ten problem?
Załączniki
baza event.jpg
baza.jpg
baza.jpg (25.35 KiB) Przejrzano 5024 razy
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Pomiar sygnałów dużych częstotliwości

Post autor: smiga »

Struktura Event świetnie się nadaje do budowy UI (interfejs użytkownika) i praktycznie w ogóle się nie nadaje do akwizycji danych z karty pomiarowej ... zła porada. Program stoi, bo czeka na zmianę wartości kontrolki przez użytkownika, a nie softwarową zmianę wartości Indycator'a, ponieważ Event jest przerwaniem generowanym przez klikniecie myszki, klawisza itp.
Poprzednia aplikacja była OK. Winę za prędkość wykonywania ponosi podejrzewam system operacyjny (jeżeli jest to Windows) i komputer. Zrobienie tego na systemie czasu rzeczywistego albo nawet z wykorzystaniem FPGA pozwala osiągać znacznie większe prędkości ... ale w Windowsie nie jest to już takie oczywiste. Kilka pytań pomocniczych:
- jaki jest to typ karty?
- co siedzi w niebieskich, zielonych bloczkach - możesz podesłać kod?
- jaki rodzaj impulsów liczysz - analogowe, cyfrowe?
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
darekklu
Posty: 2
Rejestracja: 02 wrz 2013 21:03
Wersja środowiska: LabVIEW 2010

Re: Pomiar sygnałów dużych częstotliwości

Post autor: darekklu »

Dziękuje za szybką odpowiedź. Zgadza się używam Windowsa. Myślałem o systemie czasu rzeczywistego LabView, tylko że jestem studentem watu i moja uczelnia nie ma licencji na ten system. Używana przeze mnie karta to Advantech PCI-1757 UP. Posiada ona 24 we/wy cyfrowe z których w tym przypadku używam 2. Podsyłam kod, ale prawdopodobnie będzie wywalał błędy gdyż zielone i niebieskie bloczki pochodzą z bibliotek dołączonych do karty. W skrócie- pierwszy zielony bloczek służy do wyboru urządzenia (czyli karty), później niebieski bloczek "otwiera" to urządzenie. Zielony bloczek w pętli while odpowiada za odczyt bajtu z 2 portu karty do którego podłączyłem interesujące mnie cyfrowe impulsy.
Załączniki
baza.vi
(9.15 KiB) Pobrany 333 razy
ODPOWIEDZ