There is a VI called "Stop" located in the Application Control Functions pallette. You can call this programmatically, and it causes the same behavior as the abort button.
I had a similar problem. In my makros I often have a while loop covering the user buttons. When any of these is depressed I exit the while loop and go into a sequence. However, if at any point during the sequence the user presses the CANCEL button on my front panel or there is a fault response from the controller I require the sequence to exit without further execution.
The only way I have found to do this is to put a case statement in each frame of the sequence with a TF input reading the cancel button and the fault Boolean.
Has anyone got a better solution? I do not want the VI to exit just to stop running the sequence until the user selects another button.
You can replace the sequence structure with the help of a case structure inside a while loop. Than connect the iteration terminal of the loop to the selector terminal. This will have the same behaviour as a sequence structure. But you have one big advantage: The case structure can pass data to end the while loop during any case.