12-04-2009 09:36 AM
We have a test stand that uses LabView 8.6 as the control and operator interface. The system has the CDaq chassis, a 9215 Analog Input (voltage) card, a 9237 Bridge (load cells), a 9401 digital input (used to measure encoder position, a 9474 digital output card (currently unused), and a 9263 analog output card to output voltage to an air value.
The program works as designed except that at seemingly random times we lose all inputs (including load cells, analog voltage inputs, and digital inputs for encoder position). When it occurs, the input values all go to 0. This does not affect the analog outputs at all. The only way to recover from this is to close and restart Labview completely. (Stopping and starting the project or vi’s does not help).
The vendor is in Germany, and has not been able to see this occur, but he does not have any actual hardware at his location, as the unit is here at GPDF. We’ve asked him to look through his program, for anything that might cause this, but he has not found anything or at least not that fixes the problem.
We are using a Dell Latitude D630 laptop with 4GB Ram and a Core 2 duo Processor, and the CDaq chassis is connected by USB to the laptop I would think this would be enough machine run this program. Our perception is that this seems to be more pronounced when we have Ethernet connected and updates are occurring, but we still see this when we are not connected at all.
I just had the error occur (was not connected to ethernet) and the code that is displayed is -200361. I'm relatively new to LabView and do not yet have the skills to detemine the cause and fix for issue.
Any help would be appreciated.
12-04-2009 01:40 PM
Some further information:
On the 9215 we have four analog sensors connected
On the 9237 we have two load cells connected
On the 9263 with have two air valves connected
On the 9474 we have 8 outputs connected but they are not programmed
On the 9401 we have 2 encoders connected
We have been set for 15000 sample/sec with 2000 samples per channel. (when we first got the program it was set for 25000 samples/sec. During the day today (after reading more about the -200361 error on the forum) I have tried to lower this rate, first to 12000 and just recently to 10000). Even at 10000, I still saw the error after some time. All of these changes were done in the True and Init cases of the VI
I disabled the network connections (both wired and wireless) and have not seen the error, but it has only been about 20 minutes. Sometimes the error does not occur for 2-3 hours.
I have included the vi that has the relavent code.
I am curious about the produced consumed method of doing this if it would help, but do not know where to start.
12-08-2009 11:16 AM
The USB does not pose a bandwidth limit to what you are trying to do, so this would not cause the error you are seeing. What could be happening here is a memory leak on the PC, especially considering it takes a varying amount of time and possibly a couple of hours for the error to show up. I took a look at your VI - are you calling this from another VI within a while loop? How exactly is this being included in your main VI?
One possibility is that some of the DAQ resources are opened with DAQmx Create Channel VI are not being closed regularly with the DAQmx Close VI, because the Mode input that you have is not being changed at the appropriate times. The typical way to program such an application is to insert DAQmx Create Channel outside the while loop, have the read VI in the while loop, and then insert DAQmx Close outside the while loop to run after the loop executes.
I hope this gives you some direction in order to locate the problem.