02-16-2006
08:20 AM
- last edited on
08-17-2025
05:10 PM
by
Content Cleaner
HI MES-
I misunderstood your question. The NI-DAQmx C Reference Help is easily obtained by installing the NI-DAQmx driver, which can be downloaded here. You'll then be able to find the programmer's reference under Start>>Programs>>National Instruments>>NI-DAQ. You can also get started testing programs for your device using NI-DAQmx simulated devices before your hardware even arrives.
Hopefully this helps-
02-16-2006 08:32 AM
02-17-2006 11:39 AM
02-18-2006
12:17 PM
- last edited on
08-17-2025
05:10 PM
by
Content Cleaner
Hi Dmytro-
I addressed most of your questions about the advantages of onboard memory and its control in NI-DAQmx in my previous post. Quoting:
The existence of deep onboard memory (aka SCARAB) on the 6534 means that you can operate at the full speed of the device for a much longer period of time than with a 6533. This is true for a few reasons. First, as the original response indicated, in the case of a continuous double-buffered operation, the onboard FIFO will be used to buffer samples if there is no PCI bus bandwidth available at the time. This is a significant advantage over the 6533 because the 16 sample buffer on that device will overflow quickly when using a high acquisition rate if the bus becomes temporarily unavailable. This advantage will be handled seamlessly by the NI-DAQmx driver, just as the Traditional NI-DAQ driver would have done previously.
In the case of a finite acquisition less than 32Msamples you can make use of the FIFO to acquire all samples onto the card independently of PCI bus activity and then later transfer the data across after the time-critical acquisition period. This behavior is controlled by adjusting the DAQmx Channel Property "Data Transfer Request Condition" to only transfer samples from the board's FIFO when an acquisition has completed. This is done in C using the "DAQmxSetDIDataXferReqCond(TaskHandle taskHandle, const char channel[], int32 data);" property, or in LabVIEW as shown here:
02-18-2006 01:03 PM
02-20-2006 11:58 AM
Hi Dmytro-
Glad I could help out- have a nice day, too.![]()
03-27-2006 08:28 AM - edited 03-27-2006 08:28 AM
As Tom suggested, I have setup my program to use: DAQmxSetDIDataXferReqCond() with DAQmx_Val_WhenAcqComplete as my parameter, so that the data would be transferred only after the acquisition has completed. However, I am getting the error message: "specified property is not supported by the device or is not applicable to the task." I believe the board supports this, as Tom did give that information for it. Does this mean I can't use it for every task? What could be stopping me from setting this property?
I'm using a PCI-6534 with daqmx on labwindows 8.0. Currently, the board is being simulated by MAX, until it arrives.
Thank You,
MES
My relevant lines of code would be:
DAQmxCreateTask("DUT Acquire",&gTaskHandle);
DAQmxCreateDIChan (gTaskHandle, LINES, channel_name, DAQmx_Val_ChanForAllLines);
DAQmxCfgSampClkTiming (gTaskHandle, CLOCK_SOURCE, CLOCK_RATE, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, xferCount);
DAQmxSetDIDataXferReqCond(gTaskHandle,channel_name,DAQmx_Val_WhenAcqComplete);
Message Edited by MES on 03-27-2006 08:48 AM
03-29-2006 12:22 AM
MES,
I have a feeling it might be the result of using a simulated device. I'll try comparing a simulated 6534 to an actual 6534 tomorrow morning, and I'll let you know if I get that error for both, or for just the simulated device.
-Justin
03-29-2006 11:02 AM
I just tried using that property with the real hardware, and I got the same error. I'll have to look into this a little more to find out if I'm doing something wrong in the code. I'll keep you updated.
-Justin
03-29-2006 11:18 AM