Ciągły PWM i zbieranie danych
Ciągły PWM i zbieranie danych
Witam,
To mój pierwszy post na tym forum, a zarazem początkowe kroki z LabView, stad tez proszę o wyrozumiałość, bo pytanie będzie zapewne błahe dla większości forumowiczów.
Sytuacja wygląda następująco:
z karty pomiarowej pobieram 2 sygnały napięciowe
na ich podstawie wyznaczam duty cycle dla PWM
PWM tworze za pomocą tutoriala z LV: http://zone.ni.com/devzone/cda/tut/p/id/2991
Problem jest taki, ze nie potrafię w sposób ciągły mieć owego sygnału PWM, gdy program pobiera próbki, PWM ma zerowa wartość...
Od kilku dni próbuję rożne konfiguracje tego programu, za każdym razem ten sam efekt.
Proszę o jakąś wskazówkę w którą stronę mam szukać bo nie mam zielonego pojęcia :/
Pozdrawiam.
ps. karta to PCI-6221
To mój pierwszy post na tym forum, a zarazem początkowe kroki z LabView, stad tez proszę o wyrozumiałość, bo pytanie będzie zapewne błahe dla większości forumowiczów.
Sytuacja wygląda następująco:
z karty pomiarowej pobieram 2 sygnały napięciowe
na ich podstawie wyznaczam duty cycle dla PWM
PWM tworze za pomocą tutoriala z LV: http://zone.ni.com/devzone/cda/tut/p/id/2991
Problem jest taki, ze nie potrafię w sposób ciągły mieć owego sygnału PWM, gdy program pobiera próbki, PWM ma zerowa wartość...
Od kilku dni próbuję rożne konfiguracje tego programu, za każdym razem ten sam efekt.
Proszę o jakąś wskazówkę w którą stronę mam szukać bo nie mam zielonego pojęcia :/
Pozdrawiam.
ps. karta to PCI-6221
Re: Ciągły PWM i zbieranie danych
Witam,
Problem nie wydaje się trudny, skoro już potrafisz generować i czytać dane.
Jeżeli coś ci nie działa to spodziewam się, że źle rozwiązałeś synchronizację wątków (o ile w ogóle masz dwa wątki ;) ).
Należy na początek zbudować program, który czyta dane w trybie ciągłym. Później taki, który generuje PWM w trybie ciągłym (wskazany liknk jest jak najabardziej OK). Następnie należy połączyć te wątki w jednym programie - najlepiej przez kopiowanie położyć jeden fragment koło drugiego - one mają być zupełnie oddzielne na początek. Usuń ewentualne konflikty pokazane w klastrze błędu. Włącz i sprawdź czy działa. Jak działa, to wystarczy tylko przenieść odpowiednią wartość duty cycle z jednej pętli do drugiej.
Fragmentu kodu nie załączam, ze względu na 1. profil dydaktyczny ;) 2. nie mam gotowego kodu ... mogę co najwyżej poprawić Twoje próby (jeżeli załączysz plik)
Pozdrawiam
P.
Problem nie wydaje się trudny, skoro już potrafisz generować i czytać dane.
Jeżeli coś ci nie działa to spodziewam się, że źle rozwiązałeś synchronizację wątków (o ile w ogóle masz dwa wątki ;) ).
Należy na początek zbudować program, który czyta dane w trybie ciągłym. Później taki, który generuje PWM w trybie ciągłym (wskazany liknk jest jak najabardziej OK). Następnie należy połączyć te wątki w jednym programie - najlepiej przez kopiowanie położyć jeden fragment koło drugiego - one mają być zupełnie oddzielne na początek. Usuń ewentualne konflikty pokazane w klastrze błędu. Włącz i sprawdź czy działa. Jak działa, to wystarczy tylko przenieść odpowiednią wartość duty cycle z jednej pętli do drugiej.
Fragmentu kodu nie załączam, ze względu na 1. profil dydaktyczny ;) 2. nie mam gotowego kodu ... mogę co najwyżej poprawić Twoje próby (jeżeli załączysz plik)
Pozdrawiam
P.
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
Mam zawyżone wymagania motywacyjne
Re: Ciągły PWM i zbieranie danych
witam,
dziękuję za odpowiedź
niestety w dalszym ciągu nie potrafię sobie z tym poradzić...
nie bardzo wiem jak mam wyskakiwać z pętli w której tworzony jest PWM
poniżej link do pliku .VI
http://hotfile.com/dl/46090230/d8e45ab/ ... v3.vi.html
Dziękuję za chęć pomocy
dziękuję za odpowiedź
niestety w dalszym ciągu nie potrafię sobie z tym poradzić...
nie bardzo wiem jak mam wyskakiwać z pętli w której tworzony jest PWM
poniżej link do pliku .VI
http://hotfile.com/dl/46090230/d8e45ab/ ... v3.vi.html
Dziękuję za chęć pomocy

