06-12-2018 07:28 PM
Hi All,
I have a LabVIEW VI that used to work well, and it seems to have stopped working even though I didn't make any changes that I know of. Now when I hit the arrow to run the program, the program appears to start and arrow says that the program is running, but nothing happens in the program at all. If I press the abort (stop sign on the top bar) nothing happens, and the program appears to continue running. The STOP button in the VI also does not stop the program. After I close the LabVIEW window, I get a little LabVIEW box that says "Resetting VI" and I it won't go away until I open the Task Manager and kill LabVIEW.
Can someone tell me what is going on here?
06-12-2018 07:38 PM
What does the program do? Does it call any third party dll? Does it try to access a network resource? Does it try to create gigantic data structures? Did you enter unreasonable control values?
06-12-2018 08:40 PM
It accesses a few pieces of equipment in our lab, including a temperature controller and resistance bridge. It then plots these temperatures on a standard plot. It totally used to work, then stopped. The computer can see the external instruments, and NI Max can also see them, but as I said, the LabVIEW VI says it is running, but no temperatures are being plotted and the abort button does not stop the program.
06-12-2018 10:08 PM
You can only get wild guesses because you didn't attach the VI.
My wild guess is that a VISA Read is timing out.
06-13-2018 09:57 AM
@matt_physics wrote:Can someone tell me what is going on here?
Not without seeing your code...
All we can do is guess, and I am guessing there is a bug in your program causing it to lockup.
Do you ever get an error message if you wait?
06-13-2018 12:41 PM
Here's my VI. I'm new to this forum. Is this how uploading my code is supposed to be done?
06-13-2018 01:06 PM - edited 06-13-2018 01:06 PM
Um... yeah that Abort button is NEVER going to work the way you want because of all the sequence structures you used.
06-13-2018 03:55 PM
@RTSLVU wrote:
Um... yeah that Abort button is NEVER going to work the way you want because of all the sequence structures you used.
So this is a VI in our lab that someone else wrote a couple years ago. What would you suggest I do to get it to work if the sequence structures are not the right way?
06-13-2018 04:09 PM - edited 06-13-2018 04:10 PM
I find a "State Machine" architecture works for 99% of the programs I write.
The problem you have is once you enter a flat (or stacked) sequence, you cannot exit the sequence until the entire sequence is completed, no matter what.
Even if you took each "frame" of the sequence and made that a "state" in a state machine you would probably be able to abort at any time during any state.
06-13-2018 08:02 PM
@RTSLVU wrote:
I find a "State Machine" architecture works for 99% of the programs I write.
The problem you have is once you enter a flat (or stacked) sequence, you cannot exit the sequence until the entire sequence is completed, no matter what.
Even if you took each "frame" of the sequence and made that a "state" in a state machine you would probably be able to abort at any time during any state.
adding a timeout on those subVI may improve the responsiveness of the abort.
also wondering why: sequentially? race conditions?