Corso base di programmazione Siemens 840D: i formati dei file e i metodi di programmazione

Sdílet
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

Komentáře • 13

  • @Antonio-oe7wj
    @Antonio-oe7wj Před rokem +1

    Una sola parola : sette minuti di lezione............................... una montagna di informazione valida per me. Tante grazie

  • @agostinocavazza9731
    @agostinocavazza9731 Před 2 lety

    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 !

  • @bimm73
    @bimm73 Před 2 lety +1

    Buonasera
    una domanda ..... se voglio importare un programma MPF da PC (visto che copia/incolla non funziona) come posso fare ?
    GRAZIEEE

    • @cncofcourse-IT
      @cncofcourse-IT  Před rokem

      Buongiorno! Se sta usando la versione gratuita del simulatore Siemens, il trasferimento dei programmi da PC a macchina non è possibile purtroppo.

  • @massimonobili8253
    @massimonobili8253 Před 3 lety +1

    Salve che costi hanno i vostri corsi online?

    • @cncofcourse-IT
      @cncofcourse-IT  Před rokem

      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/

  • @bimm73
    @bimm73 Před 2 lety

    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

    • @cncofcourse-IT
      @cncofcourse-IT  Před 2 lety +1

      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.

    • @bimm73
      @bimm73 Před 2 lety

      @@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

  • @Franzpiano
    @Franzpiano Před 2 lety

    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.

    • @cncofcourse-IT
      @cncofcourse-IT  Před 2 lety

      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

    • @Franzpiano
      @Franzpiano Před 2 lety

      @@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

    • @cncofcourse-IT
      @cncofcourse-IT  Před 2 lety

      @@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