Strona 1 z 1

problem z DAQmx Write.vi (Digital 2D U32 NChan NSamp)

: 21 lut 2012 14:07
autor: slav
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.
DO.PNG
DO.PNG (11.58 KiB) Przejrzano 4561 razy
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.

Re: problem z DAQmx Write.vi (Digital 2D U32 NChan NSamp)

: 21 lut 2012 18:14
autor: AGF
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.
(...)

Re: problem z DAQmx Write.vi (Digital 2D U32 NChan NSamp)

: 23 lut 2012 09:49
autor: slav
Dzięki! To zmieniło mój światopogląd :) Teoretycznie o tym wiedziałAm, ale jakoś w to nie wierzyłam ;)