06-15-2020 12:52 PM
Hi, I'm working through the LabVIEW Core 3 exercises. When I try to hit the stop button to shut down all loops, the loops don't shut down the first time. If I hit the button again, I get this error in the Controller to Boiler subvi: "Wait on Notification in Controller to Boiler.vi -> Boiler Controller.vi -> Main.vi"
So while I know exactly where the error is occurring, I don't know how to fix it. I can't see what I've done wrong in the instructions manual.
Thanks for any help.
Solved! Go to Solution.
06-15-2020 01:18 PM
Unfortunately, not everything in the Project was in your (limited) download, making it challenging to "find the problem". I recommend that you do the following:
Stopping multiple loops is a bit of an art. I just wrote some documentation of code I'm developing with my colleagues and have an entire section called "Exit and Stopping Multiple Parallel Loops" (I have 12, I think, in the current iteration ...).
Bob Schor
06-15-2020 01:28 PM - edited 06-15-2020 01:30 PM
I can't debug the code due to the missing items Bob mentioned, but a brief peek in there shows you don't have Boiler Controller.vi's Notifiers input wired. I would guess those are necessary.
At the very least, make sure to right click the terminals in your subVI and select "This Connection Is..." -> "Required" for inputs that are, well, required. This will break the caller until the wires are connected, which can help prevent bugs like this.
Edit: Yes, this is your problem. Wire up the Notifiers input on Boiler Controller.vi and it should work. It's trying to wait on a notification from an invalid Notifier reference.
06-15-2020 01:29 PM
Bob,
Sorry about the missing files. I believe this zip file should give you everything.
And yes, stopping these parallel loops is a bit of a mystery to me!
06-15-2020 01:38 PM
Bert,
Ah(!!!) That's it. I was blindly following the exercise manual and it isn't linked in there. Thank you, that makes sense.
06-15-2020 05:36 PM
@BertMcMahan wrote:
I can't debug the code due to the missing items Bob mentioned, but a brief peek in there shows you don't have Boiler Controller.vi's Notifiers input wired. I would guess those are necessary.
At the very least, make sure to right click the terminals in your subVI and select "This Connection Is..." -> "Required" for inputs that are, well, required. This will break the caller until the wires are connected, which can help prevent bugs like this.
Edit: Yes, this is your problem. Wire up the Notifiers input on Boiler Controller.vi and it should work. It's trying to wait on a notification from an invalid Notifier reference.
I was stung by this today. Some VIs in a project was originally developed in LV 8.x where the default setting for connector pane was still "Required" unchecked. A bunch of VIs have connectors all set to "recommended" so when I did ctrl+B to clean up some wires, I never noticed one got cleaned up off of one of those VIs. Since I automatically have all new connectors default to "required", this was the last thing I looked for when the VI started throwing errors. Cost me 1/2 hr of heartache.