OBJECTIVO
Acabamento duma caixa rectangular com inclinação (“saída”) igual em todas as paredes.
Garantia da profundidade exacta, independentemente dos valores iniciais e finais de Z, e do incremento programado, utilizando técnicas de salto.
HIPÓTESE 1
Condição de igualdade, a actuar depois da redefinição do valor da profundidade – Q0
0 BEGIN PGM 889 MM | |
1 FN 0 : Q0 = +0.000 | Z inicial |
2 FN 0 : Q1 = +1.000 | Incremento |
3 FN 0 : Q2 = +23.500 | Z final |
4 FN 0 : Q3 = +10.000 | Inclinação |
5 TOOL DEF 1 L+0.000 R+5.000 | |
6 TOOL CALL 1 Z S 1000.000 | |
7 FN 6 : Q4 = SIN +Q3 | ( Heidenhain 155 / 355 ) |
8 FN 7 : Q5 = COS +Q3 | Cálculo da tangente da inclinação |
9 FN 4 : Q6 = +Q4 DIV +Q5 | Valor da tangente |
10 L Z+10.000 R0 F9999 M03 | |
11 L X+0.000 Y+0.000 R F M | |
12 LBL 1 | |
13 FN 3 : Q10 = +Q0 * +Q6 | Cálculo do “delta X” – ‘a’ no esquema |
14 FN 2 : Q20 = +100.000 – +Q10 | Valor absoluto de X ( Ver esquema ) |
15 FN 2 : Q30 = +80.000 – +Q10 | Valor absoluto de Y ( Ver esquema ) |
16 L Z-Q0 R F M | |
17 L X+0.000 Y+Q30 RR F500 M | |
18 L X+Q20 R F M | |
19 L Y-Q30 R F M | |
20 L X-Q20 R F M | |
21 L Y+Q30 R F M | |
22 L X+0.000 R F M | |
23 L X+0.000 Y+0.000 R0 F9999 M | |
24 FN 9 : IF +Q0 EQU +Q2 GOTO LBL 3 | Condição de igualdade para evitar “loop” |
25 FN 1 : Q0 = +Q0 + +Q1 | Incremento da profundidade |
26 FN 11 : IF +Q0 GT +Q2 GOTO LBL 2 | Salto condicional para ‘label’ de redefinição |
27 CALL LBL 1 REP 9999 /9999 | Salto incondicional ( Alternativa : Se 1=1 salta … ) |
28 LBL 2 | |
29 FN 0 : Q0 = +Q2 | Redefinição de Q0 para profundidade exacta |
30 CALL LBL 1 REP 9999 /9999 | |
31 LBL 3 | |
32 L Z+20.000 R0 F9999 M30 | |
33 END PGM 889 MM |
Código NC não comentado
0 BEGIN PGM 889 MM
1 FN 0 : Q0 = +0.000
2 FN 0 : Q1 = +1.000
3 FN 0 : Q2 = +23.500
4 FN 0 : Q3 = +10.000
5 TOOL DEF 1 L+0.000 R+5.000
6 TOOL CALL 1 Z S 1000.000
7 FN 6 : Q4 = SIN +Q3
8 FN 7 : Q5 = COS +Q3
9 FN 4 : Q6 = +Q4 DIV +Q5
10 L Z+10.000 R0 F9999 M03
11 L X+0.000 Y+0.000 R F M
12 LBL 1
13 FN 3 : Q10 = +Q0 * +Q6
14 FN 2 : Q20 = +100.000 – +Q10
15 FN 2 : Q30 = +80.000 – +Q10
16 L Z-Q0 R F M
17 L X+0.000 Y+Q30 RR F500 M
18 L X+Q20 R F M
19 L Y-Q30 R F M
20 L X-Q20 R F M
21 L Y+Q30 R F M
22 L X+0.000 R F M
23 L X+0.000 Y+0.000 R0 F9999 M
24 FN 9 : IF +Q0 EQU +Q2 GOTO LBL 3
25 FN 1 : Q0 = +Q0 + +Q1
26 FN 11 : IF +Q0 GT +Q2 GOTO LBL 2
27 CALL LBL 1 REP 9999 /9999
28 LBL 2
29 FN 0 : Q0 = +Q2
30 CALL LBL 1 REP 9999 /9999
31 LBL 3
32 L Z+20.000 R0 F9999 M30
33 END PGM 889 MM
HIPÓTESE 2
Redefinição do número do ‘label’ de salto
0 BEGIN PGM 890 MM | |
1 FN 0 : Q0 = +0.000 | |
2 FN 0 : Q1 = +1.000 | |
3 FN 0 : Q2 = +23.500 | |
4 FN 0 : Q3 = +10.000 | |
5 FN 0 : Q50 = +2.000 | Número do label para salto ( ver linha 26 ) |
6 TOOL DEF 1 L+0.000 R+5.000 | |
7 TOOL CALL 1 Z S 1000.000 | |
8 FN 6 : Q4 = SIN +Q3 | |
9 FN 7 : Q5 = COS +Q3 | |
10 FN 4 : Q6 = +Q4 DIV +Q5 | |
11 L Z+10.000 R0 F9999 M03 | |
12 L X+0.000 Y+0.000 R F M | |
13 LBL 1 | |
14 FN 3 : Q10 = +Q0 * +Q6 | |
15 FN 2 : Q20 = +100.000 – +Q10 | |
16 FN 2 : Q30 = +80.000 – +Q10 | |
17 L Z-Q0 R F M | |
18 L X+0.000 Y+Q30 RR F500 M | |
19 L X+Q20 R F M | |
20 L Y-Q30 R F M | |
21 L X-Q20 R F M | |
22 L Y+Q30 R F M | |
23 L X+0.000 R F M | |
24 L X+0.000 Y+0.000 R0 F9999 M | |
25 FN 1 : Q0 = +Q0 + +Q1 | |
26 FN 11 : IF +Q0 GT +Q2 GOTO LBL Q50 | Salto condicional para redefinição ou fim de programa |
27 CALL LBL 1 REP 9999 /9999 | |
28 LBL 2 | |
29 FN 0 : Q0 = +Q2 | Redefinição da profundidade exacta |
30 FN 0 : Q50 = +3.000 | Redefinição do número do ‘label’ de salto |
31 CALL LBL 1 REP 9999 /9999 | |
32 LBL 3 | |
33 L Z+20.000 R0 F9999 M30 | |
34 END PGM 890 MM |
Código NC não comentado
0 BEGIN PGM 890 MM
1 FN 0 : Q0 = +0.000
2 FN 0 : Q1 = +1.000
3 FN 0 : Q2 = +23.500
4 FN 0 : Q3 = +10.000
5 FN 0 : Q50 = +2.000
6 TOOL DEF 1 L+0.000 R+5.000
7 TOOL CALL 1 Z S 1000.000
8 FN 6 : Q4 = SIN +Q3
9 FN 7 : Q5 = COS +Q3
10 FN 4 : Q6 = +Q4 DIV +Q5
11 L Z+10.000 R0 F9999 M03
12 L X+0.000 Y+0.000 R F M
13 LBL 1
14 FN 3 : Q10 = +Q0 * +Q6
15 FN 2 : Q20 = +100.000 – +Q10
16 FN 2 : Q30 = +80.000 – +Q10
17 L Z-Q0 R F M
18 L X+0.000 Y+Q30 RR F500 M
19 L X+Q20 R F M
20 L Y-Q30 R F M
21 L X-Q20 R F M
22 L Y+Q30 R F M
23 L X+0.000 R F M
24 L X+0.000 Y+0.000 R0 F9999 M
25 FN 1 : Q0 = +Q0 + +Q1
26 FN 11 : IF +Q0 GT +Q2 GOTO LBL Q50
27 CALL LBL 1 REP 9999 /9999
28 LBL 2
29 FN 0 : Q0 = +Q2
30 FN 0 : Q50 = +3.000
31 CALL LBL 1 REP 9999 /9999
32 LBL 3
33 L Z+20.000 R0 F9999 M30
34 END PGM 890 MM