Avevo fatto una macro per incidere numeri progressivi su centro di lavoro FANUC, il linguaggio macro è uguale su centro di lavoro mitsubischi, dovrebbe essere uguale anche su tornio ma non sono sicuro al 100%.
Per facilità i numeri vengono scritti in coordinate incremetali, in questo modo mi posiziono e freso, altrimenti in G90 avrei bisogno di un origine diversa se il numero è più luno o più corto. La macro non è completa bisogna creare il codice iso in G91 che fresa le cifre 0123456789.
Puoi prendere spunto da questa macro. Leggi il thread per vedere come si usa, a fine thread c'è anche la macro con il codice iso, ma per esigenze le cifre sono capovolte, forse dovrai ricreare il codice iso per le cifre.
DISCUSSIONE DA LEGGERE PER CAPIRE COME SI USA LA MACRO
viewtopic.php?f=82&t=46590&start=15
Se la macro non è fatta su misura comunque puoi prendere spunto per modificarla, io non ho voglia di farlo quindi questo è il mio massimo aiuto
MACRO SENZA CODICE ISO PER FRESARE LE CIFRE
Codice: Seleziona tutto
% (Macro Fresatura numeri )
O1000 (richiamo macro tramite G65 P1000 o M98 P1000 )
#100=[#100+1] (Contatore progressivo pezzi )
#110=#100 (Variabile di appoggio per ricavare cifra unita ,centinaia e migliaia )
#101=-1 (variabile cifra unita)
#102=-1 (variabile cifra decine)
#103=-1 (variabile cifra centinaia)
#104=-1 (variabile cifra migliaia)
#105=10 (variabile destinazione ritorno salto GOTO)
( se le varibili cifre sono inferiori a 0 = a -1 la cifra non viene fresata )
(Algoritmo per ricavare le cifre che compongono un numero intero)
IF[#110LT10]GOTO1
#101 =[#110 MOD 10] (cifra unita)
#110 =FIX[#110 / 10]
IF[#110LT10] GOTO2
#102 =[#110 MOD 10] (cifra decine)
#110 = FIX[#110 / 10]
IF[#110LT10]GOTO3
#103 =[#110 MOD 10] (cifra centinaia)
#110 = FIX[#110 / 10]
IF[#110LT10]GOTO4
#104 =[#110 MOD 10] (cifra migliaia )
GOTO10
N1 #101=#110
GOTO10
N2 #102=#110
GOTO10
N3 #103=#110
GOTO10
N4 #104=#110
N10 #105=[#105+10](Ritorno a riga 20)
IF[#104GT0]GOTO[#104+100]
N20 #105=[#105+10] (Ritorno a riga 30)
IF[#103GE0]GOTO[#103+100]
N30 #105=[#105+10] (Ritorno a riga 40)
IF[#102GE0]GOTO[#102+100]
N40 #105=[#105+10] (Ritorno a riga 50)
IF[#101GE0]GOTO[#101+100]
N50 G90 M99
N100
(IL CODICE PER FRESARE LE CIFRE DOVRA' LAVORARE IN INCREMENTALE G91 )
(FRESARE LA CIFRA , TERMINATO SI DOVRA' SPOSTARE VERSO SINISTRA PER FRESARE LA SUCESSIVA)
(E' IMPORTANTE CHE OGNI CIFRA INIZIA LA FRESATURA E TERMINA LA FRESATURA NELLA STESSA POSIZIONE )
( CODICE ISO PER FRESARE 0)
#105=[#105+10]
GOTO#105
N101
( CODICE ISO PER FRESARE 1)
GOTO#105
N102
( CODICE ISO PER FRESARE 2)
GOTO#105
N103
( CODICE ISO PER FRESARE 3)
GOTO#105
N104
( CODICE ISO PER FRESARE 4)
GOTO#105
N105
( CODICE ISO PER FRESARE 5)
GOTO#105
N106
( CODICE ISO PER FRESARE 6)
GOTO#105
N107
( CODICE ISO PER FRESARE 7)
GOTO#105
N108
( CODICE ISO PER FRESARE 8)
GOTO#105
N109
( CODICE ISO PER FRESARE 9)
GOTO#105
M99
%