Macro Spirale Archimede

Sezione Fanuc
Rispondi
Avatar utente
Thomas___
Newbie
Newbie
Messaggi: 17
Iscritto il: martedì 25 maggio 2021, 15:26
Località: Senigallia

Macro Spirale Archimede

Messaggio da Thomas___ » martedì 6 giugno 2023, 19:01

MACRO SPIRALE ARCHIMEDE-min.png
(MACRO SPIRALE DI ARCHIMEDE)
TEST: FANUC Oi-F/Oi-F plus

| ESEMPIO DI RICHIAMO : G65P90 X Y R Z Q C D V
| X (CENTRO FORO IN X)
| Y (CENTRO FORO IN Y)
| R (POSIZIONAMENTO IN RAPIDO)
| Z (QUOTA LAVORO IN Z)
| Q (PASSO)
| C (DIAMETRO INIZIALE)
| D (DIAMETRO FINALE)
| V (VERSO 2=ORARIO 3=ANTIORARIO)


%
O0090(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]THEN#24=#5001(X)
IF[#25EQ#0]THEN#25=#5002(Y)
IF[#26EQ#0]GOTO1004(Z)
IF[#7EQ#0]GOTO1005(D)
IF[#17EQ#0]GOTO1006(Q)
IF[#22EQ#0]GOTO1007(V)
IF[#3EQ#0]GOTO1016(C)
(PONGO GLI ARGOMENTI C Q D V POSITIVI)
#7=ABS[#7](D)
#17=ABS[#17](Q)
#22=ABS[#22](V)
#3=ABS[#3](C)
(CONDIZIONI NECESSARIE PER UNA CORRETTA ESECUZIONE)
IF[#3GE#7]GOTO1017
IF[#1EQ0]GOTO1009
IF[#3LT#1]GOTO1010
IF[#18LT#26]GOTO1011
IF[#18GT#2]GOTO1012
IF[[#22NE2]AND[#22NE3]]GOTO1013
IF[#17EQ0]GOTO1014
IF[#17GT[#7-#3]]GOTO1015

( NUMERO MEZZE RIVOLUZIONI )
#4=FUP[[[[[#7/2]-[#3/2]]/#17]*2]]
( CORREGGO PASSO SE ERRATO )
#17=[[[#7/2]-[#3/2]]/[#4/2]]
(POSIZIONAMENTO)
G0X#24Y#25
Z#18
G1Z#26
( ATTACCO TANGENZIALE )
G1G[44-#22]X[#24-[#1/2]]F#4109
G[#22]X[#24+[#3/2]]Y#25R[[#1+#3]/4]
#5=1(INIZIALIZZO CONTATORE MEZZE RIVOLUZIONI)
#6=-1(INIZIALIZZO SEGNO)
WHILE[#5LE#4]DO1
G[44-#22]X[#24+[#6*[[#3/2]+[[#17/2]*#5]]]]I[#6*[[[#3/2]+[-#17/4+[#17/2]*#5]]]]
#5=#5+1(CONTATORE MEZZE RIVOLUZIONI)
#6=[#6*[-1]](CAMBIO SEGNO)
END1
( ARRIVO A DIAMETRO FINALE )
G[44-#22]I[#6*[#7/2]]
(DISIMPEGNO)
F[#4109*2]G[#22]X[#24+[#6*#1/2]]Y#25R[[#1+#7]/4]
G0G40X#24Y#25Z#2F[#4109/2]
GOTO99

N1001#3000=1(R 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(C < 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)
N1016#3000=16(C NON ASSEGNATO)
N1017#3000=17(C >= D)
N99
M99
%

| SE VOLETE VISUALIZZARE LE MACRO TRAMITE CIMCO :
M6T14
#5003=10
G0X10Y10Z10
G65P90 X10 Y10 R2 Z-2 Q5 C10 D60 V3
M30

-SOSTITUITE NELLA MACRO #1=[[#[12000+#4107].... con #1=n
-NON USARE ARGOMENTI UGUALI A 0, IL CIMCO CONSIDERA #0=0
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Rispondi

Torna a “Fanuc”