I make a reset function inside the screen load script.
From there I call reset from the button on the screen and a physical button I put on our machines.
I handle all the functions reset takes care of inside the function and also any other things I want turned off when you hit reset...
coolant, spindle, e stop or alarms (if possible), spindle orient, misc relays, etc.
You can call the reset function for a button press by putting it in the siglib assigned to an input. In buttons on the screen, just run a "clicked script" and have the reset function,
for me it is always "reset()".
Furthermore, I do the same with E Stop. I don't remember exactly how I handle this in the screenload script right off, it's been a while since I've written that code, maybe I put it in the siglib with the estop input, but I turn off everything I want turned off with the estop.... so coolant and spindle mainly, but sometimes I make sure I turn off certain solenoids on machines that may crash otherwise.
Just food for thought.