Strona 2 z 2
Re: Adv Generate Pulse Train w karcie USB-4711A
: 07 cze 2010 19:45
autor: machoney
Niestety nie rusza GPT

a przy drugim uruchomieniu wali błąd od CS (Counter Stop). Mam płytkę z atmegą 128 i zaczynam pisać obsługę tego sterowania przez przerwania atmegi. Z karty advantech wydam tylko polecenie "SKOK" i atmega na pinie portu wygeneruje mi te 67, 67, 66 pulsów. Poprostu tracę nadzieję, że można to zrobić w LV. Może są jakieś ograniczenia wynikające z "
Only PCI1760 and PCI1780 support the finite pulse train" a my odwalamy syzyfową pracę. Napiszę do advantecha.
Adv Generate Pulse Train w karcie USB-4711A
: 07 cze 2010 21:49
autor: Pitol
ech... szkoda, że się nie udało. Próbowałem coś znaleźć na necie pomocnego ale nic ciekawego nie znalazłem. Może support Advantecha Ci pomoże ;)
Re: Adv Generate Pulse Train w karcie USB-4711A
: 07 cze 2010 23:06
autor: machoney
Za wszystkie porady w sprawie GPT bardzo dziękuję jednak temat jest otwarty bo i tak muszę podać sygnały na sterownik silnika krokowego, czujnik impulsowy do pomiaru obrotów, 3 elektrozawory oraz czytać 2 wejścia AI. Jeżeli będziesz to jeszcze do niedzieli będę walczył na pełny zegar z tą aplikacją bo na poniedziałek musi by gotowa do prezentacji

Napewno pomiary z AI będę musiał zapisać żeby zrobić wykres. Jutro wrzucę mojego vi żebyś zobaczył moją "plątaninę". Napewno coś będzie się nadawać do zoptymalizowania ;)
Dziś już padam więc do jutra, pzd
Re: Adv Generate Pulse Train w karcie USB-4711A
: 12 cze 2010 19:37
autor: machoney
Witaj,
mam jeszcze jedną prośbę, wytłumacz mi jak realizować przerwania do obsługi zdarzenia.
Re: Adv Generate Pulse Train w karcie USB-4711A
: 15 cze 2010 09:41
autor: Pitol
machoney pisze:Witaj,
mam jeszcze jedną prośbę, wytłumacz mi jak realizować przerwania do obsługi zdarzenia.
yyy... przerwania?

to chyba struktura Event?
Pierwsze trzy linki z google po wpisaniu "event structure LabVIEW":
http://www.cipce.rpi.edu/programs/remot ... son2.shtml
http://labviewwiki.org/Event_Structure
http://zone.ni.com/devzone/cda/tut/p/id/3331
Zasada jest taka, że struktura Event w pętli czeka na zdarzenie. A zdarzeniem może być wszystko. Jakaś akcja na kontrolce, VI, czy aplikacji. Sam nawet możesz generować własne zdarzenia. Jeśli akcja nastąpi, wykonywany jest przypisany dla niej kod (który sam sobie definiujesz). Jak już tam wcześniej pisałem, pętla, w której jest struktura Event nie kręci się, jeśli nie występują zdarzenia, których obsługa w tej strukturze Event jest zaimplementowana. Trzeba o tym pamiętać, bo często ludzie się dziwią, że im program stoi
Najlepiej poćwiczyć, choćby proste zapalanie lampki przyciskiem.
Re: Adv Generate Pulse Train w karcie USB-4711A
: 15 cze 2010 11:17
autor: machoney
Cześć,
właśnie - stoi i pętli i czeka na zdarzenie. Przerwanie w moim zrozumieniu działa tak, że wykonuje się program główny (np czytam AI, wyświetlam itp) a niezależnie od tego, jeśli wejdzie mi na DI impuls (pomiar prętkości wałka) to wtedy wykona się "przerwanie zewnętrzne" zwiększające mi stan zmiennej i powróci do wykonywania głównego programu. Niestety dostałem odp z Advantecha, że moja karta nie ma możliwości ani sterowania wypełnienia ani ilości pulsów. Jedyna możliwość to podać P_OUT na wejście licznika i jednocześnie liczyć ile wyszło pulsów. Jednak to całkowicie zablokuje mi wykonywanie innych czynności typu czytam 2 wejścia AI i porównuje je do wartości zadanej SP. Czynność tą robię co 1000ms. Może da się to zrobić jednak ja jeszcze nie wiem jak

