LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Sporadic App Crash

Hi,

 

I'm using a plugin structure with one timed loop per plugin instance for the data akquisition from devices that I control by VISA. The amount of instances that are running in parallel depends on the testbench configuration.

 

Kind regards,

Daniel

0 Kudos
Message 11 of 14
(266 Views)

As NI support has told, don’t use the timed loop om Windows! It exists for easy debbugging of VIs that are meant to be deployed to LabVIEW RT and FPGA and not for massive use in apps meant to run under Windows.

 

it goes pretty deep into Windows itself with the help of kernel extensions to try to emulate some form of accurate timing similar to what you can get on the RT platform but this is quite delicate stuff and there appears to be a window of opportunity for crashes under Windows if you have many timed loops run in parallel.

 

The timed loop does not really provide any real advantage under Windows to using a normal loop with a simple Wait or Wait until Multiple Ticks node in there. There might be the perception that it would offer more accurate loop timing but that is nowhere guaranteed and can jeopardize the stability of your entire application if you use multiple such loops in your app.

 

It seems to also depend on the PC (and most likely the hardware in it and their according kernel drivers) if an application with timed loops will crash more or less frequently. It’s simply not worth the hassle and it’s very unlikely that NI is going to put a lot of effort in this. This could be potentially many man months of effort to find an fix and there is no guarantee that it still won’t crash on some other untested PCs. Simply stating “Don’t use the Timed Loop under Windows apps” is a much more quick solution. Removing it is not really an option as it is needed to compile and deploy VIs with it to LabViEW RT, otherwise they would probably have depreciated it by now.

Rolf Kalbermatter
My Blog
Message 12 of 14
(252 Views)

Hi Rolf,

 

thanks for the hints. I never used the timed loops up to this point. Indeed I hoped that they would give me a more accurate timing even under a non realtime system ... but now it has to work with normal loops and timing functions.

 

kind regards,

Daniel

0 Kudos
Message 13 of 14
(243 Views)

@kwakz wrote:

Hi Rolf,

 

thanks for the hints. I never used the timed loops up to this point. Indeed I hoped that they would give me a more accurate timing even under a non realtime system ... but now it has to work with normal loops and timing functions.

 

kind regards,

Daniel


If you held my feet to a fire and forced me to guess. (Read that as semi knowledgeable conjecture)

 

Timed Loops launch a new and unique execution system with a priority above normal but below subroutine.   Windows has never been (to my knowledge) evaluated for stability with high numbers of execution systems in a single application instance.   And, of course,  that stability would have to be hardware dependent as Rolf mentioned. 

 

Lesson learned. 


"Should be" isn't "Is" -Jay
0 Kudos
Message 14 of 14
(196 Views)