LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple Timed loop accessing NI435x causes erroneous readings.

Hi all,

Just wondering if you could share a few thoughts on this problem of mine.

I have 3 timed synchronized timed loops running in parallel. They run respectively, every 10seconds, 60 seconds and 2 seconds.

All 3 loops access the same hardware (NI 435x: Thermocouplers and digital I/Os). For some reasons, some of the thermocouplers readings are 0. If I remove the two timed loop not making thermocouplers reading, the thermocouplers readings are OK.

Due to the nature of the application and the labview version I am using (Labview Express v7.1) this approach seems (to me) the best solution... so far.

If you have any thoughts on what is causing those values to return as 0 and how to solve it, your help would be greatly appreciated.

Or better yet, if you have other ways of having those 3 tasks perform in parallel at different rates... One of the task is reading thermocouplers at a fix rate, the second is to perform readings on the current and the last is to monitor specific I/O.

Thanks again,

Cheers,

Roger
0 Kudos
Message 1 of 2
(2,473 Views)
Hey Roger,
The 435x Read.vi and many others like it use a timeout specification. One common way of getting a "zero" output is that the timeout condition is reached before enough valid data is present for acquisition. Wire a constant number of seconds to wait that will ensure that your read does not abort prematurely. If this does not help, please respond with the names of your actual VIs that you are using to program this application. Please note that even though you have parallel loops, you will not achieve multi-threading because the 435x driver is built off of the Traditional DAQ driver which is not multi-threaded.

Good luck and thank you for choosing National Instruments!

Sincerely,
Gavin Goodrich
Applications Engineer
National Instruments
0 Kudos
Message 2 of 2
(2,462 Views)