wyzwalanie sekwencyjne

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
fresostrowiec
Posty: 4
Rejestracja: 20 lip 2009 12:35
Kontakt:

wyzwalanie sekwencyjne

Post autor: fresostrowiec »

Witam wszystkich czytających ten post.
Niestety dopiero raczkuje z LabView, dlatego zwracam się z prośbą o pomoc przy programie.
Program, który dostałem do napisanie ma generować dwa impulsy prostokątne na dwóch wyjściach cyfrowych płytki NI PCI-6143. Dokładnie program ma po włączeniu wygenerować pierwszy impuls na pierwszym kanale, a drugi impuls ma być wygenerowany na drugim kanale po dokładnie określonym czasie (powinna być możliwość zmiany tego czasu, z możliwie dużą dokładnością). Czas pomiędzy impulsami jest rzędu kilkuset mikrosekund, dlatego możliwość ustawienia delty czasu powinna być rzędu pojedynczych mikrosekund bądź mniejsza.
Za wszelką pomoc z góry dziękuje.
Ostatnio zmieniony 22 lip 2009 11:46 przez fresostrowiec, łącznie zmieniany 2 razy.
fresostrowiec
Posty: 4
Rejestracja: 20 lip 2009 12:35
Kontakt:

wyzwalanie sekwencyjne

Post autor: fresostrowiec »

Widzę że z pomocą z całym programem może być trudno, dlatego narazie prosiłbym o pomoc w napisaniu aplikacji, która będzie wykrywać impuls z zewnetrznego generatora
fresostrowiec
Posty: 4
Rejestracja: 20 lip 2009 12:35
Kontakt:

Re: wyzwalanie sekwencyjne

Post autor: fresostrowiec »

z wykrywaniem zewnetrznego impulsu juz sobie poradziem - teraz jestem przy generacji impulsu wyjsciowego i tu mam problem - poniewaz potrzebuje pojedynczego impulsu ktorego bede mogl kontrolowac czas trwania oraz moment wyzwolenia
sam DAQ Assistan niestety nie daje mozliwosci generacji impulsy z jednoczesna kontola czasu jego trwania
z gory przepraszam za brak polskich znakow ale pisze z nie swojego komputera
Ostatnio zmieniony 24 lip 2009 16:26 przez fresostrowiec, łącznie zmieniany 2 razy.
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

wyzwalanie sekwencyjne

Post autor: vugie »

Z tego co widzę w specyfikacji Twojej karty, to jest 8 wejść/wyjść cyfrowych taktowanych SOFTWAROWO. A to oznacza, że stan danego wyjścia może zmienić się tylko wtedy, gdy dostanie komendę z zewnątrz. Nie ma możliwości (sprzętowej) narzucenia czasu trwania impulsu i przerwy. Tak szybko jak jesteś w stanie wysyłać komendy zmiany stanu, tak będą generowały się impulsy. To samo dotyczy dokładności czasu trwania. Niestety Windows (ani Linux) nie zmierzy czasu dokładniej niż 1 ms. Nie znaczy to jednak, że to najkrótszy czas jaki możesz uzyskać - to tylko "najkrótszy w miarę dokładny czas".
Musisz zrobić tak:
Każesz karcie wystawić 1, czekasz N iteracji nic-nie-robiącej-pętli (albo mało-co-robiącej-pętli), wystawiasz 0, czekasz M iteracji takiej samej pętli. Całość zapętlasz w nieskończoność i podłączasz wyjście karty do oscyloskopu. Regulujesz M i N aż uzyskasz satysfakcjonujące Cię czasy. Strzelam, że na w miarę nowym komputerze dla pojedyńczych mikrosekund M i N będą szły w setki albo tysiące. Oczywiście uzyskane czasy nie będą zbyt stabilne, zwłaszcza gdy w tle będą chodzić inne programy. M i N będą się różnić dla różnych komputerów i w zależności od tego czy uruchamiasz VI czy EXE.

Rozwiązanie alternatywne: kupujesz nową kartę z wyjściami cyfrowymi BUFOROWANYMI i taktowanymi SPRZÄ
Ostatnio zmieniony 24 lip 2009 18:33 przez vugie, łącznie zmieniany 1 raz.
fresostrowiec
Posty: 4
Rejestracja: 20 lip 2009 12:35
Kontakt:

wyzwalanie sekwencyjne

Post autor: fresostrowiec »

powoli idę do przodu z programem jednak ciągle pod górkę
na wymianę karty za późno - chyba ze sie okaże wadliwa, ponieważ od wczoraj próbuje wygenerować jakikolwiek sygnał na wyjsciu analogowym jednak jedyne co pokazuje się na oscyloskopie to szum
nie udaje mi sie wygenerować czego kolwiek nawet używając DAQ Assistant
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

wyzwalanie sekwencyjne

Post autor: vugie »

Nic dziwnego, bo ta karta nie ma wyjścia analogowego, tylko 8 wejść.
ODPOWIEDZ