Error -200251 Occurred When Using NI 660x Series Module

Updated Apr 24, 2023

Reported In

Hardware

  • PCI-6602
  • PCI-6601
  • PXI-6602
  • PXI-6608

Software

  • LabVIEW

Driver

  • NI-DAQmx

Issue Details

I am currently using the PCI-6602 to measure the pulse width with eight counter input channels.
There is no problem with pulse width measurement using 3 channels, but using more than 4 channels causes an Error -200251. (See the picture below.)

Solution

DAQmx counter tasks use Direct Memory Access (DMA) as the default data transfer method since it is the fastest option. Each card has a specified number of DMA routes available for use, and if you attempt to communicate with more channels than the card has DMA routes for, the application will generate Error -200251. The method to specify the data transfer method for channels that exceed the available DMA routes use the DAQmx channel property node and interrupts. 
The DAQmx Channel Property Node can be found on the DAQmx palette by right-clicking in the block diagram and going to Measurement I/O » DAQmx » DAQmx Channel Property Node. Place this node on the block diagram and connect the task input to the counter task you wish to configure.

The Data Transfer Mechanism Property can be found by clicking on Property and selecting Counter Input » General Properties » More » Advanced » Data Transfer and Memory » Data Transfer Mechanism. Set this property to write and create a constant for the input. You can now select any of the various methods for the transfer method(DMA, Interrupts, Programmed I/O, USB bulk).



NI 6602 has 3 DMA routes. If you wonder of NI 660x series specification, please refer to the below picture and Related Links.
If you use the DAQmx Timing VI without setting up the data transfer mechanism, the application will automatically set the data transfer method to DMA. So try changing of transfer method constants to interrupts and verify that the program executes without error.