NC technology - safety NC code macro
Have you ever been on a machining disaster? when the program "seems" at fault. The tool travel elsewhere and make dents, machining crash, tool breakage? The greatest majority of crashes are a result of improper programming or programming that could eliminate the chance of operators making mistakes. CNC programmers often forget about Modal M-codes. They are often left active and are not canceled within the program.
What happens if an operator punches a wrong code into MDI like G18 and then starts up the program? If there was no G17 in their program then they are in trouble. I have seen this happen many times.
Often times it is difficult to determine reasoning behind a crash. One reason is when a crash happens the machine is powered down until someone inspects and troubleshoots what has happened. If powered down however; all the modal M-codes are reset back to default settings on power up and is not easily traceable to the operator. I can not tell you how many times I have heard it just take off running a normal proven program. This safety code is likely the answer as long as your operator was not lying to you.
Here is an example safety code that is used on Fanuc controls. Machine tool builder and various machine models will differ. So check with the OEM or distributer for proper format, if you need to figure them out yourself. The state at which you generally want to attain is when the machine is initially powered up. What you need to do is figure out which ones are modal and put them in your first few lines. Here is an example of a program. Lathes and machining centers may vary.
Important note:
Many machine tools have limitations as to how many G or M-codes you may have in one line.
One way to eliminate putting in all of these lines is to write a macro program and place the beginning code in the macro. That way only one Code will need to be placed in each program to call all the functions.
Example Program with safety code ......
......
M30 (End program)
What happens if an operator punches a wrong code into MDI like G18 and then starts up the program? If there was no G17 in their program then they are in trouble. I have seen this happen many times.
Often times it is difficult to determine reasoning behind a crash. One reason is when a crash happens the machine is powered down until someone inspects and troubleshoots what has happened. If powered down however; all the modal M-codes are reset back to default settings on power up and is not easily traceable to the operator. I can not tell you how many times I have heard it just take off running a normal proven program. This safety code is likely the answer as long as your operator was not lying to you.
Here is an example safety code that is used on Fanuc controls. Machine tool builder and various machine models will differ. So check with the OEM or distributer for proper format, if you need to figure them out yourself. The state at which you generally want to attain is when the machine is initially powered up. What you need to do is figure out which ones are modal and put them in your first few lines. Here is an example of a program. Lathes and machining centers may vary.
Important note:
Many machine tools have limitations as to how many G or M-codes you may have in one line.
One way to eliminate putting in all of these lines is to write a macro program and place the beginning code in the macro. That way only one Code will need to be placed in each program to call all the functions.
Example Program with safety code
- O1000
- (Start of safety code)
- G20 G17 G40 (G20 inch/G21 Metric, XY plane, cancel cutter compensation)
- G49 G64 G80 (Cancel tool length compensation, normal cutting mode, cancel canned cycles)
- G90 G94 G98 (absolute mode, feed per minute, initial plane for canned cycles)
- (end of safety code)
Program safe position
- G91G30X0.Y0.Z0. (Start at home position)
- N1 (describe tool)
- T1 M6
- G0 G90 G54 X-position Y-Position
- M3S1000T2
- (Rest of NC Program)
......
M30 (End program)
0 comments: