LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQ 4351 PCI, error reading after a few hours running

Hi,
 
I'm using Labview V 7.1 on WIindows XP with an NI 4351and the TBX-68T, DAQ version 7.4,  temperature (range: 20°C to +145°C using a J-type thermocouple). DAQ readings are scanned from 10 channels with the NI435X_Check_And_Read vi. Everything works fine for a few hours until the temperature readings suddenly change to thousands of °C (can be negative or positive). If I stop the data acquisitions, then restart acquisitions (even without an application restart), everything immediately works fine every time,
Currently I run the program on Pentium 4, 1,4 Ghz and memory 256 Mbyte. 
Please give me suggestion.
Thank you
 
Best reagrds,
Irwan
0 Kudos
Message 1 of 10
(4,126 Views)
Hi Irwan,

I would like to get a little bit more information about this case. Could you please reply to the following questions:

1. What rate are you acquiring at, and what exactly is the application?
2. Is the program still running when you switch on and off the device, or are you stopping the program and then restarting it? * Basically, are you reseting the module by restarting the LabVIEW code, or are you restarting the module by powering it off, or are you doing both? *
3. How hot is the device getting at the point when it stops working?
4. What temperature readings are you acquiring at the time, is it within the specified range?
5. Does it exhibit this behavior if you run a task in max to acquire the temperature and let it run for that long? Please respond to these questions as soon as you can so that we can figure out what is causing this behavior.

Regards,
Chris F.
National Instruments
0 Kudos
Message 2 of 10
(4,097 Views)

Hi Chris,

1. I am using set reading VI to set the rate, I ever tried both slow and fast, it appears same error. The application is to take data temperature oven(4 big ovens) and right now, I used 9 channels. and do protection for high limit temperature.
2.I only use the abort execution button in labview to stop. and then execute the program again without restart computer and labview.
3. When oven stop working the temperature can be 27 celcius.
4.The max doesn't shows error behavior like this. but I dont know why the processor consume perfomance 100%, every time I run the max?

Here I attach the file. Please give me suggestion and criticize about the program, if you have a better idea, i really appreciate  it.

Thank you

Best regards,

Irwan 

0 Kudos
Message 3 of 10
(4,091 Views)

Hi Chris,

1. I am using set reading VI to set the rate, I ever tried both slow and fast, it appears same error. The application is to take data temperature oven(4 big ovens) and right now, I used 9 channels. and do protection for high limit temperature.
2.I only use the abort execution button in labview to stop. and then execute the program again without restart computer and labview.
3. When oven stop working the temperature can be 27 celcius.
4.The max doesn't shows error behavior like this. but I dont know why the processor consume perfomance 100%, every time I run the max?

Here I attach the file. Please give me suggestion and criticize about the program, if you have a better idea, i really appreciate  it.

Thank you

Best regards,

Irwan 

0 Kudos
Message 4 of 10
(4,095 Views)

Hi,

  what happens if you stop your program using the program flow itself instead of using the LabVIEW abort, which can leave the system in a somewhat indeterminant state?

Have you tried watching for the over temperature, and then stopping the acquisition and restarting it without re-starting the actual code (i.e. put a while loop around everything, and when you go overrange, you re-start the inner loop again after re-initialiseing).

Having looked at the code, do you see any error from the check and read vi in the right hand loop when the temperature goes off?

Also, do you know how many iterations the right hand loop has done when it goes off? Is it the same number of iterations, or is it a set time duration?

What is your CPU usage when running the LabVIEW code?

Thanks

Sacha Emery
National Instruments (UK)

// it takes almost no time to rate an answer Smiley Wink
0 Kudos
Message 5 of 10
(4,078 Views)

Hi Emery,

I ever tried using while loop and elapsed timer around everyting the code. After reaching two hours, It  stop the inner while loop automatically and auto run it again itself. but the error still appear.

when running the LabVIEW code,the CPU usage sometimes can reach 45% and then it goes down again to 2%. never reach 100%.

and I tried using error status to stop the while loop, but the error still same and there is no error report. Strange right?

I try to reduce the code(here I attach the file). the error still same.

I think there must be some conditions to set the DAQ. especially on the check and read VI, but in the end of this vi is the call library function node. Any possibility we can edit this vi? or i miss some conditions i haven't put yet?is there any other way, except using ni435x vi?

Thank you,

Best regards,

irwan

0 Kudos
Message 6 of 10
(4,071 Views)

Hi,

 this is very bizarre. Can you post all your code here please? In the zip file you've only put the tope level vi, and not the sub vi's it relies on (startstop.vi, initialise.vi, io.vi)

Can you also please remove the block diagram password otherwise I can't look at anything.

Thanks

Sacha Emery
National Instruments (UK)

// it takes almost no time to rate an answer Smiley Wink
0 Kudos
Message 7 of 10
(4,059 Views)
Hi Emery,
 
All the subvi, please take it from previous zip file(3 May.zip). The password word is secret.  sorry, i didnt give attention to disable this when I uploaded the file.
 
I hope someone ever use this DAQ can help me, It's no matter if using labwindows/CVI, i can use this one also.
 
Thanks,
 
Best regards,
irwan
0 Kudos
Message 8 of 10
(4,039 Views)

Hi,

  sincere apologies for the delay, I missed the notification on the forums.

Having looked at the code, it doesn't appear as though it should have a problem.

Can you try a little experiment for me?

Instead of the wait for the start, where you keep getting the 4351 initialised, but in some cases, you're not closeing it off, could you initialise the device once, and then communicate to it?

I've re-done the code to see how that fairs.

Please let me know how you get on.

Thanks

Sacha Emery
National Instruments (UK)

// it takes almost no time to rate an answer Smiley Wink
Message 9 of 10
(3,994 Views)

Hi Emery,

Sorry, I am late to reply, since i have to do another project. Thank you very much for your solution. I try exactly as your advice. By omitting the while loop for initialising, the program still running well until now (i have run  it for 5 days).

Later, i will upload the modification. Thanks again.

 Actually I still have a lot of questions, especially about Call library function node or Code interface node, cause every DAQ vi always ends up with this one. We cant made modification or see inside code. Any hint or examples to learn?

Best regards,

Irwan

Evox Rifa

soh.irwan@gmail.com

0 Kudos
Message 10 of 10
(3,885 Views)