LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQ measurement using reentrant code

Simplified I'll be doing allot of this:

rentrant.png

 

I will be accessing lots of channels from 3 DAQ's using code that can be simplified to the above.

 

wrapping the above code as a subvi will give me this sequence: 

 

Channel 1 x20 - Channel 2x20 - Channel nx20 

 

but that's not what I want; I would want something like this: (Channel 1 - Channel 2 - channel n) x20  - (Perfect paralellism or sequence is not required)

 

To achieve this I plan to set the subvi as reentrant. 

 

The subvi with the code above will be called from 8 "threads", each of them will use the reentrant vi allot. My worry is this: When a reentrant vi completes will it be removed completly from memory, or will every reentrant call I make be stuck in memory as a new clone?

 

Is the any (other) fallpits i could run into?   

 

Thanks for any advice or assistance.

0 Kudos
Message 1 of 3
(2,860 Views)
0 Kudos
Message 2 of 3
(2,841 Views)
A major pitfall is that your code will not work at all if you use multiple tasks in parallel.
0 Kudos
Message 3 of 3
(2,830 Views)