Corso base di programmazione Siemens 840D: i formati dei file e i metodi di programmazione
Vložit
- čas přidán 15. 03. 2020
- Lezione sulla programmazione di Siemens base in cui si affronta la differenza tra la la programmazione in codici G, Shopmill/turn e ISO. In questo video inoltre vengono definiti i formati dei programmi CNC di Siemens.
- Věda a technologie
Una sola parola : sette minuti di lezione............................... una montagna di informazione valida per me. Tante grazie
G290lo uso per incorporare pezzi di programma che hanno girato su vecchi Fanuc per fare prima a programmare ed essere sicuro di non fare errori nel riscrivere quote e posizioni fori nei nuovi torni controllati Siemens..
Spieghi molto bene !
Buonasera
una domanda ..... se voglio importare un programma MPF da PC (visto che copia/incolla non funziona) come posso fare ?
GRAZIEEE
Buongiorno! Se sta usando la versione gratuita del simulatore Siemens, il trasferimento dei programmi da PC a macchina non è possibile purtroppo.
Salve che costi hanno i vostri corsi online?
Buongiorno e buone feste! I prezzi di ogni corso può trovarli facilmente visitando il nostro sito o andando direttamente alla pagina con questo link: cncofcourse.com/corso-cnc/
Buonasera
Se posso vorrei chiedere un info.
Sto completando una macro per creare un ciclo di retrolamatura che in Siemens non esiste.
Ho finito ma non riesco a far ripetere una label all'interno del sottoprogramma con la funzione IF e poi ritornare al punto precedente al.salto e continuare ad eseguire il sottoprogramma.
In pratica una volta fatto il salto lui va avanti anche quando la label è finita con ENDLABEL: e non torna indietro.
Es. IF R30=10 GOTOF LBLAA
LBLAA:
......
......
ENDLABEL:
Grazie se vorrà aiutarmi
Buongiorno
mi fa molto piacere che ci ha scritto. Per quanto riguarda la sua domanda provo a rispondere riferendomi a quanto ha scritto nell'esempio ma sicuramente un risposta più completa potrei darla vedendo tutto il programma e non solo una parte estrapolata. Mi sembra di capire che vuole eseguire una parte di programma solo con una certa condizione verificata, racchiudendo la parte di programma tra due label di cui una per la chiusura ha utilizzato l'etichetta standard di SIEMENS ENDLABEL:. Tale struttura funziona solo se abbinata all'istruzione REPEAT come nell’esempio qui sotto.
REPEAT LBLAA
LBLAA:
;Parte di programma da ripetere
ENDLABEL:
Nell’esempio qui sopra non è però presente una condizione. Se volessimo abbinarci una condizione i modi sono svariati. Il primo che più si avvicina a quanto lei ha scritto potrebbe essere di mettere la condizione IF alla fine della parte di programma da ripetere, esempio:
LBLAA:
;Parte di programma da ripetere
IF R30==10 GOTOBLBLAA
Oppure una versione un pò più sofisticata ma con la possibilità di verificare la condizione all'inizio della parte di programma è utilizzando l'istruzione WHILE esempio:
WHILE R30==10
;Parte di programma da ripetere
ENDWHILE
Quest’ultima versione è sicuramente più adatta per eseguire più volte una parte di programma fino a che una condizione rimane verificata. Oppure se la parte di programma deve essere eseguita una sola volta solo se verificata una specifica condizione può utilizzare l’istruzione IF ed ENDIF come nell’esempio qui sotto.
IF R30==10
;Parte di programma da ripetere
M0
ENDIF
Spero che uno di questi esempi le possa tornare utile per risolvere il problema ci scriva per ogni altro chiarimento.
@@cncofcourse-IT vi ringrazio davvero siete stati gentilissimi a rispondermi.
io ho solo bisogno di ripetere una parte di sottoprogramma se la condizione è soddisfatta e poi tornare al punto precedente la chiamata una volta questa parte di ripetizione sia completata.
Per es. nel blocco 140 vorrei ripetere da N380 a N400 per poi tornare a N150 una sola volta.
Cosi come è scritto invece prosegue dopo N410 fino alla fine.
N10 ;CICLO RETROLAMATURA - UT AZZER.SU INSERTO
N20 ;DEFINIRE PARAMETRI NEL PM PRINCIPALE
N30 ;R100 Prof.finale positiva
N40 ;R101 Dist Sicurezza
N50 ;R102 Ang. (0=X+)(90=Y+) (180=X-) (270=Y-)
N60 ;R103 Spessore Pz
N70 ;R104 Quota Eccentrica
N80 ;R105 Svincolo
N90 ;R106 Spessore Ut
N100 ;R107 Avanzamento
N110 ;R108 Tempo Sosta Secondi
N120 M5
N130 SPOS[1]=R12
N140 IF R12==0 GOTOF LBL0A
N150 IF R12==90 GOTOF LBL90A
N160 IF R12==180 GOTOF LBL180A
N170 IF R12==270 GOTOF LBL270A
N180 G1 Z=-R15-R16-R12
N190 IF R12==0 GOTOF LBL0B
N200 IF R12==90 GOTOF LBL90B
N210 IF R12==180 GOTOF LBL180B
N220 IF R12==270 GOTOF LBL270B
N230 M3
N240 G4 F0.5
N250 G1 Z=IC(R10+R11)F=R17
N260 G4 F0.5
N270 G1 Z=IC(-2) F500
N280 M5
N290 SPOS[1]=R12
N300 IF R12==0 GOTOF LBL0A
N310 IF R12==90 GOTOF LBL90A
N320 IF R12==180 GOTOF LBL180A
N330 IF R12==270 GOTOF LBL270A
N340 G1 Z=+R16+R12
N350 M3
M17
N370 ;-----------------------------------
N380 LBL0A:
N390 G1 X=IC(-R14) F500
N400 ENDLABEL:
N410 LBL90A:
N420 G1 Y=IC(-R14) F500
N430 ENDLABEL:
N440 LBL180A:
N450 G1 X=IC(+R14) F500
N460 ENDLABEL:
N470 LBL270A:
N480 G1 Y=IC(+R14) F500
N490 ENDLABEL:
N500 LBL0B:
N510 G1 X=IC(-R14) F500
N520 ENDLABEL:
N530 LBL90B:
N540 G1 Y=IC(-R14) F500
N550 ENDLABEL:
N560 LBL180B:
N570 G1 X=IC(+R14) F500
N580 ENDLABEL:
N590 LBL270B:
N600 G1 Y=IC(+R14) F500
N610 ENDLABEL:
N620 ;-----------------------------------
N630 M17
Buonasera volevo farle una domanda se è possibile? Da un mese che programmo questo CNC è un software con grande potenziale sto programmando un foro a x0y0 lungo 100 mm inclinato a 45g, la mia idea fare un sotto programma con cicle83 a zero poi nel programma mettere la rotazione su un asse perno che nel mio caso è a x-45 con il codice AROT nel programma principale e il sottoprogramma lo chiudo con RET perché ho attiva la G64 ,mi potrebbe fare un esempio di questo programma la ringrazio per i suoi video utili.
Buongiorno Francesco
Direi che la logica da lei descritta è corretta, di fondo per le lavorazioni su piani inclinati sarebbe da distinguere se la macchina è dotata di CICLO800 oppure no. Il secondo caso sembra corrispondere alla sua casistica che solitamente è riconducibile a macchine alesatrici o fresatrici di grandi dimensioni, dotate di assi paralleli (canotto, tavola taslante) e teste indexate. Quindi se ci troviamo in questa seconda situazione come ha citato correttamente lei la rotazione viene effettuata con ROT. A questo però dovrà aggiungere la rotazione degli assi rotativi. Le riporto un esempio molto generico di foratura su piano inclinato a 45gradi ma solo di esempio generale dato che non conosco la macchina, gli ingombri e il pezzo stesso.
T1
M6
;----- INSERIRE QUI LA ROTAZIONE DEGLLI ASSI ROTATIVI
;-----TESTA O TAVOLA
D1 S1000 F250 M3 M8
ROT X-45
G0 X0 Y0 Z150
CYCLE82(150,0,5,-27,,0,10,1,12,10000,5,70,8,90)
G0 Z300
ROT
M30
Le ho scritto tutto all’interno del programma principale senza richiamare un sottoprogramma dato che per un foro non mi sembra indispensabile farlo ma nel caso volesse faro è corretto quanto da lei detto.
Nella lavorazione qui sopra deve prestare attenzione al primo avvicinamento G0 X0 Y0 Z150. Di proposito le ho programmato tutti e tre gli assi lineari nello stesso blocco perché avendo già la rotazione attiva intorno all’asse X di 45gradi sicuramente i due assi Z e Y vanno programmati insieme per evitare collisioni o movimenti in fine corsa dato che sono i due assi che sono inclinati a 45gr.
Infine un’ultima considerazione che riguarda ROT o AROT. Nell’esempio le ho scritto di proposito ROT X-45 dato che si tratta della prima trasformazione ma se avesse bisogno di traslare l’origine sul foro con una funzione TRANS prima di ruotare allora in questo secondo caso sarà corretto indicare la rotazione con AROT.
Spero di esserle stato d’aiuto.
Saluti
@@cncofcourse-IT la ringrazio gentilissimo si comunque è una alesa di grandi dimensioni comunque un ultimo devo usare G17 o G18? Come origine va bene G500? Oppure uso G56 chiedo perché non posso provare ho l operatore in ferie la testa comunque è un componente a parte montabile si ruota manualmente la tavola la ruotano i job e non si muove perché è solo un foro
@@Franzpiano Buongiorno Francesco, premetto come già detto nellla risposta precedente che dovrei avere un quadro di insieme per darti una risposta corretta, ma a livello generale posso dire che per quanto riguarda il piano di lavoro, tecnicamente utilizzando la funzione ROT è possibile anche partire da piani di lavoro diversi dal G17 ma il consiglio è sempre impostare le rotazioni considerando il piano di lavoro iniziale G17, il motivo è legato alle convenzioni abbinate al piano di lavoro. Per quanto rigurda l'origine direi che devi utilizzare l'origine pezzo G54 - G55 ecc. Non utilizzando il ciclo800 il ricalcolo della cinematica deve essere fatta dal costruttore all'interno del ciclo di rotazione testa e se così non fosse dovrai rifare necessariamente una nuova origine. Spero di esserti stato d'aiuto. Buon lavoro