03-15-2008 11:15 AM
03-17-2008
05:43 PM
- last edited on
02-10-2025
11:58 AM
by
Content Cleaner
Hi Brian,
It sounds like you know exactly what you want to write to the digital port at each time increment. Each set of digital states on the port can be converted to a integer. For more information on this, see the NI-DAQmx Help under NI_DAQmx Key Concepts » Reading and Writing Data » Selecting Read and Write Data Format and Organization » Digital Data (Integer Format). Since you know the array of integers which you want to write to the PCI-6220, you can write this array to the card before the generation actually starts and then have the port update from the transferred array. A function that you may want to look at is CNiDAQmxDigitalSingleChannelWriter::WriteMultiSamplePort().
This hardware timed digital output will require an clock to keep timing. This can be done by using a counter task which is set to generate a pulse at the frequency you want. This pulse can then be chosen as the sample clock for the digital output task. For more information on clocked digital generation, see the Digital I/O section in the M Series User Manual.
Regards,
Kent
Applications Engineer
03-18-2008 05:53 PM
03-19-2008
02:29 PM
- last edited on
02-10-2025
11:59 AM
by
Content Cleaner
Hi Brian,
You are correct in saying that your current setup will not be able to input signals, process them, and then output them at 40kHz. However, you may want to look at the R-series cards which have a FPGA. Since you can load your processing algorithms onto the FPGA, you should be able to achieve the deterministic output rates you need. I hope this gives you some direction for your project.
Regards,
Kent
Applications Engineer