Resource Error -89137 When Using a Reference Clock with DAQmx

Updated May 11, 2018

Reported In

Hardware

  • Multifunction I/O Device

Driver

  • NI-DAQmx

Issue Details

I am using multiple DAQmx channels of different types at the same time, for example analog input and analog output simultaneously. I am getting Error -89137. I may be using channel expansion (acquisition from multiple cards or devices) on one of the tasks.

Error -89137

Possible reason(s):

Specified route cannot be satisfied because it requires resources that are currently in use by another route.

Source Device: PXI1Slot7
Source Terminal: 10MHzRefClockRate
Destination Device: PXI1Slot7
Destination Terminal: RefClockRateInternal

Required Resources in Use by
Task Name:_unnamedTask <48>
SourceDevice: PXI1Slot7
Source Terminal: 100MHzRefClockRate
Destination Device: PXI1Slot7
Destination Terminal: RefClockRateInternal




This source and destination information in this error may vary slightly depending on your task configuration.

Solution

If you plan to use multiple subsystems like AI, AO, DIO, or Counter at the same time, you must define a reference clock using the NI-DAQmx timing properties Reference Clock Source. This means you have to use a DAQmx Timing Property Node to edit these properties before setting up any other channel configurations, as shown below. Make sure you do not use the source input into the DAQmx Timing VI, as this could cause a conflict with the Reference Clock Source settings in the DAQmx Timing Property Node.


Note: This image is a LabVIEW snippet, which includes LabVIEW code that you can reuse in your project.  To use a snippet, right-click the image, save it to your computer, and drag the file onto your LabVIEW block diagram.

Additional Information

The reference clock can be set either implicitly or explicitly. When using a reference clock with NI-DAQmx devices, the same reference clock must be set for every task on that device.  If the reference clock is not explicitly set, the first task to commit will implicitly define the reference clock for the whole card. Thus, if another task tries to explicitly set a different reference clock later, that clock will try to use the reference clock circuitry which is already in use by the first task.

This can also manifest when using channel expansion on certain DSA, S Series, and simultaneously sampling X Series cards. This is because the channel expansion synchronization is completed using a reference clock from the chassis.

WAS THIS ARTICLE HELPFUL?

Not Helpful