08-20-2012 02:35 AM
Dear All,
I am using 6 parallel while loops, all the while loops executes properly when the program starts.
After 30 days of continues execution one while loop stops, by restarting the exe it works normally.
we have not used any internal while loop, used fixed sized array (not increasing), .
08-20-2012 02:53 AM
Could you post a screen shot of your vi please will make things easier for people to advise but i would look into performance (memory usage etc...), whats the error message or does it just freeze?
08-20-2012 04:01 AM
Continually creating and not destroying references,
Log file too big
Some data structure filling up memory
Race condition causing lock up
Not really enough information to go on, let's take a look at your code
08-20-2012 06:01 AM
>After 30 days of continues execution one while loop stops
Maybe your loop doesn't stop - it ends, or it might even just stay on the same "step" depending on your architecture.
I would look closely at the ending conditions of your loop and any use of incrementing "counters" in your code.
How are they represented?
For example, the iteration terminal of a while loop is a signed 32 bit integer. It will go up to 2,147,463,647.
When the count reaches this value it no longer increments yet it continues looping.
In 30 days you *could* reach this limit but it would have to be a fast loop - like 1.2 ms.
Just an idea,
steve
08-20-2012 07:36 AM
@yenknip wrote:
Continually creating and not destroying references,
...
Not really enough information to go on, let's take a look at your code
If you are sure you are not building arrays and files are not growing without bound.. then my money is on Ed's suggestion.
Ben
08-20-2012 08:18 AM
The only references used in my programs are as shown in the fig.( this below block is implemented in every iteration)
08-20-2012 08:20 AM - edited 08-20-2012 08:22 AM
and also i am playing a wav file continuously using the LV example sound player.vi, it might create a problem? as below image:
also i am using LV 2009 and there are some known issues for sound player in this docs:
http://www.ni.com/white-paper/9951/en#39161_by_Category
37575 3PD8N0M8 Return |
LabVIEW uses large amounts of memory when reading an entire wave file at once The Sound File Read VI uses large amounts of memory to read an entire .wav file. Workaround: Read the data from the .wav file in sections rather than in one large file.
|
|||||
39161 401FEQTL Return |
The device ID input of the Play Sound File VI does not work on Windows On Windows, LabVIEW ignores the device ID input of the Play Sound File VI. This VI plays sound only on the default sound card. Workaround: Use the Sound Output Configure VI and the Sound Output Write VI with the Sound File Open VI and the Sound File Read VI or the Sound File Simple Read VI. Refer to the Sound File to Sound Output example VI for an example of this workaround.
|
08-20-2012 08:24 AM
Thoses static refs do not need to be closed.
If you are calling this as a sub-VI repeatedly...
.. then I would suspect that sub-Vi is doing you in. Open once keep it open then close when the program exits.
Ben
08-20-2012 09:16 AM
I am using it as a subvi as you suspected.
but this subvi is executed when some alarm comes( i have to play a file when some threshold is reached).
and i stop playing when user ack it by pressing a button.
can you suggest with some code...
08-20-2012 09:22 AM
Over the course of the 30 days, does the memory use increase and move into virtual memory?
If memory use is stable, then that rules out a lot of problems.