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?
Pomiar sygnałów dużych częstotliwości
- 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
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?
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?
Re: Pomiar sygnałów dużych częstotliwości
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