Vai al contenuto
PLC Forum


Pilotare Un Azionamento Passo-passo Con Cpu-226 - come creare rampe e target dinamici


Akira

Messaggi consigliati

Salve a tutti.

Ho fatto una rapida ricerca nel forum per vedere se un problema simile era già stato affrontato, purtroppo non ho trovato nulla di esaustivo e quindi mi permetto di postare il mio problema.

In una macchina di taglio profili è stato usato un banco di appoggio lungo il quale si muove una lama motorizzata posizionata alla misura impostata su un apposito pannello op. Il posizionamento avviene attraverso un motore passo-passo pilotato dal suo apposito driver. Il driver viene gestito con un plc S7-226 (cpu rel.02.01) utilizzando l'uscita impulsiva Q0.1.

Ho utilizzato l'assistente di controllo posizionamento per creare i blocchi di gestione dell'uscita impulsiva. Ho creato anche un profilo con una rampa di salita, un target (numero di impulsi e velocità) e una rampa di discesa.

L'assistente mi ha creato anche i blocchi per la gestione manuale e per il controllo. Fin qui problemi zero...

Nell'area dati del plc l'assistente ha creato quanto segue:

//----------------------------------------------------------------

//Tabella del profilo PTO per l'uscita Q0.1

//----------------------------------------------------------------

VB0 'PTOA' //

VW4 54 //FREQ

VD6 512000 //SS_SPEED

VD10 10240000 //MAX_SPEED

VD14 16#05000B86 //K_ACC

VD18 16#85FFF47A //K_DEC

VB22 1 //NUMPROF

VW23 25 //OFFS_0

VB25 4 //NUM_SEGS per il profilo 0

VB26 0 //Riservato.

VB27 0 //S_STEP per il segmento 0

VB28 16#08 //S_PROP

VD29 +512000 //SFREQ

VD33 922 //Numero di impulsi per l'accelerazione

VB37 0 //S_STEP per il segmento 1

VB38 16#04 //S_PROP

VD39 +3072600 //SFREQ

VD43 4155 //Numero di impulsi per la velocità costante

VB47 0 //S_STEP per il segmento 2

VB48 16#00 //S_PROP

VD49 -1 //SFREQ

VD53 922 //Numero di impulsi per la decelerazione

VB57 0 //S_STEP per il segmento 3

VB58 16#10 //S_PROP

VD59 +512000 //SFREQ

VD63 1 //Numero di impulsi per la decelerazione finale

VB67 0 //Riservato.

VB68 0 //Riservato.

VB69 0 //Riservato.

Ora il fatto è che: dando il comando di esecuzione del profilo chiaramente il blocco di controllo esegue la rampa impostata, si posiziona ed esegue la rampa di discesa. Il problema è che quando mi devo posizionare ad una quota differente non lo riesco a fare... ho intuito che devo modificare via programma utente i dati della rampa di salita, del valore target e della rampa di discesa... ma non sono riuscito a capire come.

Mi spiego con un esempio: se mi devo spostare di 235 millimetri, diciamo equivalenti a 6800 impulsi, di quanto deve essere la rampa di salita, la sua velocità? quanto deve essere gli impulsi alla velocità target? quanto gli impulsi della rampa di discesa ed a quale velocità? In breve come modifico i parametri del profilo dinamicamente, direttamente nel programma?

Come li calcolo?

Scusate se sono stato prolisso... però spero di essere stato chiaro.

Grazie a quanti mi daranno una mano.

Ciao.

Link al commento
Condividi su altri siti


Ciao a tutti, se il numero di impulsi a velocità costante che devi fare (numero impulsi totali - impulsi accelerazione - impulsi decelerazione), parte due del profilo, è maggiore di "0" allora è sufficiente modificare il contenuto del registro VD43 dell'esempio, se invece il valore è minore di "0" allora bisogna intervenire anche sulle rampe, e i valori da modificare sono diversi. Io ti consiglio di impostare un profilo per il percorso più breve che ti interessa e poi agire solo sugli impulsi a velocita' costante.

ciao rwhite

Link al commento
Condividi su altri siti

grazie RWHITE.

avevo intuito qualcosa del genere...

farò delle prove per determinare i valori di rampa... quindi vedrò se posso applicare questo metodo (che mi sembra il più semplice) altrimenti stavo valutando la possibilità di usare le librerie MAP_SERV di siemens.

grazie.

ciao.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...