Witam,
próbuję usilnie wysłać dane z tablicy 2D na wyjścia cyfrowe. Chyba coś mam z tymi danymi nie tak jak trzeba. W Helpie wyczytałam, że dla DAQmx Write.vi (Digital 2D U32 NChan NSamp) "data contains a 2D array of 32-bit unsigned integer samples to write to the task. Each row corresponds to a channel in the task. Each column corresponds to a sample to write to each channel." Więc dla moich 32 wyjść cyfrowych zrobiłam taką przykładową tablicę (dla sygnału trwającego 1 ms, częstość próbkowania 150 kHz) o 32 wierszach i w tym przypadku 150 kolumnach, wypełnioną zerami i jedynkami. Ponadto ustawiłam "one channel for each line" w Create Channel.vi, żeby każdy wiersz w mojej tablicy odpowiadał jednej linii/kanałowi. No i nie działa, choć nie wyskakuje żaden błąd, więc wnioskuję, że jednak źle zinterpretowałam ten zapis w Helpie.
Domyślam się, że mogłabym moje dane przygotować w postaci waveformu lub tablicy 1D, jednak nie bardzo mi to wychodzi i wolałabym pozostać przy tablicy 2D.
problem z DAQmx Write.vi (Digital 2D U32 NChan NSamp)
-
- Posty: 109
- Rejestracja: 26 lut 2010 13:41
- Wersja środowiska: LabVIEW 2010
- Lokalizacja: Bydgoszcz
Re: problem z DAQmx Write.vi (Digital 2D U32 NChan NSamp)
Gdy wybierasz Daqmx Write (Digital 2D U32 NChan NSamp) to poszczególne bity z każdego elementu tablicy U32 odpowiadają poszczególnym linią cyfrowym. Więc jedna liczba U32 zawiera 32 odrębne wartości wystawiane na linie. Powinieneś więc wpisywać tablicę 1D.
Więc tak
bit 0: Dev2/port0/line0.
bit 1: Dev2/port0/line1.
bit 2: Dev2/port0/line2.
(...)
Więc tak
bit 0: Dev2/port0/line0.
bit 1: Dev2/port0/line1.
bit 2: Dev2/port0/line2.
(...)
Ostatnio zmieniony 21 lut 2012 18:17 przez AGF, łącznie zmieniany 1 raz.
Re: problem z DAQmx Write.vi (Digital 2D U32 NChan NSamp)
Dzięki! To zmieniło mój światopogląd Teoretycznie o tym wiedziałAm, ale jakoś w to nie wierzyłam ;)