Command Table. Esempio base su V90
Dopo avere eseguito la configurazione dell’asse da controllare, quindi avere inserito nella vista di rete il drive V90 PN, e in questo avere montato lo standard Telegram 3, è possibile muovere l’utensile o manualmente, ad esempio con MOVE_JOG, o tramite una sequenza memorizzata in un array. (come mostrato nell’esempio successivo).
Il sistema prevede l’inserimento di 3 azionamenti di tipo V90, PN da associare ai tre assi X,Y,Z
Una volta inseriti nella vista di rete è importante aprire ciascuno degli azionamenti e inserire un opportuno telegramma, prelevandolo dal tool box presente sul pannello di destra.
Lo standard telegram 3, a esempio, permette la configurazione dell’encoder sia integrato sul motore che posizionato nelle parti meccaniche della struttura e quindi definirne i rapporti cinematici ovvero le scalature tra il numero di impulsi generati e gli spostamenti lineari corrispondenti del carico.
Per ciascuno degli azionamenti ci si dovrà portare alla voce “oggetti tecnologici” in project tree e iniziare la configurazione guidata.
Quando tutti i check box saranno diventati verdi, come nella figura, la configurazione sarà completa e si potrà procedere all’inserimento dei comandi Motion control nelle funzioni del programma.
Nella prima fase si configura il DRIVE definendo come i dati sono scambiati tra drive e CPU e come l’encoder è collegato ed acquisito.
In generale l’encoder potrà essere collegato nel modo classico tramite un HSC della CPU, impegnando due ingressi e richiedendo i due fili per le fasi A e B oltre ai due per l’alimentazione, oppure, meno onerosamente per cavi e posizionamento tramite il cavo PROFINET che collega l’azionamento.
Nella configurazione del meccanismo si definisce dove è posizionato l’encoder e quale sia il suo rapporto cinematico, indicando di quanti millimetri traslerà la parte mobile in funzione di in certo numero di impulsi generati per giro delll’asse.
E’ importante posizionare dei fine corsa agli estremi dell’asse decidendo se questi sono di tipo hardware o software o anche entrambi i tipi.
Una buona soluzione, anche se non la più economica, è quella di usare i software limit switch come ormali segnalazione di fine corsa e quelli hardware come interventi di extra corsa che intervengono in caso di fallimento dei primi salvaguardando l’integrità del sistema meccanico.
La dinamica della macchina si cura delle rampe di accelerazione, dei bruschi cambi di regime “jerk” e delle eventuali frenate di emergenza.
Si passa poi alla configurazione dei comportamenti in prossimità dei punti di target e di zero macchina, deitti homing.
La stabilità del sistema nei pressi dei punti di target pò essere migliorata nella voce mostrata sotta ed analizzando le curve.
Il guadagno dell’anello di controllo può essere definito agendo in questa schermata e definirà i tempi di reazione e di intervento.
Vediamo i principali comandi motion control che troverete nei segmenti del blocco FC1 una volta scompattato il programma disponibile nell’ultimo link della pagina.
Si da per scontato che siano stati eseguiti i passaggi di configurazione guidata, accessibili dal menu “Oggetti tecnologici”, prima per la gestione asse e poi per la creazione della tabella.
In questo modo sarà possibile, per trascinamento, collegare il blocco “oggetto asse”, sotto indicato con %DB! Axis X al pin Axis del blocchetto
Un comando booleno, proveniente indifferentemente dal HMI che da una variabile di processo permette l’accensione e lo spegnimento della sezione di potenza del drive togliendo alimentazione alle bobine quando il motore non è in uso..
In molti casi può essere utile spostare la posizione dell’asse agendo manualmente su due pulsanti oppure un joystick, per comandare la rotazione in avanti o indietro del motore.
Il comando MC_MoveJog possiede i due ingressi jog Forward, jog Backward che forniti come booleani, in modalità presenza uomo, spostano il meccanismo in avanti o all’indietro.
E’ necessario fornire, in formato Real da HMI, la velocità con cui i movimenti manuali saranno eseguiti, e tali parametri potranno essere sia valori costanti che variabili Runtime.
Prima di impartire dei comandi di movimenti verso una quota richiesta bisogna dichirare se le quota fornite saranno riferite alla posizione 0,0 degli assi X,Y oppure alla posizione raggiunta nel movimento precedente. Si verifica che:
- Absolute -> Le quote sono riferite allo zero degli assi
- Relative -> le quote sono riferite al punto in cui si trova prima di eseguire il prossimo comando, quindi quella posizione rappresenta un nuovo zero.
Per chiarire: Se mi trovo in modalità MOVE_Relative, due comandi successivi di 100mm e 50mm posizioneranno l’utensile a 150mm dall’origine degli assi, mentre la stessa sequenza in modalità MOVE_Absolute avrà una posizione finale di 50mm rispetto all’origine.
Esecuzione di sequenze
Quando si vuole eseguire un programma di taglio, ad esempio ricavato da un disegno 2D, è necessario post processarlo allo scopo di ottenere un G code, o qualcosa di simile, che indichi al sistema di controllo ovvero il PLC le quote a cui portarsi e a che velocità eseguire gli spostamenti.
Risultano fondamentali anche le pause di movimento, ad esempio in secondi, al fine di coordinare o interpolare tra loro più assi.
Nell’immagine è mostrata la vista in pianta del piano di lavoro del pantografo con l’origine delle coordinate X,Y pari a 0,0 nell’angolo in alto a sinistra.
Qui viene adagiata la tavola di legno che diventerà una porta, su cui si vuole creare la finestra rettangolare mostrata in figura di larghezza 100mm e altezza 150mm.
La sequenza dei movimenti, se consideriamo il solo asse X, da origine a questo pseudo G-code in cui ai movimenti dell’asse Y corrispondono delle attese waite di tempi opportuni.
Esempio di pseudo G-code ottenuto dai tagli desiderati mostrati nel disegno sovrastante:
Start
#asse X
+300
wait 4s #intanto y si sposta a dx
-150
wait 3s #y deve arretrare di 100
+150
wait 2s #Y rientra al bordo tavola
-300 #torna home
Stop
L’immagine mostra la curva di taglio per l’asse X con gli opportuni tempi di attesa tra un movimento e il successivo per dare tempo all’asse Y di completare il proprio lavoro
L’asse Y viene mosso durante le pause dell’asse X e nei momenti opportuni al fine di tagliare il rettangolo richiesto nel piano della lastra di legno. Per esercizio si cerchi di interpretare le due curve, la blu per la posizione e la verde per la velocità.
Per finire bisognerà indicare quando l’utensile da taglio affonda nel materiale e quando invece risulta ritratto, ovvero come controllare l’asse Z.
Scarica il programma completo del pantografo con MOVE_TABLE v90motori
Le nozioni presentate in questa pagina si trovano nei libri mostrati qui sotto,
info per corsi di PLC a Padova, anche in modalità campus, con vitti e alloggio, attivi tutto l’anno, scrivere alla mail ad.noctis@gmail.com
Torna alla pagina PLC programming