Setting a check for drill ops can be a long line and apparently may not always catch all instances if you don't set it right, so I got this solution from Don Boire in the post team to set up a global variable called “drilling” and use that instead. He also suggested using this method in other places like defining 5 axis motion, etc.
Below are his instructions.
The handy thing aboutopcode$is capturing a group of operations rather than having to include many differenttool_op$values in your if statement. To handle that withtool_op$, seeroughing,finishing, anddrillingin our 2017 Siemens 3x Mill post. (Download it form the Tech Exchange here: Siemens 3x Mill Post_2017.zip)
The technique works like this:
Define a variable and a list oftool_op$codes to include:
#Define operations to include in the category Drilling drilling = ( tool_op$ = 2 | # Drill tool_op$ = 28 | # 5-axis drilling tool_op$ = 37 | # Non-associative drilling tool_op$ = 104 | # Solid drill control operation tool_op$ = 136 | # FBM drill control operation tool_op$ = 306 # Block drill )
Then just usedrillingas your condition:
if not(drilling) & cycle832_active = no$, pcycle832 # Output CYCLE832