Re: Adv Generate Pulse Train w karcie USB-4711A
: 15 cze 2010 11:35
autor: bogdani
machoney pisze:Niestety nie rusza GPT

(...) Poprostu tracę nadzieję, że można to zrobić w LV. (...)
Takie wypowiedzi mogą wprowadzać w błąd. Po prostu używać niewłaściwego sprzętu do zadania. To nie wina oprogramowania tzn. środowiska LabVIEW a raczej sprzętu i jego sterowników.
Nie wiem czy korzystasz z AO, ale może wygenerujesz sobie prostokąt z 67 impulsami i podasz go na wyjście analogowe. To też jest jakieś rozwiązanie.
Re: Adv Generate Pulse Train w karcie USB-4711A
: 15 cze 2010 12:01
autor: Pitol
W takim razie tego na zdarzeniach robić nie musisz. Możesz zwykłą maszynę stanów zastosować:
Zrobiłem to tak, że program się kręci odczytując wejście DI i odliczając czas. Jeśli DI jest
true to przejdzie do inkrementacji licznika. Jeśli 1s upłynęła to przejdzie do Read AI chyba, że jednocześnie wystąpiło
true na DI, to wtedy przejdzie do inkrementacji... w końcu przerwanie ma wyższy priorytet

Re: Adv Generate Pulse Train w karcie USB-4711A
: 16 cze 2010 10:49
autor: machoney
bogdani pisze: (...)Takie wypowiedzi mogą wprowadzać w błąd. Po prostu używać niewłaściwego sprzętu do zadania. To nie wina oprogramowania tzn. środowiska LabVIEW (...)
Witam,
jeżeli czytasz jeden post to tak, jeśli znasz cały wątek to wiesz o co chodzi. Do LV nie mam pretensji o to, że GPT nie działa w nim bo chodzi właśnie o subvi Adv GPT dostarczony z kartą advantecha a właściwie do samego hardware'u w którym wejśca zadające ilośc pulsów i wypełnienie nie jest realizowane.
Przykre, że potrawisz włączać się do tematu o słówka a nie masz nic do powiedzenia przybliżającego rozwiąznie problemu.
Napewno dużo czytania mnie czeka jednak czasem nawet nie wiem czego szukać dopóki nie zapytam.
Będę testował obsługę przerwania, thx
P.S. Jeszcze raz dzięki Pitol że jesteś ze mną ;) pzd
Adv Generate Pulse Train w karcie USB-4711A
: 17 cze 2010 11:26
autor: Pitol
jak tam idzie? dajesz radę z tym dziadostwem? ;)
Re: Adv Generate Pulse Train w karcie USB-4711A
: 18 cze 2010 11:06
autor: machoney
Cze,
zapiąłem się pod silnik i niestety na dodatek jeszcze problemy hardware'owe doszły. Okazało się że sterownik nie działa prawidłowo (buczenie, piszczenie silnika i mac 800Hz taktowanie, potem staje). Na pożyczonym sterowniku chodziło aż miło. Teraz mam tak, że z Advantecha daje podstawowe sygnały Enable, Dir i "wykonaj przeskok" natomiast Atmega po otrzymaniu "wykonaj przeskok" wykonuje odpowiednią ilość pulsów. Zrobił się straszny mix

ale jak wymienię sterownik krokowca i w LV dodam komunikację z Atmegą żeby zmieniać częstotliwość pulsów to będzie wszystko chodziło wg planu (choć do profesjonalnego rozwiązania daleko

). Z Advantecha szkoda mi zrezygnować bo mam wejścia 12bit AI łatwe do obsługi ale jak się z innymi problemami uporam to może i z tym przejdę na Atmegę (wbudowane ma 10bit a to zamało więc muszę zewn dorobić). Jak skończę z silnikiem to zacznę robić RS do komunikacji z atmegą tak więc zaglądaj tu czasem

pzd