Re: Ciągły PWM i zbieranie danych
Witam,
Niestety nie mialem czasu poprawiać Twojego kodu tak, jak powinien być poprawiony. Brakuje podprogramów, i nie tylko.
Generalnie funkcjonalność nie powinna być zmieniona. Różne jest tylko usunięcie Express'a i rozdzielenie dwóch wątków, i tak powinno zostać. Reszty nie sprawdzałem (poprawności wątków też nie), jak nie będzie działać, to daj znać.
Pozdrawiam
PM
Niestety nie mialem czasu poprawiać Twojego kodu tak, jak powinien być poprawiony. Brakuje podprogramów, i nie tylko.
Generalnie funkcjonalność nie powinna być zmieniona. Różne jest tylko usunięcie Express'a i rozdzielenie dwóch wątków, i tak powinno zostać. Reszty nie sprawdzałem (poprawności wątków też nie), jak nie będzie działać, to daj znać.
Pozdrawiam
PM
- Załączniki
-
- Project3v3_PM.vi
- Still not finished !!!
- (45.02 KiB) Pobrany 770 razy
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
Mam zawyżone wymagania motywacyjne
Re: Ciągły PWM i zbieranie danych
Witam,
Nie bardzo rozumiem jakich podprogramów brakuje ??
Niestety nie mogę też tego odpalić, czy mogę prosić o zapisanie tego w zgodności z LV 8.5 lub 8.2 ?
pozdrawiam
Nie bardzo rozumiem jakich podprogramów brakuje ??
Niestety nie mogę też tego odpalić, czy mogę prosić o zapisanie tego w zgodności z LV 8.5 lub 8.2 ?
pozdrawiam
Re: Ciągły PWM i zbieranie danych
Witam,
poradzilem sobie z niezgodnoscia wersji LV.
Niestety uklad nie dziala...
Po odpaleniu wyskakuje mi nastepujacy blad:Nie bardzo potrafie sobie z nim poradzic.
Animacja dziala wydaje sie prawidlowo, obie rzecwy sa wykonywane.
Probuje teraz rozszyfrowac co jest co
Mam jeszcze jedno pytanie: czy moge na komputerze bez karty zainstalowac te wszystie bloki daq itp?
Niestety pracuje na wersji fr, i mam problemy z rozszyfrowaniem bloczkow...
Jesli jest to mozliwe: jak to zrobic, probowalem dogrywac rozne rzeczy, niestety bez rezultatow...
Pozdrawiam
PS. przepraszam za brak polskich liter
poradzilem sobie z niezgodnoscia wersji LV.
Niestety uklad nie dziala...
Po odpaleniu wyskakuje mi nastepujacy blad:
Kod: Zaznacz cały
Possible reasons:
Unable to update property Pulse Generation.
When the pulse generation is configured with the settings of previous property, a complete cycle must be done before it can be updated.
Task Name: _unnamedTask <11>
Animacja dziala wydaje sie prawidlowo, obie rzecwy sa wykonywane.
Probuje teraz rozszyfrowac co jest co

