I'm new to the forum, and have been stuck for days now, so please, help!
I have a system with PCI-6229 and PCI-6601 cards installed. They've been running successfully on Windows XP with DAQmx 8.9.5 for a long time.
I recently upgraded the computer to Windows 7, and have tried several different DAQmx versions that are supported by both cards, all with the same issue:
Any time I do a finite generation or acquisition (Tried in both python/daqmx and NI-Max), the task errors with a
"DAQError: Measurements: Wait Until Done did not indicate that the task was done within the specified timeout" (For a write)
" Measurements: Finite acquisition or generation has been stopped before the requested number of samples were acquired or generated." (For a read)
I tried with an external signal and the internal clock, both give the same error in both python and NI-Max. It is not any silly mistake like the # of samples, the clock not running long enough, etc.
The DAQ then remains inoperable for a short amount of time afterwards, which is the major issue.
I can watch the generation actually happen on an scope, so the code is working, other than telling me when generation is done! I use continuous samples for the clock in both cases.
I can post any code or more information if necessary.
I have my computer set up for dual boot, and all of the same exact code works on the Windows XP machine. I even installed DAQmx 8.9.5 as my last ditch effort on Windows 7 with no luck.
Any ideas would be awesome!
Thank you for the post; I'm sorry to hear that you are running into issues with your DAQmx code. Based on the information that you provided, I would recommend that you first upgrade your DAQmx to 9.0.1 or above. Windows 7 is not compatible with DAQmx 8.9.5. The forums can possibly help you debug as needed after that.
Please reference the chart found here:
Also, what version of LabVIEW are you using? Please reference the following compatibily charts as you proceed:
Please let me know if you have any further questions regarding your project.
You can also post your code or snippets of your code that will help others troubleshoot your issues.
Thank you for your reply.
I have tried several versions of of DAQmx (14,9.9,9.8,9.5.5,9.5.1), 8.9.5 was just the last one I tried, since it was working before.
In NI-Max, even doing a simple N-Sample read from the card always responds with an error regarding DAQmxWaitUntilTaskDone, which is why I don't believe it has anything to do with particular software.
Here is the code I am using to test (Python, but function names are identical to ANSI C):
DAQmxCreateCOPulseChanFreq (self.taskClock, self.CLK_OUT, None,
DAQmx_Val_Hz, DAQmx_Val_Low , float64(0.0),clockFreq, 0.5)
DAQmxCfgImplicitTiming (self.taskClock, DAQmx_Val_ContSamps, uInt64(1000))
DAQmxCfgSampClkTiming(self.taskAO_Y,self.CLK_IN , 20.0, DAQmx_Val_Falling,
DAQmxWriteAnalogF64(self.taskAO_Y, int32(numSamp), False, 10.0,
DAQmx_Val_GroupByChannel , yVals, byref(written), None)
Thank you for posting your code. If you can track the error, you will usually receive an error code. This code can help me better escalate this to my colleagues. Have you looked at shipping examples that come with our software? You can see how errors are handled by them (I attached a screenshot for reference). Any example similar to your project can provide a good template to work from. If you have an error code, please let me know, this will be useful.
Additionally, can you please provide a screenshot of the error that you receive in NI-MAX. This error is also unexpected. Are you using Windows 7 x64 by any chance (that can create issues with NI-MAX)? You should ensure that the NI-MAX driver is compatible with your version of Windows as well.
I've attached the errors from NI-Max. Max version 5.3.1, daqmx 9.5.5, 32 bit Windows 7.
I made default, N output tasks. The first is an anolog output of 100 samples, internal timing. This errors with error number -200560.
Next is the warning I get from a 100 samples Analog input, 100 samples. Warning 200010
In both cases, MAX hangs up for several minutes afterwards, as evidenced in the final attachment.
I tried an external clock as well, with the same results.
I currently have my code set to generate an exception for any errors, which I do check for; I get the same two errors as mentioned above, for each case, or sometimes the read just hangs indefinitely (Regardless of timeout specified).
What's also interesting is that we do have another 6229 card in a Windows 7 (x64) machine with the same DAQmx version that runs the same code just fine.
And again, this same hardware that errors in Windows 7 works on Windows XP (so it doesn't seem "broken").
This is interesting. I will escalate this issue to my colleagues and provide you with an update tomorrow. Thank you for your patience.
I made a change this morning and things are now working.
The PC I am running has a PCI bus extender card in it, with an attached PCI rack. Moving the card from a slot in the extended rack to a slot in the PC itself has solved the problem.
I still think this is an interesting issue, considering the 6601 card was in the same extended rack and worked just fine, and considering the 6229 card worked fine when Windows XP was running.
Anyway, I wanted to let you know that for now, things appear to be in order again.
Thanks for your help,
Thank you for the update! I'm happy to hear that your problem is resolved, but curious as to why the bus extender was causing the issues. If you have any other information regarding the bus extender, please send it our way. I will make a note in our system in case this issue arises again with another customer.