The method that I use is to call the VI using Functions/Application Control/Open VI Reference using either a path (if the VI is not loaded yet) or a string (if the VI is already in memory).
Then use the Functions/Application Control/Invoke Node, connect the reference line from the Open VI Reference, right click on the "Methods" in the Invoke Node and the choices include "Abort VI" and "Run VI".
This should give you the control that you need. You can even set the controls of the other VI using the Set Control Value Method and get answers in return using the Get Control Value method.
if the two VIs are in a same local machine,another more easy way can be choice,you can just use a global varible.I attached a simple example,just run them.
1... Change your slave VI to stop on the button OR a global boolean variable. 2... When your slave VI does stop, set the global variable to FALSE (ready for next time). 3... Set the global to TRUE from the master controlling VI, on button click, or whatever is supposed to stop the slave.
Steve Bird Culverson Software - Elegant software that is a pleasure to use. Culverson.com
I would not use the ABORT method without serious study - the slave VI might leave files open, connections open, who knows what. An orderly shutdown is always better.
Steve Bird Culverson Software - Elegant software that is a pleasure to use. Culverson.com