Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Digital waveform generation with DAQmx Base and Mac OS X

I am using DAQmx Base on a Mac G4 (OS X) with a PCI-DIO-96 (PCI-6508) card to send a series of digital commands to 3 8-bit ports. I use the DAQmxBaseWriteDigitalOutputU8 function to write to each port and this function is in a loop. Since I know the string of values I want to send ahead of time, is there a faster way to send a string of digital values with DAQmx Base? Or is there a way to send commands using fewer calls by DAQmxBaseWriteDigitalOutputU8?
0 Kudos
Message 1 of 6
(4,031 Views)
Hi DPBiss,

The function "DAQmxBaseWriteDigitalU8" can be used to write multiple elements into the PC memory. Since this card does not have any  on-board memory, each value will be transfered as needed.
Hope this helps,
Gerardo O.
RF SW Engineering R&D
National Instruments
0 Kudos
Message 2 of 6
(4,020 Views)
Ok. I think the M series cards might do it?

I'm looking at the NI PCI-6259 card, and I think that has onboard memory for digital waveform generation. Since I want to write to three 8-bit ports at the same time, the 32 correlated DIO lines will do it. But does DAQmx Base functions support generation of digital waveforms?
0 Kudos
Message 3 of 6
(4,011 Views)
Hi DPBiss,

I hope this KnowledgeBase answers you question.
Regards,
Gerardo O.
RF SW Engineering R&D
National Instruments
0 Kudos
Message 4 of 6
(4,006 Views)
Gerrardo:

I have the same problem as DPBiss. Regardless of the board one has, how does one produce a digital output waveform (multiple points at regular interval) that is timed with the board's internal clock using NI DAQ mx base on Mac OS X? Currently, calling the single point output multiple times is very slow.
Many boards can do it with analog waveforms (in Labview, this is the difference between single value and waveforms). Can this be done with digital waveforms (waveforms of digital values) ?

The knowledgebase article requires external clocking, which I don't think is what is being asked here.
0 Kudos
Message 5 of 6
(3,997 Views)
Hi Novajo,

The KnowledgeBase mention this with an external clock indeed, but you can still do this with an internal time engine such as a counter. Just make sure you declare it before calling it inside the DIO task.
Hope this helps better understanding DAQmx Base.
Gerardo O.
RF SW Engineering R&D
National Instruments
0 Kudos
Message 6 of 6
(3,977 Views)