Ciągły PWM i zbieranie danych

Tematy związane z LabVIEW pracującym w czasie rzeczywistym.
b0dzi0
Posty: 5
Rejestracja: 01 cze 2010 21:36
Wersja środowiska: LabVIEW 8.5

Ciągły PWM i zbieranie danych

Post autor: b0dzi0 »

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
PMaj
Posty: 231
Rejestracja: 04 sty 2004 00:00

Re: Ciągły PWM i zbieranie danych

Post autor: PMaj »

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.
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
b0dzi0
Posty: 5
Rejestracja: 01 cze 2010 21:36
Wersja środowiska: LabVIEW 8.5

Re: Ciągły PWM i zbieranie danych

Post autor: b0dzi0 »

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 :)
PMaj
Posty: 231
Rejestracja: 04 sty 2004 00:00

Re: Ciągły PWM i zbieranie danych

Post autor: PMaj »

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
Załączniki
Project3v3_PM.vi
Still not finished !!!
(45.02 KiB) Pobrany 640 razy
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
b0dzi0
Posty: 5
Rejestracja: 01 cze 2010 21:36
Wersja środowiska: LabVIEW 8.5

Re: Ciągły PWM i zbieranie danych

Post autor: b0dzi0 »

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
b0dzi0
Posty: 5
Rejestracja: 01 cze 2010 21:36
Wersja środowiska: LabVIEW 8.5

Re: Ciągły PWM i zbieranie danych

Post autor: b0dzi0 »

Witam,
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>
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
PMaj
Posty: 231
Rejestracja: 04 sty 2004 00:00

Re: Ciągły PWM i zbieranie danych

Post autor: PMaj »

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.
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
b0dzi0
Posty: 5
Rejestracja: 01 cze 2010 21:36
Wersja środowiska: LabVIEW 8.5

Ciągły PWM i zbieranie danych

Post autor: b0dzi0 »

Witam,
No rzeczywiście zmiana Initial Dealy z 1 na 0 pomogła :D działa aż miło :D
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
ODPOWIEDZ