Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI-DIO-96 DAQmx and Traditional NiDAQ

Hello,

 

I have a computer with Traditional NiDAQ 7.4.4f7 Installed on it

Windows XP, Service Pack 3

Installed in the computer, and working properly are

PCI-DIO-96 - Device 1

PCI-MIO-16-E1 - Device 2

PCI-MIO-16-E1 - Device 2

 

I just installed DAQmx  8.9.0f1

 

When I run Measurement and Automation Explorer 4.5

 

1) Under DAQmx - I can reset, operate, etc. the Dio96 hardware, and the 16E1 hardware.

2) Under Traditional NI-DAQ - I can operate the 16E1, but NOT the Dio96.

 

When I try to operate the Dio96 under Traditional NIDaq, The resource test fails, and the test panel gives an error code of -10461.

-10461, resourceReservedError, The specified resource is unavailable because it has already been reserved by another entity.


I have tried a reset under Max, then right-clicking on 'Traditional NI-DAQ (Legacy) Devices' and selecting 'Reset Driver to Traditional NI-DAQ'.

I get the same error, and cannot operate the Dio96 under Traditional NiDAQ.

 

I would like to be able to operate Traditional NiDAQ alongside DAQmx to complete a migration from Traditional to DAQmx.  I.e., to be able to switch between two versions of our software.  One developed with Traditional NiDAQ, and one newly developed with DAQmx, while the new DAQmx migration is being tested and debugged.

 

Our software has been developed and working properly under Traditional NiDAQ for many years, and we are finally migrating it to use the DAQmx API and driver.   

How can I get the DAQmx driver to free it's resources so that the Traditional NiDAQ driver can use them? For the Traditional and DAQmx to operate properly side by side with a PCI-DIO-96?

 

Thank you!

 

Mark Merrell

 

0 Kudos
Message 1 of 12
(5,693 Views)

Hello Mark,

If you are programming in LabVIEW, you will want to use the DAQmx Clear Task VI toward the very end of the program to release the resource.

If you are programming in text-based code, you will want to use the DAQmxClearTask(taskHandle) function toward the end of your code.

If your DAQmx programs do this but the resource is still not available to your Traditional DAQ driver, make sure you do not have a test panel currently running on your device, as the test panel will also reserve the resource.


When you are ready to start using DAQmx on your device again, you will need to reset the Traditional DAQ Driver using the method you described earlier.


Hope this solves your issue!

0 Kudos
Message 2 of 12
(5,676 Views)

Hello Abram,

 

I am programming in text-basedcode - Visual C++ 2008. 

 

I have not yet reached to the point where the migration to DAQmx from Traditional NiDAQ is ready to be run.  Also, I am aware of the ClearTask requirement.

 

All I have tried to do so far it to run the code that currently uses Traditional NiDAQ (where I get the -10461 error), and to try to access the Traditional NiDAQ test panels with the errors and problems detailed in my 1st post.

 

Thank you for your help!

0 Kudos
Message 3 of 12
(5,673 Views)

Hello Mark,

 

It still seems like there is a process of sorts that is running in the background and using the PCI-DIO-96 resource. You may have done this already, but I reccomend that you go into MAX, highlight the PCI DIO 96 under the DAQmx menu, then click "Reset Device". This should abort any and all tasks that are using that device. Then, without opening anything else, immediatly go and try to open up a Traditional DAQ test panel and see if you still get the same errors.

 

If this didn't work, then it is possible that you are in a wierd state, and a restart of your computer might solve the issue.

 

Let me know if this works!

 

-Abram

0 Kudos
Message 4 of 12
(5,667 Views)

Hello Abram,

 

I tried this with a restart, and from a cold boot, and get the same problem.

 

I cold booted the computer, went immediately into MAX, from the DAQmx menu reset the DIO96, then went into the Traditional DAQ test panel and get the -10461 error.

It also happens when you do nothing but go into MAX to the Trad. DAQ panel without doing  anything else.

 

It seems as though DAQmx is taking the resources of the Dio96, and not releasing them so that Traditional NiDAQ can use them.

 

- Mark
0 Kudos
Message 5 of 12
(5,661 Views)

Hello Mark,

 

This is definitly not expected behavior. I have another idea on how to get your system out of the weird state that it is in.

 

Go to MAX, then right click the DIO96 device listed under Traditional DAQ and click Delete. After this, restart your computer. This will cause the "Found New Hardware" wizard to pop up and force MAX to create the device settings from scratch.

 

Let's hope this works.

 

-Abram

0 Kudos
Message 6 of 12
(5,654 Views)

Hello Abram,

 

I had tried this from MAX when I first encountered the problem, and it didn't work.  So I tried it again this morning from a cold boot, by uninstalling the Dio96 from the Windows device manager.

 

On reboot, windows detected the device, with the found new hardware wizard, and reinstalled the driver (I chose to do this automatically).  I went immeditely into MAX with, alas, the same result.

 

I'm stumped. 

 

If I understand the documentation correctly, It should work with both drivers installed side by side.  I have not even run an application that uses DAQmx on this computer (other than using MAX).  Is there a service that is running that is using DAQmx, or is there an application or process that needs to be running that allows the drivers to operate independently?

 

Thanks for all of your help and suggestions,

 

Mark

 

0 Kudos
Message 7 of 12
(5,630 Views)

Hello Mark,

 

I have been able to reproduce the issue on my computer using both DAQmx 8.8 and 8.9. This issue has been reported to R&D under CAR #131966, and is limited to older digital boards. A workaround for this issue is to uninstall DAQmx 8.9 and install DAQmx 8.7, which does not have this issue.

 

-Abram

0 Kudos
Message 8 of 12
(5,620 Views)

Hello Abram,

 

Thank you very much for your help.  I have some questions, if you can.

 

Do you have a projected date for when CAR #131966 may be resolved?  Is there any way that I can check for it online?

 

Is there a recommended board that is a newer replacement for the PCI-DIO-96 that has the same functionality and pinouts?

 

Regards,

 

Mark

 

 

0 Kudos
Message 9 of 12
(5,609 Views)

Hi Mark, CAR #131966 is targeted to be fixed in a later DAQmx release. While there is no way to check the status of a CAR that is in work online, the CAR will be referenced by number in the readme of the future DAQmx release that fixes this bug.

 

A newer board that has similar functionality and pinout to your PCI-DIO-96 is the PCI 6509: https://www.ni.com/en-us/support/model.pci-6509.html

 

However, please note that this device only works with the DAQmx driver and not the Traditional DAQ driver which many of your programs are currently written in.

 

-Abram

Message Edited by Abram R on 04-30-2009 06:28 PM
0 Kudos
Message 10 of 12
(5,602 Views)