Strona 1 z 1

Ciągły PWM i zbieranie danych

: 01 cze 2010 22:08
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

Re: Ciągły PWM i zbieranie danych

: 02 cze 2010 13:41
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.

Re: Ciągły PWM i zbieranie danych

: 02 cze 2010 14:20
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 :)

Re: Ciągły PWM i zbieranie danych

: 03 cze 2010 00:02
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

Re: Ciągły PWM i zbieranie danych

: 03 cze 2010 00:21
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

Re: Ciągły PWM i zbieranie danych

: 03 cze 2010 11:44
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

Re: Ciągły PWM i zbieranie danych

: 04 cze 2010 12:03
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.

Ciągły PWM i zbieranie danych

: 04 cze 2010 12:16
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