I use Misc Values/Integers to toggle a program stop. (0 = No, 1 = Yes)
It gets output to the beginning of the operation you set it for. It also prompts you for a comment and adds it to the NC file if you put one in.
In the post I created a function to handle the code..
and call pstop from the tool changes...
pstop # Stop routine
q3 #Stop Comment?
stopcomment = ucase(stopcomment)
if stopcomment = "", n, "M00", e
if stopcomment <> "", n, "M00", "(", *stopcomment, ")", e
# n, "M00", e
if wcstype > one, absinc = zero
n, *spindle, *speed, pgear, strcantext,e
pcan1, pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, *cabs, e
pbld, n, "G43", *tlngno, pfzout, scoolant, next_tool, e
absinc = sav_absinc
Another more popular but not as robust option is to use Canned Text or Manual Entry. The results with these are not as good as customizing your own.
ptlchg0 #Call from NCI null tool change (tool number repeats)
toolcount = toolcount + 1
prvtp = rbuf(3,toolcountp)
if toolcountn <= tooltotal, nexttool = rbuf(4,toolcountn)
else, nexttool = first_tool
if mi10=one & op_id<>last_op_id, pstop