WelcomeUser Guide
ToSPrivacyCanary
DonateBugsLicense

©2024 Poal.co

1.1K

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

Seems like a cross between programming (making the instruction sequences) and IT (managing all the device settings) and 3D modeling (cad and all that shit).

[–] 0 pt

It also requires understanding specific machine capabilities, tool capabilities, work holding, etc.

It is a very complex rewarding field.