Mam jeszcze jedno pytanie: czy moge na komputerze bez karty zainstalowac te wszystie bloki daq itp?
Niestety pracuje na wersji fr, i mam problemy z rozszyfrowaniem bloczkow...
Jesli jest to mozliwe: jak to zrobic, probowalem dogrywac rozne rzeczy, niestety bez rezultatow...
Pozdrawiam
PS. przepraszam za brak polskich liter
Re: Ciągły PWM i zbieranie danych
Witam,
Mam nadzieję, że szybko ruszy Ci ten program!
Błąd, o którym piszesz jest spowodowany przez Initial Dealy, który ustawiłeś na 1sec. - jeżeli w tym czasie próbujesz zmienić częstotliwość w pętli WHILE obsługującej timer - nie uda się, przed jakąkolwiek zmianą musi minąć 1 sekunda. Ustaw tą wartość na zero i po problemie, albo - ustaw Wait na 1 sekundę przed wejściem do pęli WHILE timera, jeżeli rzeczywiście musisz odczekać tą sekundę.
Nie trzeba rozszyfrowaywać co jest co, wystarczy uporządkować i umieścić pewne funkcjonalności w podprogramach (subVI) - znajdziesz w Helpie jak to się robi ;)
Oczywiście jest możliwe zainstalowanie na komputerze "bloczków", czyli funkcji drivera NI DAQmx. Należy zainstalować DeviceDrivers, które dostępne na stronie ni.com. Pisząc w wersji angielskiej można uruchomić program na innej wersji językowej.
Pozdrawiam
P.
Mam nadzieję, że szybko ruszy Ci ten program!
Błąd, o którym piszesz jest spowodowany przez Initial Dealy, który ustawiłeś na 1sec. - jeżeli w tym czasie próbujesz zmienić częstotliwość w pętli WHILE obsługującej timer - nie uda się, przed jakąkolwiek zmianą musi minąć 1 sekunda. Ustaw tą wartość na zero i po problemie, albo - ustaw Wait na 1 sekundę przed wejściem do pęli WHILE timera, jeżeli rzeczywiście musisz odczekać tą sekundę.
Nie trzeba rozszyfrowaywać co jest co, wystarczy uporządkować i umieścić pewne funkcjonalności w podprogramach (subVI) - znajdziesz w Helpie jak to się robi ;)
Oczywiście jest możliwe zainstalowanie na komputerze "bloczków", czyli funkcji drivera NI DAQmx. Należy zainstalować DeviceDrivers, które dostępne na stronie ni.com. Pisząc w wersji angielskiej można uruchomić program na innej wersji językowej.
Pozdrawiam
P.
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
Mam zawyżone wymagania motywacyjne
Ciągły PWM i zbieranie danych
Witam,
No rzeczywiście zmiana Initial Dealy z 1 na 0 pomogła
działa aż miło 
Wielkie dzięki za pomoc,
Teraz szukam tego DeviceDrivers...
Z komputera na którym działa ów program znalazłem 3 foldery mniemam że z NI: DCD-Nov06-1, DCD-Nov06-2 oraz DCD-Nov06-3. W jednym z nich znalazłem takie coś: DCD-Nov06-1\Products\NI-DAQmx
Próbowałem to zainstalować na swoim komputerze jednak nie pomogło to w niczym...
Mam nadzieje że odnajdę te DeviceDrivers i będę mógł odpalać programy na swoim pc.
Jeszcze raz dziękuję za pomoc
Pozdrawiam,
Bogdan
No rzeczywiście zmiana Initial Dealy z 1 na 0 pomogła


Wielkie dzięki za pomoc,
Teraz szukam tego DeviceDrivers...
Z komputera na którym działa ów program znalazłem 3 foldery mniemam że z NI: DCD-Nov06-1, DCD-Nov06-2 oraz DCD-Nov06-3. W jednym z nich znalazłem takie coś: DCD-Nov06-1\Products\NI-DAQmx
Próbowałem to zainstalować na swoim komputerze jednak nie pomogło to w niczym...
Mam nadzieje że odnajdę te DeviceDrivers i będę mógł odpalać programy na swoim pc.
Jeszcze raz dziękuję za pomoc
Pozdrawiam,
Bogdan