02-15-2013 09:17 AM
I have a data acquisition app that has been developed using DAQmx and run on Windows XP for several years. We are trying to port it to 64-bit Windows 7 (although the app is a 32-bit app).
Most functions seem to work, however, the waveform acquisition code hangs at higher trigger rates. Here are the specifics:
1. Development is on Windows XP SP3 using Visual Studio C++ and the low-level DAQmx (C) API.
2. For this example, we are collecting 1352-point waveforms at 81kHz from a PXI-6071E at 180 ms trigger rate. (We have other protocols that remain to be tested).
3. We are using DAQmx V9.6.0f0 on both the development and the target system.
4. I have developed a test app that demonstrates the problem. See the attachment. Note that the counter 0 output line must be physically connected to the PFI0 (input trigger) line. (We normally pass the trigger signal through some external hardware on the target systems).
5. The test app runs fine on XP (either my dev system or on a target system). On Win7 the app (running under WinXP SP3 compatibility mode) hangs in the DAQmxReadBinaryI16 call.
6. The app can be run at slower trigger rates from the command line. Using a 1 second trigger, the app runs correctly SOMETIMES. However, once the app locks up (which it will do eventually), it will not run correctly until the system has been rebooted. Resetting the 6071 from NIMAX does not help.
02-15-2013 03:21 PM
Windows XP and 7 are totally different technologies. There are a lot of changes in the OS. Microsoft retired many products on XP. Some modules rely on the old version of .NET will not work on the new one. Too bad because it is just the way Microsoft do thing. Your best bet is to rewrite the code with newer Visual Studio version.
02-19-2013 06:07 AM
Not exactly sure what you mean here. If I build on XP using VS 2012 and then run the app on Win7 will that fix the problem? Or do I need to build on Win7 using VS 2012? I forgot to mention that I am using VS 2008.
07-11-2013 11:44 AM
OK. We bought VS 2012 and installed it on the Win7 system. I built the test program as a 64-bit app and ran it (using the same NI hardware). The problem still exists. I think there's an NI bug somewhere. Can an NI engineer please download my test program (in the first post) and run it on a win7 system??