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.
已解决! 转到解答。
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
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.
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!
Bert,
Ah(!!!) That's it. I was blindly following the exercise manual and it isn't linked in there. Thank you, that makes sense.
@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.