Measurement Studio for VC++

cancel
Showing results for 
Search instead for 
Did you mean: 

Why does the PC lockup when using a 6071E with an ASUS P5ND2-SLI motherboard?

Please Help,
Thanks,
Brian
 
Problem Summary:
PC locks up to a point that will not allow keyboard control.  Sometimes the system reboots itself.  This code works on Win2000 systems and XP systems with a different motherboard.  I have the Hyperthreading disabled.  I have also tried switching PCI slots to use different IRQ’s.
 
Code: Code crashes right after last line function: GPCTR_Control().  No errors reported.
  //Board Model = "NIDAQ PCI-6071E", device code: 223
  short sSampleTimeBase = 1;
  unsigned short usSampleInterval = 2;  //ActualSampleInterval = (1microsec) * 2 = 2.0 micro sec
  short sMode = 1;
  short sPolarity = 0;
  double dScanRate = 10; // 10Hz 
  short psBuffer[20];//double buffering at 10Hz
  unsigned long   ulBufferSize = 20;
  int iChannelCount = 1;
  short sChanList[1] = {1};//chan nums start at 1, NOT 0
  short sGainList[1] = {1};//set gain to 1
 
  Init_DA_Brds( m_sDeviceNumber, &sDeviceCode) ;
  AI_Configure( m_sDeviceNumber, sChanList[0], sMode, 0, sPolarity, 0 ) ;//add ONE channel
  Select_Signal(m_sDeviceNumber, ND_IN_SCAN_START, ND_RTSI_0, ND_LOW_TO_HIGH);
  Select_Signal (m_sDeviceNumber,ND_RTSI_0, ND_GPCTR0_OUTPUT,ND_DONT_CARE))//the first card is master card
  DAQ_Rate(dScanRate, 0, &sScanTimeBase, &usScanInterval);
  DAQ_DB_Config( m_sDeviceNumber, 1); //"1" enable double buffering
  SCAN_Setup( m_sDeviceNumber, (short)iChannelCount, sChanList, sGainList );
  SCAN_Start( m_sDeviceNumber, psBuffer, ulBufferSize, sSampleTimeBase, usSampleInterval,  sScanTimeBase, usScanInterval );
  GPCTR_Control(m_sDeviceNumber,ND_COUNTER_0,ND_RESET); 
  GPCTR_Set_Application(m_sDeviceNumber,ND_COUNTER_0, ND_PULSE_TRAIN_GNR); //Begin Counter Pulse Train
  GPCTR_Change_Parameter(m_sDeviceNumber, ND_COUNTER_0, ND_SOURCE, ND_INTERNAL_100_KHZ); //set internal counter
  GPCTR_Change_Parameter(m_sDeviceNumber, ND_COUNTER_0, ND_COUNT_1, 100000/(unsigned long)dScanRate/2);//set pulsewidth 1, 100kHz/ScanRate/2
  GPCTR_Change_Parameter(m_sDeviceNumber,ND_COUNTER_0, ND_COUNT_2, 100000/(unsigned long)dScanRate/2); 
  GPCTR_Control(m_sDeviceNumber,ND_COUNTER_0,ND_PROGRAM)) //program the ATMIO card
 
System Info:
Operating System(OS):  Microsoft Windows XP
OS Version:  5.01.2600
OS Info: Service Pack 2
Processor:  Intel(R) Pentium(R) 4 CPU 3.40GHz / x86 Family 15 Model 4 Stepping 1 / GenuineIntel / 3400 MHz
Number of Processors: 1
Physical Memory: 1,048,044 KB RAM
Drive C:\ 238,293,104 of 244,187,968 KB free
Motherboard: Asus P5ND2-SLI
Chipset:
nVIDIA nForce4 SLI - Intel Edition ( Crush 19 )
nVIDIA MCP-04
0 Kudos
Message 1 of 2
(3,111 Views)

Brian,


This problem is a little hard to pinpoint.  When you say this code works on a Windows 2000 and Windows XP machine do you run it with the exact same card, or with another DAQ card?  From the code you provided it looks like you are using the device to generate a pulse train.  Are you able to run any other code that generates a pulse train?  You might try the code located here:

http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3DFFB56A4E034080020E74861&p_node=201235

Are you able to perform other types of operations with this device, perhaps analog input?  If you only use Measurement and Automation Explorer (MAX) to create a pulse train, does your computer freeze?  You can test the analog input and pulse train generation through MAX by expanding Devices and Interfaces >> Traditional NI-DAQ and selecting your device.  Next select Test Panels and either Analog Input or Counter I/O.  What version of Traditional DAQ are you running?  If it is an older version, does upgrading your driver help?

Finally, if you still have DAQmx installed (or if you can install it) can you generate a pulse train in test panels?

Regards,

Jesse O
Application Engineering
National Instruments

Jesse O. | National Instruments R&D
0 Kudos
Message 2 of 2
(3,094 Views)