09-18-2008 11:47 AM
Is it possible to update waveform data using the niHSDIO Write Named Waveform without having to initialize a new session each time?
My application is to use the NI-PXI6552 digital I/O board to control an external MDIO serial interface. This requires writing many 32-bit patterns (too many to name a waveform for each one) to transfer data between the LabVIEW code and the external system. Right now I can get two writes to work but the third attempt returns and error of:
Error -1074116265 occurred at niHSDIO Write Named Waveform (1D U32).vi
Possible reason(s):
Driver Status: (Hex 0xBFFA4957) DAQmx Error -200680 occurred:
Device has shut down because a sensor on the device detected a temperature above the device's maximum recommended operating temperature.
To use the device again, either turn the chassis/computer off until the device has cooled, or ensure the device has cooled, and reset the device (either programmatically or through Measurements & Automation Explorer).
Status Code: -200680
I can get this to work by initiating a new session writing a single waveform then closing it but this seems like a huge amount of overhead. Has anyone found a way around this or have a suggestion on a better way to write many different waveforms without the overhead?
Thanks,
Eric
09-22-2008 09:15 AM
Hi Eric,
The error you reported is an overheating error. Is this always the error you receive or did this particular one only occur once while you were usually receiving a seperate error? When you get two writes to work, how many data points are you writing? Are you using different names for the waveforms for all 3 attempts?
If you refer to the NI Digital Waveform Generator/Analyzer Help for the niHSDIO Write Named Waveform VI, you will see details that explain the current write position for a named waveform and how you can set the write position using the niHSDIO Set Named Waveform Next Write Position VI, delete the waveform using the niHSDIO Delete Named Waveform VI, or allocate a waveform using the niHSDIO Allocate Named Waveform VI. Instead of closing and initiating a new session, if you want to replace the data in a named waveform, you can reset the write position to the start of the waveform and overwrite the data, or you can delete the waveform and the create a new waveform with the previous name.
When trying this out, I didn't have any problems writing many different waveforms. Do you receive this error if you write all the waveforms before you ever call an initiate? If my suggestions above don't help, could you attach some screenshots or code that reproduces the problem? If you are in fact receiving an overheat error continuously, do you have your system in a well-ventilated area? I hope this helps, and I look forward to hearing from you!
09-22-2008 10:02 AM
Hi Mike,
Thanks for your reply on this. I guess it pays to pay attention to what I cut and paste. The error I received was actually for exceding the data capacity of the HSDIO board while the overheating is a newer issue from too much dirt in the fan filter. There are too many waveform possibilities to name and load them all in advance so I will try your suggestion on deleting the waveform and creating a new one each time the data needs to change.
Thanks again,
Eric