(MACRO IE INTERNA CON ATTACCO DOLCE CON Z ESATTA)
TEST: SU FANUC Oi-F/Oi-F plus
| ESEMPIO DI RICHIAMO : G65P3 X Y R Z Q D I V
| X (CENTRO FORO IN X)
| Y (CENTRO FORO IN Y)
| R (POSIZIONAMENTO IN RAPIDO)
| Z (QUOTA FINALE IN Z)
| Q (INCREMENTO IN Z)
| D (DIAMETRO CERCHIO)
| I (PULIZIA PIANO 1=SI ALTRO=NO)
| V (VERSO 2=ORARIO 3=ANTIORARIO)
%
O0003
(PRELEVO DIAMETRO UT DA TABELLA UTENSILI)
#1=[[#[12000+#4107]+#[13000+#4107]]*2]
(SALVO Z DI POSIZIONAMENTO)
#2=#5003
(VERIFICO ASSEGNAZIONE ARGOMENTI)
IF[#18EQ#0]GOTO1001(R)
IF[#24EQ#0]GOTO1002(X)
IF[#25EQ#0]GOTO1003(Y)
IF[#26EQ#0]GOTO1004(Z)
IF[#7EQ#0]GOTO1005(D)
IF[#17EQ#0]GOTO1006(Q)
IF[#22EQ#0]GOTO1007(V)
IF[#4EQ#0]GOTO1008(I)
(PONGO GLI ARGOMENTI Q D V I POSITIVI)
#7=ABS[#7](D)
#17=ABS[#17](Q)
#22=ABS[#22](V)
#4=ABS[#4](I)
(CONDIZIONI NECESSARIE PER UNA CORRETTA ESECUZIONE)
IF[#1EQ0]GOTO1009
IF[#7LT#1]GOTO1010
IF[#18LE#26]GOTO1011
IF[#18GT#2]GOTO1012
IF[[#22NE2]AND[#22NE3]]GOTO1013
IF[#17EQ0]GOTO1014
IF[#17GTABS[#18-#26]]GOTO1015
(POSIZIONAMENTO)
G0G90X#24Y#25
G0Z#18
(ATTACCO TANGENZIALE)
G1G[44-#22]X[#24-[#1/2]]
G[#22]X[#24+[#7/2]]Y#25R[[#1+#7]/4]
#18=#18-#17
(INTERPOLAZIONE ELICOIDALE)
WHILE[#18GE#26]DO1
G[#22]I-[#7/2]Z#18
#18=#18-#17
END1
(ULTERIORE PASSATA SE NECESSARIA)
IF[[#18+#17]LE#26]GOTO1
G[#22]I-[#7/2]Z#26
(PULIZIA DEL PIANO SE RICHIESTA)
N1IF[#4NE1]GOTO2
G[#22]I-[#7/2]Z#26
(DISIMPEGNO)
N2F[#4109*2]G[#22]X[#24-#1/2]Y#25R[[#1+#7]/4]
G0G40Z#2F[#4109/2]
GOTO99
N1001 #3000=1 (R NON ASSEGNATO)
N1002 #3000=2 (X NON ASSEGNATO)
N1003 #3000=3 (Y NON ASSEGNATO)
N1004 #3000=4 (Z NON ASSEGNATO)
N1005 #3000=5 (D NON ASSEGNATO)
N1006 #3000=6 (Q NON ASSEGNATO)
N1007 #3000=7 (V NON ASSEGNATO)
N1008 #3000=8 (I NON ASSEGNATO)
N1009 #3000=9 (D UTENSILE = 0)
N1010 #3000=10(DIAMETRO CERCHIO < D UTENSILE)
N1011 #3000=11(R MINORE DI Z)
N1012 #3000=12(R MAGGIORE DI Z ATTUALE)
N1013 #3000=13(V PUO ESSERE 2 O 3)
N1014 #3000=14(Q = 0)
N1015 #3000=15(Q TROPPO GRANDE)
N99
M99
%
| SE VOLETE VISUALIZZARE LE MACRO TRAMITE CIMCO :
M6T14
#5003=10
G0X10Y10Z10
G65P3X10Y10R2Z-10Q3D100I1V3
-SOSTITUITE NELLA MACRO #1=[[#[12000+#4107].... con #1=n
-NON USARE ARGOMENTI UGUALI A 0, IL CIMCO CONSIDERA #0=0
(MACRO IE INTERNA CON ATTACCO DOLCE CON Z UGUALE O MINORE A QUELLA ASSEGNATA)(PER FILETTATURA)
TEST: NON ESEGUITO
| ESEMPIO DI RICHIAMO : G65P4 X Y R Z Q D V
| X (CENTRO FORO IN X)
| Y (CENTRO FORO IN Y)
| R (POSIZIONAMENTO IN RAPIDO)
| Z (QUOTA FINALE IN Z)
| Q (PASSO FILETTATURA)
| D (DIAMETRO CERCHIO)
| V (VERSO 2=ORARIO 3=ANTIORARIO)
%
O0004
(PRELEVO DIAMETRO UT DA TABELLA UTENSILI)
#1=[[#[12000+#4107]+#[13000+#4107]]*2]
(SALVO Z DI POSIZIONAMENTO)
#2=#5003
(VERIFICO ASSEGNAZIONE ARGOMENTI)
IF[#18EQ#0]GOTO1001(R)
IF[#24EQ#0]GOTO1002(X)
IF[#25EQ#0]GOTO1003(Y)
IF[#26EQ#0]GOTO1004(Z)
IF[#7EQ#0]GOTO1005(D)
IF[#17EQ#0]GOTO1006(Q)
IF[#22EQ#0]GOTO1007(V)
(PONGO GLI ARGOMENTI Q D V POSITIVI)
#7=ABS[#7](D)
#17=ABS[#17](Q)
#22=ABS[#22](V)
(CONDIZIONI NECESSARIE PER UNA CORRETTA ESECUZIONE)
IF[#1EQ0]GOTO1009
IF[#7LT#1]GOTO1010
IF[#18LE#26]GOTO1011
IF[#18GT#2]GOTO1012
IF[[#22NE2]AND[#22NE3]]GOTO1013
IF[#17EQ0]GOTO1014
IF[#17GTABS[#18-#26]]GOTO1015
(POSIZIONAMENTO)
G0G90X#24Y#25
G0Z#18
(ATTACCO TANGENZIALE)
G1G[44-#22]X[#24-[#1/2]]
G[#22]X[#24+[#7/2]]Y#25R[[#1+#7]/4]
#18=#18-#17
(INTERPOLAZIONE ELICOIDALE)
WHILE[#18GE#26]DO1
G[#22]I-[#7/2]Z#18
#18=#18-#17
END1
(DISIMPEGNO)
N2F[#4109*2]G[#22]X[#24-#1/2]Y#25R[[#1+#7]/4]
G0G40Z#2F[#4109/2]
GOTO99
N1001 #3000=1 (R NON ASSEGNATO)
N1002 #3000=2 (X NON ASSEGNATO)
N1003 #3000=3 (Y NON ASSEGNATO)
N1004 #3000=4 (Z NON ASSEGNATO)
N1005 #3000=5 (D NON ASSEGNATO)
N1006 #3000=6 (Q NON ASSEGNATO)
N1007 #3000=7 (V NON ASSEGNATO)
N1009 #3000=9 (D UTENSILE = 0)
N1010 #3000=10(DIAMETRO CERCHIO < D UTENSILE)
N1011 #3000=11(R MINORE DI Z)
N1012 #3000=12(R MAGGIORE DI Z ATTUALE)
N1013 #3000=13(V PUO ESSERE 2 O 3)
N1014 #3000=14(Q = 0)
N1015 #3000=15(Q TROPPO GRANDE)
N99
M99
%
| SE VOLETE VISUALIZZARE LE MACRO TRAMITE CIMCO :
M6T14
#5003=10
G0X10Y10Z10
G65P4X10Y10R2Z-10Q3D100I1V3
-SOSTITUITE NELLA MACRO #1=[[#[12000+#4107].... con #1=n
-NON USARE ARGOMENTI UGUALI A 0, IL CIMCO CONSIDERA #0=0
(MACRO INTERPOLAZIONE CIRCOLARE CON ATTACCO DOLCE)
TEST: NON ESEGUITO
| ESEMPIO DI RICHIAMO : G65P5 X Y R Z D V
| X (CENTRO FORO IN X)
| Y (CENTRO FORO IN Y)
| R (POSIZIONAMENTO IN RAPIDO)
| Z (QUOTA FINALE IN Z)
| D (DIAMETRO CERCHIO)
| V (VERSO 2=ORARIO 3=ANTIORARIO)
%
O0005
(PRELEVO DIAMETRO UT DA TABELLA UTENSILI)
#1=[[#[12000+#4107]+#[13000+#4107]]*2]
(SALVO Z DI POSIZIONAMENTO)
#2=#5003
(VERIFICO ASSEGNAZIONE ARGOMENTI)
IF[#18EQ#0]GOTO1001(R)
IF[#24EQ#0]GOTO1002(X)
IF[#25EQ#0]GOTO1003(Y)
IF[#26EQ#0]GOTO1004(Z)
IF[#7EQ#0]GOTO1005(D)
IF[#22EQ#0]GOTO1007(V)
(PONGO GLI ARGOMENTI D V POSITIVI)
#7=ABS[#7](D)
#22=ABS[#22](V)
(CONDIZIONI NECESSARIE PER UNA CORRETTA ESECUZIONE)
IF[#1EQ0]GOTO1009
IF[#7LT#1]GOTO1010
IF[#18LE#26]GOTO1011
IF[#18GT#2]GOTO1012
IF[[#22NE2]AND[#22NE3]]GOTO1013
(POSIZIONAMENTO)
G0G90X#24Y#25
G0Z#18
G1Z#26
(ATTACCO TANGENZIALE)
G1G[44-#22]X[#24-[#1/2]]
G[#22]X[#24+[#7/2]]Y#25R[[#1+#7]/4]
#18=#18-#17
(INTERPOLAZIONE CIRCOLARE)
G[#22]I-[#7/2]
(DISIMPEGNO)
N2F[#4109*2]G[#22]X[#24-#1/2]Y#25R[[#1+#7]/4]
G0G40Z#2F[#4109/2]
GOTO99
N1001 #3000=1 (R NON ASSEGNATO)
N1002 #3000=2 (X NON ASSEGNATO)
N1003 #3000=3 (Y NON ASSEGNATO)
N1004 #3000=4 (Z NON ASSEGNATO)
N1005 #3000=5 (D NON ASSEGNATO)
N1007 #3000=7 (V NON ASSEGNATO)
N1009 #3000=9 (D UTENSILE = 0)
N1010 #3000=10(DIAMETRO CERCHIO < D UTENSILE)
N1011 #3000=11(R MINORE DI Z)
N1012 #3000=12(R MAGGIORE DI Z ATTUALE)
N1013 #3000=13(V PUO ESSERE 2 O 3)
N99
M99
%
| SE VOLETE VISUALIZZARE LE MACRO TRAMITE CIMCO :
M6T14
#5003=10
G0X10Y10Z10
G65P5X10Y10R2Z-10D100V3
-SOSTITUITE NELLA MACRO #1=[[#[12000+#4107].... con #1=n
-NON USARE ARGOMENTI UGUALI A 0, IL CIMCO CONSIDERA #0=0