MECCANICA e DINTORNI http://meccanicaedintorni.morpel.it/phpbb/ |
|
Costrutto CASE SELECT in mach3 http://meccanicaedintorni.morpel.it/phpbb/viewtopic.php?f=34&t=21100 |
Pagina 1 di 1 |
Autore: | Davide Resca [ mar set 12, 2017 14:51 ] |
Oggetto del messaggio: | Costrutto CASE SELECT in mach3 |
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 ) 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 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 ... ps Non ridete ... il codice è commentato per me che mi dimentico le cose, non per voi ... 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 |
Autore: | onorino [ mar set 12, 2017 19:33 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
stavo per cancellare , sembrava uno spamm |
Autore: | giacomo328 [ mar set 12, 2017 19:54 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
io invece ho copiato la parte numerica, ci faccio un sistema al lotto hai visto non si sa mai |
Autore: | onorino [ mar set 12, 2017 20:00 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
Davide aspetta che passa qualcuno che capisce di mach3. |
Autore: | yrag [ mar set 12, 2017 20:27 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
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; } |
Autore: | onorino [ mar set 12, 2017 21:00 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
Autore: | Davide Resca [ mar set 12, 2017 22:58 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
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 |
Autore: | onorino [ mer set 13, 2017 06:24 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
al linguaggio iso ci arrivo , infatti lavoro solo con quello , ma la mia macchina nuova di 30 anni non accetta il cancelletto. |
Autore: | Davide Resca [ mer set 13, 2017 08:04 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
benvenuto nel mondo del "databile col carbonio 14" ...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 ? |
Autore: | onorino [ mer set 13, 2017 09:31 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
yesse. |
Autore: | Davide Resca [ mer set 13, 2017 09:42 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
SOC'MEL ... DU BALL |
Autore: | onorino [ mer set 13, 2017 09:45 ] |
Oggetto del messaggio: | Re: Costrutto CASE SELECT in mach3 |
a chi lo dici , non lo uso da 20 anni , quindi in pratica ho resettato tutto di quel poco di parametrico che sapevo. |
Pagina 1 di 1 | Tutti gli orari sono UTC +1 ora |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |