WelcomeUser Guide
ToSPrivacyCanary
DonateBugsLicense

©2024 Poal.co

308

For simplification we will be working in word address format.

LESSON 1

Safe Starts

It is important when programming for a production environment to "fool-proof" or "idiot proof" a program so that it can be restarted at any sequence without error.

N1 (SEQUENCE ONE); G20 (ENGLISH UNITS); G17 G40 G80 G49 G90(INITIAL SETTINGS AND CANCELLATIONS); T01(TOOL 1 TO WAITING POSITION); M6(TOOL 1 TO SPINDLE);

Sequence 1 (N1) first sets the control to English units. It then sets it to XY plane designation, cancels cutter radius compensation, cancels any fixed cycles, cancels tool length offsets, and sets absolute dimensioning mode.

This all prevents an operator from restarting the program after the power goes out in the middle of a canned drilling cycle and crashing the machine.

But is this fool proof?

In most cases. It is however missing a homing Z move before X or Y or B or A axis moves.

G0G90G53Z0.0;

Would usually achieve this. Of course things vary by machine and how they are set. And yes operators will still crash machines time and time again.

An advanced bit of programming you may add if you know what macro your machine stores the spindle tool value to is

IF[(SPINDLE TOOL MACRO)NE(EXPECTED TOOL VALUE)] THEN #3000=1.0(WRONG TOOL);

This will alarm out most Fanuc style controls and display the error message that the tool is the wrong tool. For example if your machines spindle tool macro was #1 (it's not) the line would look like this for tool 1;

IF[#1 NE 1] THEN #3000=1.0(WRONG TOOL);

For simplification we will be working in word address format. #LESSON 1 ##Safe Starts It is important when programming for a production environment to "fool-proof" or "idiot proof" a program so that it can be restarted at any sequence without error. `N1 (SEQUENCE ONE);` `G20 (ENGLISH UNITS); G17 G40 G80 G49 G90(INITIAL SETTINGS AND CANCELLATIONS); T01(TOOL 1 TO WAITING POSITION); M6(TOOL 1 TO SPINDLE);` Sequence 1 (N1) first sets the control to English units. It then sets it to XY plane designation, cancels cutter radius compensation, cancels any fixed cycles, cancels tool length offsets, and sets absolute dimensioning mode. This all prevents an operator from restarting the program after the power goes out in the middle of a canned drilling cycle and crashing the machine. But is this fool proof? In most cases. It is however missing a homing Z move before X or Y or B or A axis moves. `G0G90G53Z0.0;` Would usually achieve this. Of course things vary by machine and how they are set. And yes operators will still crash machines time and time again. An advanced bit of programming you may add if you know what macro your machine stores the spindle tool value to is `IF[(SPINDLE TOOL MACRO)NE(EXPECTED TOOL VALUE)] THEN #3000=1.0(WRONG TOOL);` This will alarm out most Fanuc style controls and display the error message that the tool is the wrong tool. For example if your machines spindle tool macro was #1 (it's not) the line would look like this for tool 1; `IF[#1 NE 1] THEN #3000=1.0(WRONG TOOL);`

(post is archived)

[–] 0 pt

Thanks for sharing. What do you make with your CNC?

[–] 1 pt

Small aluminum parts at this moment.

[–] 1 pt

I've been wondering if the US can turn its dependency on China for things like that around with 3d printers and CNC machines.

[–] 1 pt

You should look into 'additive manufacturing'. There are machines on the market now that can 3d print machinable metal to make 'impossible' parts.