10-01-2010 08:06 AM
I am running a VI that uses a NI USB-6525 relay control. The VI had been running well for a couple days, and then one day, a blue screen shows up after the VI had been running well for a few minutes and displays this:
***Hardware Malfunction
Call your hardware vendor for support
NMI: Parity Error/Memory Parity Error
***The system has halted***
After restarting the computer and running the VI again, this continues to show after several minutes. I've check the memory on the computer and everything seems to be in check. Any suggestions?
10-02-2010 01:27 PM
Hi kargo,
This error isn't necessarily memory-related. Most PCs today either have non-parity RAM, which cannot detect errors, or ECC RAM, which can typically correct single-bit errors and detect double-bit errors. If your PC has non-ECC RAM, then a RAM error shouldn't directly cause an NMI. A flipped bit could indirectly cause an NMI, but other system errors like IRQL_NOT_LESS_OR_EQUAL or KMODE_EXCEPTION_NOT_HANDLED would be much more likely.
However, NMIs can also be caused by PCI (and PCIe/PXI/PXIe) devices. When the device encounters an unrecoverable error, it can generate an NMI by asserting the SERR# line on the PCI bus. The USB host controller may be causing this NMI, or it may be caused by another device in the system.
You said that when you see an NMI error, restarting the computer and running the VI again causes another NMI error. The next time this happens, could you step through the VI to determine which subVI call causes the NMI error?
Another idea is to run NI Spy and configure it to log to file with the "Log to file as soon as possible (slower)" option selected.
Does the VI access any other devices or instruments? If so, use process of elimination to narrow down which one is involved.
Brad
10-04-2010 10:05 AM
Hi Brad,
Thanks for your reply! I am using a Yokogawa 410 multimeter as well as an Agilent 34401A multimeter with my VI. I've discovered that the problem lies with the Agilent. Without using the Agilent, the VI runs smoothly without any problems. But with the Agilent, the NMI error comes up.
My VI calls the Agilent to read a single measurement within a while loop with a loop delay of 2000 ms. This causes a the NMI error. I've found that if I set the delay to 1000 ms, there are no problems. Any ideas why?
10-04-2010 11:50 AM
Hi kargo,
Perhaps it has something to do with the serial or GPIB interface that you are using to interface with the Agilent 34401A?
Brad
10-04-2010 12:03 PM
Hey Brad,
I'm using the serial connection and made sure to set it at 7 even parity and 9600 baud rate, for both the Agilent and the serial port on the computer.
Thanks,
Karen
10-04-2010 03:23 PM
Hi Karen,
Having the wrong serial port settings (baud/parity) should not cause an NMI error. I'm not a serial expert, so I don't have much else to suggest except swapping hardware/drivers/computers as necessary to isolate the problem.
Brad
10-05-2010 07:00 AM
Hey Brad,
Decided to just use two Yokogawa Multimeters instead. 🙂 Thanks for all your input!
Karen
10-05-2010 10:04 AM
Sorry, by "swapping hardware" I meant the serial port hardware. For example, if COM1 is connected to the Yokogawa and COM2 is connected to the Agilent, you could try connecting COM1 to the Agilent and COM2 to the Yokogawa in order to determine whether the problem follows the serial port or the instrument. Or try a different serial port card.
Brad