MECCANICA e DINTORNI

COSTRUIAMO LE NOSTRE CNC DIVERTENDOCI CON L'AIUTO DI TANTI PROFESSIONISTI ESPERTI
Oggi è gio mar 28, 2024 20:42

Tutti gli orari sono UTC +1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 12 messaggi ] 
Autore Messaggio
 Oggetto del messaggio: Costrutto CASE SELECT in mach3
MessaggioInviato: mar set 12, 2017 14:51 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: lun feb 29, 2016 11:29
Messaggi: 13594
Località: Ustica & Dintorni saltuariamente Bologna o Pesaro
Ciao a tutti, come da oggetto sono riuscito a costruire il costrutto del titolo senza utilizzare le macro ( che hanno un loro linguaggio :???: da studiare ... ).
La funzione in oggetto fa una cosa semplicissima , incrementando un indice si può fare in modo di scegliere cosa fare in base al valore dell'indice stesso ... esempio :
case select "Pippo"
case 1 allora vai a 1000
case 2 allora vai a 2000
case 3 allora vai a 3000
case 4 ......... ecc ecc

Pasticciando con i parametri ho scoperto che è possibile indicizzare il richiamo a sottoprogrammi utilizzando i parametri stessi :
es M98 P[100+#1] quando il parametro #1 vale 0 si richiama il sottoprogramma O0100 se vale 7 salterà al sottoprogramma O0107 ecc ecc

posto una parte di codice che sto scrivendo per fare una ghiera per l'affilatrice che sia indicizzata 0° 40° - 40° 0°
il sw dovrebbe fare la prima passata sulla linea delle decine e scrivere 0 poi passare alla linea successiva e scrivere 10 , poi 20 ecc ecc . Per ora sulla carta funziona , appena realizzata la ghiera ( ammesso che ci riesca :mrgreen: ) posto il codice completo . intanto se qualcuno più pratico di me avesse qualche suggerimento, ben venga ... ad esempio ho cominciato scrivendo il numero delle righe ma ben presto mi sono rotto le balle :risatina: servono ? i codici dei numeri li ho presi utilizzando il Wizard di mach3 e mi da coordinate da con 5 decimali e I e J con codice G1 che non servono ad una beneamata io ho cominciato a toglierli ... e a ridurre i decimali a 3 poi mi è venuto un dubbio ... :roll:

ps
Non ridete ... il codice è commentato per me che mi dimentico le cose, non per voi ... :mrgreen:

Nel codice, quanto detto prima si trova nel parametro #123
alle linee
N216
N356
N507

********************************* CODICE
(tAMBURO indicizzato con GRADI 0 40 40 0 PER MONTANTE AFFILATRICE Davide 12/09/2017 revisione 1)
(INSERITO IL FATTORE DI SCALA) ok
(Material Size) (Diametro Y=48.000 )
;Una ottima leggibilità si ottiene con i valori di default che ho inserito ok!
;Controllare la profondità di passata ok!
;inserito i numeri con coordinate relative
;sostituzione della Y con A per avere la stessa profondità sui numeri

;***************************************funzioni preparatorie*************************************************

N10 G90 (programmazione in coordinate assolute)
N20 G80 (annulla esecuzione di ciclo fisso)
N30 G21 ( programma le quote assi in mm, G20 in pollici )
N40 G17 (setta il piano di lavoro XY )
N50 G49 (annulla compensazione utensile)
N60 G50 (reset fattore di scala )
N70 G40 ( percorso utensile sul profilo )

;**************************************************************************************************************

N80 M6 T1 (Utensile bulino :1) ( 7.5 Gradi conico con 0.000 mm raggio in punta e 0.1 mm raggio piano)

;**************************************DATI da inserire********************************************************

;***************APPOSTARE IL BULINO AL FILO SUPERIORE DELLA GHIERA X=0 y=DIAMETRO/2 E Z=0**********************

#5=0.0 (PARAMETRO ANGOLARE DI PARTENZA)
#10=36 (numero divisioni)
#20=[360/#10] ( distanza angolare tra le linee )
#30=1 (Parametro fattore di scala)
#50=5.5 ( lunghezza linea lunga , 10 gradi)
#60=4.5 ( lunghezza di linea media , 5 gradi)
#70=3 ( lunghezza di linea corta , 1 gradi)
#75=2.5 ( altezza del numero )
#76=1 (spaziatura linea - numero )
#550=0 ( contatore di linea lunga , 10 gradi)
#560=4 ( contatore di linea media , 5 gradi)
#570=2 ( contatore di linea corta , 1 gradi)
#580=30 ( feed rate di lavoro)
#590=15000 ( velocità mandrino )
#100= 0.05 ( inserire la massima profondità di passata permessa dall'utensile)
#101=#100 (parametro di aiuto per l'incremento di passata)
#110= 0.2 ( profondità massima di incisione )

N90 #750= [1*fix[#110 / #100]] ( calcola il numero di passate )

N100 M3 S[#590] (m3 rotazione oraria del mandrino s=speed=velocità di rotazione g/min)

N110 G51 X[#30] Y[#30] Z[#30] ( SETTA LA SCALA )


;**********************************inizio ciclo lavorazione ***************************************************

N200 G0 Z1 (porta la z a + 1 in rapido sopra la ghiera)
N210 G0 x1 y0 (porta la x FUORI BORDO ghiera in rapido)
N215 G0 A[#5] (ASSE A=0.0)
N216 #123=0 (contatore routine numeri in sequenza )
N220 M98 P0001 Q[#10] ( salta a sub 0001 e ripete per il numero di divisioni )
N230 G50 (RESET FATTORE DI SCALA)



;N300 G0 A0.0 ( riporta all'origine l'asse A, G64 è poco usato)
N310 G0 Z2 x2 Y2
N340 M5 (stop rotazione del mandrino)
N350 M30 (fine programma e reset con ritorno ritorno all'inizio )


;***********************************Routine 0001 - linea decine************************************************

; nell'esempio ci sono 36 divisioni una ogni 10 gradi

O0001

N355 M98 P0002 Q[#750]
N356 #123=[#123+1] (incrementa il contatore routine numeri in sequenza )
N357 #100=#101
G00 z1
N360 G91 A[#20]
N370 G90
N380 M99

;***********************************( inizia sub di incisione linea decine )******************************


o0002
N460 G01 Z[-1*[#100]] F[#580] (la z scende del valore max di passata )
N470 G01 X[-1*[#50]] F[#580] (la x va alla lunghezza della linea)
G00 Z1
N507 M98 P[0100 + #123] (va alle routine dei numeri )

N510 m99

;********************** ( inizio sub di incisione numeri ) ******************************

;************************************** NUMERO 0 ***********************************************************

o0100
G52 x[-1*[#76]] Y-0.835

G00 X0 Y0.425
G01 Z[-1*[#100]] F[#580] (la z scende del valore max di passata )
G01 X0 Y0.820
G01 X-0.421 Y1.245
G01 X-2.079 Y1.245
G01 X-2.5 Y0.820
G01 X-2.5 Y0.425
G01 X-2.079 Y0
G01 X-0.421 Y0
G01 X0 Y0.425
G00 Z1
G00 X-1.670 Y2.068
G01 Z[-1*[#100]] F[#580] (la z scende del valore max di passata )
G01 X-2.085 Y1.654
G01 X-2.5 Y2.068
G01 X-2.0852 Y2.483
G01 X-1.6704 Y2.068

G52 X0 Y0
G0 X1 Y0 Z1
#100=[#100+#101] (aumento la z per la passata successiva )
M99

;************************************** NUMERO 10 ***********************************************************
o0101

G52 x[-1*[#76]] Y-1.835 (nuove coordinate in y che tengono conto del doppio numero)

G00 X0 Y0

G01 Z[-1*[#100]] F[#580] (la z scende del valore max di passata )
G01 X0 Y0.83325 I0 J0
G00 Z1
G00 X0 Y0.4165 I0 J0
G01 Z[-1*[#100]] F[#580] (la z scende del valore max di passata )
G01 X-2.5 Y0.416
G01 X-2.0905 Y0
G00 Z1
G00 X0 Y1.667
G01 Z[-1*[#100]] F[#580] (la z scende del valore max di passata )
G01 X0 Y2.062
G01 X-0.421 Y2.487
G01 X-2.079 Y2.487
G01 X-2.5 Y2.062
G01 X-2.5 Y1.667
G01 X-2.079 Y1.241
G01 X-0.421 Y1.241
G01 X0 Y1.667
G00 Z1
G00 X-1.6704 Y3.31055 I0 J2.89575
G01 Z[-1*[#100]] F[#580] (la z scende del valore max di passata )
G01 X-2.0852 Y2.895
G01 X-2.5 Y3.3105
G01 X-2.0852 Y3.725
G01 X-1.6704 Y3.3105
G00 Z1
G00 X0 Y4.13385

G52 X0 Y0
G0 X1 Y0 Z1
#100=[#100+#101] (aumento la z per la passata successiva )
M99


;************************************** NUMERO 20 **********************************************************
o0102

G52 x[-1*[#76]] Y-0.835

G00 X0 Y1.67175 I0 J0

G01 Z[-1*[#100]] F[#580] (la z scende del valore max di passata )
G01 X0 Y0 I0 J0
G01 X-0.854 Y0
G01 X-1.25 Y0.4
G01 X-1.25 Y1.2275
G01 X-1.68975 Y1.67175
G01 X-2.079 Y1.67175
G01 X-2.5 Y1.2465
G01 X-2.5 Y0.42525
G01 X-2.079 Y0
G00 Z1
G00 X0 Y2.5055
G01 Z[-1*[#100]] F[#580] (la z scende del valore max di passata )
G01 X0 Y2.9005
G01 X-0.421 Y3.32575
G01 X-2.079 Y3.32575
G01 X-2.5 Y2.9005
G01 X-2.5 Y2.5055
G01 X-2.079 Y2.08025
G01 X-0.421 Y2.08025
G01 X0 Y2.5055
G00 Z1
G00 X-1.6704 Y4.14905
G01 Z[-1*[#100]] F[#580] (la z scende del valore max di passata )
G01 X-2.0852 Y3.73425
G01 X-2.5 Y4.14905
G01 X-2.0852 Y4.56385
G01 X-1.6704 Y4.14905

G00 Z1
G52 X0 Y0
G0 X1 Y0 Z1
#100=[#100+#101] (aumento la z per la passata successiva )
M99

_________________
Gli errori sono per i principianti, noi esperti puntiamo al disastro !!!
Le conoscenze acquisite, sono proporzionali al DANNO PRODOTTO !!! ( esperienza personale...)
youtube



Immagine 2°socio TIRATOSAURO CLUB ITALIAN


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mar set 12, 2017 19:33 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: mar mar 23, 2010 22:18
Messaggi: 41202
Località: Artena(Roma)
stavo per cancellare , sembrava uno spamm :risatina:

_________________
la democrazia funziona fino a quando fate quello che dico io!
Mc Mazzafrusten meccanico mannaro
il riparatore di riparazioni
er robin hood de no'antri
tagliatore scelto di puntarelle
http://www.lievitoedintorni.it/phpbb/index.php


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mar set 12, 2017 19:54 
Non connesso
TORNITORE E FRESATORE

Iscritto il: mer apr 20, 2011 13:38
Messaggi: 18490
io invece ho copiato la parte numerica, ci faccio un sistema al lotto hai visto non si sa mai :rotfl: :rotfl: :rotfl:

_________________
OBBIETTIVO RAGGIUNTO SONO RIUSCITO A FARMI DISATTIVARE


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mar set 12, 2017 20:00 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: mar mar 23, 2010 22:18
Messaggi: 41202
Località: Artena(Roma)
:risatina:

Davide aspetta che passa qualcuno che capisce di mach3.

_________________
la democrazia funziona fino a quando fate quello che dico io!
Mc Mazzafrusten meccanico mannaro
il riparatore di riparazioni
er robin hood de no'antri
tagliatore scelto di puntarelle
http://www.lievitoedintorni.it/phpbb/index.php


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mar set 12, 2017 20:27 
Non connesso
CAPO OFFICINA

Iscritto il: dom nov 06, 2011 17:34
Messaggi: 32784
Località: Napoli
Per me mancano un paio di righe di codice:

// Define the destructor.
String::~String() {
// Deallocate the memory that was previously reserved for this string.
if (_text)
delete[] _text;
}

:mrgreen:


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mar set 12, 2017 21:00 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: mar mar 23, 2010 22:18
Messaggi: 41202
Località: Artena(Roma)
:risatina:

_________________
la democrazia funziona fino a quando fate quello che dico io!
Mc Mazzafrusten meccanico mannaro
il riparatore di riparazioni
er robin hood de no'antri
tagliatore scelto di puntarelle
http://www.lievitoedintorni.it/phpbb/index.php


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mar set 12, 2017 22:58 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: lun feb 29, 2016 11:29
Messaggi: 13594
Località: Ustica & Dintorni saltuariamente Bologna o Pesaro
Mah ?!? questo è linguaggio iso, non è SOLO mach 3 ... il costrutto è stato una elaborazione del linguaggio iso per ottenere una certa funzione che mach3 non fa ( se non tramite macro che però ha un proprio linguaggio ecc ecc ...)

ho anche elaborato il costrutto " if then else" che il linguaggio iso fa e mach3 no :???:

lavorando con i parametri posso cambiare la profondità di passata , il numero di passate, il numero di divisioni,la scala delle righe e del testo , il feed rate e la velocità del mandrino ... cambiando solo 6 numeri all'inizio senza riscrivere tutto il codice :eusa_dance:

_________________
Gli errori sono per i principianti, noi esperti puntiamo al disastro !!!
Le conoscenze acquisite, sono proporzionali al DANNO PRODOTTO !!! ( esperienza personale...)
youtube



Immagine 2°socio TIRATOSAURO CLUB ITALIAN


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mer set 13, 2017 06:24 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: mar mar 23, 2010 22:18
Messaggi: 41202
Località: Artena(Roma)
al linguaggio iso ci arrivo , infatti lavoro solo con quello , ma la mia macchina nuova di 30 anni non accetta il cancelletto.

_________________
la democrazia funziona fino a quando fate quello che dico io!
Mc Mazzafrusten meccanico mannaro
il riparatore di riparazioni
er robin hood de no'antri
tagliatore scelto di puntarelle
http://www.lievitoedintorni.it/phpbb/index.php


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mer set 13, 2017 08:04 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: lun feb 29, 2016 11:29
Messaggi: 13594
Località: Ustica & Dintorni saltuariamente Bologna o Pesaro
:shock:
benvenuto nel mondo del "databile col carbonio 14" :risatina: :risatina: :risatina:
...anche se poi 30 non sono una follia... il cancelletto c'era con il dos...

Quindi tu non usi i parametri ... e tutte le volte devi riprogrammare da capo ?

_________________
Gli errori sono per i principianti, noi esperti puntiamo al disastro !!!
Le conoscenze acquisite, sono proporzionali al DANNO PRODOTTO !!! ( esperienza personale...)
youtube



Immagine 2°socio TIRATOSAURO CLUB ITALIAN


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mer set 13, 2017 09:31 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: mar mar 23, 2010 22:18
Messaggi: 41202
Località: Artena(Roma)
yesse.

_________________
la democrazia funziona fino a quando fate quello che dico io!
Mc Mazzafrusten meccanico mannaro
il riparatore di riparazioni
er robin hood de no'antri
tagliatore scelto di puntarelle
http://www.lievitoedintorni.it/phpbb/index.php


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mer set 13, 2017 09:42 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: lun feb 29, 2016 11:29
Messaggi: 13594
Località: Ustica & Dintorni saltuariamente Bologna o Pesaro
SOC'MEL ... DU BALL :risatina:

_________________
Gli errori sono per i principianti, noi esperti puntiamo al disastro !!!
Le conoscenze acquisite, sono proporzionali al DANNO PRODOTTO !!! ( esperienza personale...)
youtube



Immagine 2°socio TIRATOSAURO CLUB ITALIAN


Top
 Profilo  
 
 Oggetto del messaggio: Re: Costrutto CASE SELECT in mach3
MessaggioInviato: mer set 13, 2017 09:45 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: mar mar 23, 2010 22:18
Messaggi: 41202
Località: Artena(Roma)
a chi lo dici , non lo uso da 20 anni , quindi in pratica ho resettato tutto di quel poco di parametrico che sapevo.

_________________
la democrazia funziona fino a quando fate quello che dico io!
Mc Mazzafrusten meccanico mannaro
il riparatore di riparazioni
er robin hood de no'antri
tagliatore scelto di puntarelle
http://www.lievitoedintorni.it/phpbb/index.php


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 12 messaggi ] 

Tutti gli orari sono UTC +1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBB.it