Vai al contenuto
PLC Forum


Camma-Tavoletta sincronizzazione


Ghisla

Messaggi consigliati

Buongiorno ragazzi

 

Devo sincronizzare una tavoletta rotante con un asse master.

 

Il master è un'asse rotante con modulo chiuso da 0-360°

La tavoletta uguale al master ha modulo chiuso da 0-360°

 

Ogni ciclo, mentre il master ruota dai 135° ai 225°, la tavoletta deve compiere 45° di rotazione, per esempio da 0°a 45°, 45°-90° ecc per 8 volte fino a chiudere il modulo 360°.

Devo sincronizzare tutto con asse sincrono, ma la domanda è: come faccio a far compiere 45° alla tavoletta ogni ciclo ogni volta che il master percorre da 135° a 225°?

Pensavo di usare una camma diversa ogni ciclo ma ho scartato questa soluzione.

 

PS: La tavoletta deve essere necessariamente sincronizzata con il master perchè la macchina gira ad un tempo ciclo molto basso,

 

 

 

Modificato: da Ghisla
Link al commento
Condividi su altri siti


Non specifichi se le velocità sono/psoono essere in rapporto o se si tratta di uno spostamento a scatti.

 

Se il movimento è continuo semplicemente imposti un rapporto di velocità master/slave uguale 8:1 (360°/8 = 45°).

Sarà poi compito dei 2 azionamenti mantenere il rapporto di velocità o, meglio, di fase, costante con l'impostazione.

 

Se invece lo slave deve compiere lo spostamento pari a 45° ad ogni rivoluzione del master, basta che generi un impulso ad ogni rivoluzione del master, con il quale comandi una missione di posizionamento dello slave con quota pari a 45°.

 

Però se tu dessi anche le informazioni relative agli azionamenti ed all'eventuale dispositivo di controllo, si potrebbe capire meglio l'applicazione.

 

Per azionamento si intende: motore, alimentatore/regolatare ed eventuale trasduttore di velocità/posizione.

 

 

Link al commento
Condividi su altri siti

Se usi una CPU "T" puoi anche disegnare il profilo della camma (modificabile anche in runtime), e lo slave, una volta sincronizzato con il master, per ogni posizione del master assume la posizione corrispondente.
Però, come come ha fatto notare Livio, sei molto avaro di informazioni.

Modificato: da batta
Link al commento
Condividi su altri siti

I due assi devono essere sincronizzati necessariamente tramite una camma come ho specificato precedentemente.

Questo perché muovendo il master a impulsi la tavoletta si deve muovere esattamente in sincronia con il master.

I metodi che ha detto Livio sono quelli che ho adottato ora, ma purtroppo al cliente non vanno bene.

Quindi il metodo migliore è quello specificato da batta.

 

Uso una CPU 1515T.

Batta la tua soluzione è quella che pensavo di adottare, ma come faccio a modificare la camma in run time? Riusciresti a farmi un esempio pratico?

 

Per gli assi altri assi che sono sincronizzati la camma la creo con la libreria Lcamhdl

Grazie mille 

Modificato: da Ghisla
Link al commento
Condividi su altri siti

5 ore fa, Ghisla ha scritto:

Per gli assi altri assi che sono sincronizzati la camma la creo con la libreria Lcamhdl

E perché non adotti la stessa soluzione anche per questa?

Link al commento
Condividi su altri siti

Perché non so come cambiare la camma in run time.

Per gli altri assi la camma la creo all'avvio qui deve essere cambiata ogni ciclo.

La domanda era proprio questa, come cambiare la camma in run time ogni ciclo

Link al commento
Condividi su altri siti

Dunque, il problema l'ho affrontato oramai un po' di tempo fa, vado a memoria, quindi potrei anche incappare in qualche inesattezza.
Affermi di disegnare la camma con le funzioni della libreria LCamHdl, quindi già sai come si usano le funzioni LCamHdl_CreateCamBasic, LCamHdl_CreateCamAdvanced, e le altre disponibili nella libreria.
Mi pare di capire che non hai problemi a disegnare le camme a macchina ferma, ma vorresti modificare il profilo con macchina in funzione.

Per disegnare una camma però l'asse, mi pare, deve essere disabilitato.
Devi quindi lavorare con due camme per lo stesso asse. Mentre una è attiva, con asse in movimento, non la puoi modificare. Devi quindi ridisegnare la camma non attiva, e fare lo scambio delle camme.
La nuova camma verrà presa in carico all'inizio del nuovo ciclo.

 

Mi pare un po' strano però che si debba, ad ogni ciclo, cambiare profilo.

Modificato: da batta
Link al commento
Condividi su altri siti

Grazie Batta

 

L'unico motivo per cui devo cambiare la camma ad ogni ciclo è per il fatto che ogni giro del master la tavoletta deve fare +45° 

Da 135° master a 225° master la tavoletta al primo ciclo farà da 0 a 45°, al secondo ciclo da 45° a 90° al terzo ciclo da 90° a 135° ecc.

Il fatto di cambiare camma ad ogni ciclo l'ho pensato io.

Se hai un metodo migliore lo adotterei molto volentieri

Link al commento
Condividi su altri siti

Ora non ricordo nel dettaglio quale sia il parametro, ma l'asse slave può ripartire, ad ogni ciclo, dalla quota precedentemente raggiunta.
 

Link al commento
Condividi su altri siti

Davvero? intendi un parametri nel MC_CAMIN?

 

Riusciresti a dirmi come potrei fare questa cosa? te ne sarei veramente grato

 

Modificato: da Ghisla
Link al commento
Condividi su altri siti

Magari mi sbaglio, ma non capisco dove stia la difficoltà. Nei sistemi che uso io, basta che la camma abbia un profilo a dente di sega ed il gioco è fatto. Se invece la camma parte da 0 e poi ritorna a Zero(profilo triangolare) l'asse esegue un loop chiuso come è giusto che sia. 

Link al commento
Condividi su altri siti

Forse non riesco a spiegare dove sta il problema.

una camma con un profilo a dente di sega non andrebbe bene perchè la tavoletta farebbe: 0-45° al ciclo successivo farebbe 45°-0° mentre invece deve fare 45°-90°

Link al commento
Condividi su altri siti

2 ore fa, Ghisla ha scritto:

Davvero? intendi un parametri nel MC_CAMIN?

Sì, dovrebbe essere il parametro "ApplicationMode":

0 = Once/Not cyclic

1= Cyclic

2= Cyclically appending

 

Se hai usato le librerie LCamHdl, tanto vale che usi anche la funzione CamInStandStill (non ricordo se fa parte della stessa libreria, ma di sicuro è sempre gratuita), che ti facilita molto il compito nel riposizionamento degli assi per la sincronizzazione con il master.
Anche nella funzione CamInStandStill c'è in ingresso il parametro ApplicationMode (che, internamente, viene passato all'istanza MC_CamIn).

 

Disegni la camma della tavola per che parte dalla posizione 0° e arriva alla posizione 45° (raccordando come meglio credi) e, ciclicamente, compie il movimento di 45° sincronizzato con il master.

 

20 minuti fa, step-80 ha scritto:

Magari mi sbaglio, ma non capisco dove stia la difficoltà. Nei sistemi che uso io, basta che la camma abbia un profilo a dente di sega ed il gioco è fatto. Se invece la camma parte da 0 e poi ritorna a Zero(profilo triangolare) l'asse esegue un loop chiuso come è giusto che sia. 

Dovrei provare ma, credo, con il parametro di cui sopra = 1, l'asse slave compirebbe un brusco riposizionamento a quota 0°. O, forse, al secondo ciclo perderebbe il sincronismo.

Link al commento
Condividi su altri siti

Avevo dato un'occhiata anche io al parametro application mode, l'unico dubbio che ho avuto è, come faccio a dire alla camma che quando la tavola ha raggiunto i 360° deve ripartire dall'inizio e di non accodare ancora la camma? lo sa automaticamente in base al modulo impostato?

Link al commento
Condividi su altri siti

Ciao Batta.

ho fatto delle prove con il simulatore e ho riscontrato alcuni problemi, quali:

1 - Io ho bisogno di sganciare l'asse per x cicli in base a se il pezzo che arriva sotto la tavoletta è scarto, è possibile farlo ma il problema è che se la mia camma va da 0 a 45° e io sono a 90° perchè ho accodato la camma, nell'agganciare la tavola al master me la riporta a 45°.

 

2 - Se viene mossa la tavoletta manualmente io ho bisogno di riportarla nella posizione in cui dovrebbe essere. attualmente uso il GetFollowingValue, ma sempre per lo stesso problema la funzione mi restituisce il valore ma della camma al primo ciclo. mentre se io mi trovo al terzo ciclo, cioe a 135° la funzione mi restituisce 45°.

 

Come potrei ovviare questi problemi?

 

PS: Non mi serve usare la libreria CamInStandStil perchè devo agganciare in movimento, con il semplice CamIn riesco a fare ciò che ho bisogno

 

Spero di essere stato chiaro

Modificato: da Ghisla
Link al commento
Condividi su altri siti

4 ore fa, Ghisla ha scritto:

Forse non riesco a spiegare dove sta il problema.

una camma con un profilo a dente di sega non andrebbe bene perchè la tavoletta farebbe: 0-45° al ciclo successivo farebbe 45°-0° mentre invece deve fare 45°-90°

 

E perchè mai?

 

Forse l'inghippo sta nel sistema diverso..vediamo postando un immagine se riesco a spiegarmi

 

Camma1.thumb.png.50c137e00c5a7e0aacb1b85f5e65b371.png

 

Come vedi in questo caso da 0 a 135 master la tavoletta sta ferma, da 135 a 225 fa il 100% della corsa(che nel tuo caso saranno i 45° ) , poi da 225 a 0 sta ferma....il ciclo successivo non tornerà indietro perchè partirà da dove aveva termianto prima...almeno per come lo uso io. 

Ho qualche macchina che ha delle camme fatte in questo modo e funzionano semplicemente cosi. 

 

Ovvio che se hai una camma del genere:

 

Camma2.thumb.png.afb9218449985db0d279c64ca63e428d.png

 

Dopo aver fatto i 45° la tavoletta tornerà indietro

 

 

 

Link al commento
Condividi su altri siti

Ciao Step

 

Ho capito cosa intendi, però la stessa camma è uguale da 0 a 45° da 45° a 90° ecc.

Quando devo fare l'aggancio non so a che numero di camma accodata sono.

quindi lui va a leggere la posizione vera e proprio sulla camma che va da 0 a 45° e basta non oltre.

io invece se sono alla seconda camma accodata mi troverò tra 45° e 90°, quando eseguo l'aggancio mi riporta istantaneamente a 45°

Link al commento
Condividi su altri siti

Ciao ragazzi.

Ho ancora un problema legato a questa discussione, il riposizionamento della tavoletta.

Impostando la tavola con modulo 45° come consigliato da batta funziona tutto tranne il riposizionamento.

Cioè se l'operatore muove a mano la tavoletta, essa deve ritornare esattamente dove era prima, mentre impostando modulo 45° se l'operatore muove la tavoletta a mano non torna nella posizione in cui si trovava ma raggiunge i gradi nella posizione piu vicina. Per esempio se la tavoletta si trova a 45° e l'operatore me la muove di x gradi, se io voglio riportarla a 45° in assoluto la tavoletta raggiunge i 45° più vicini.

 

Come posso ovviare questo problema?

Link al commento
Condividi su altri siti

La tavoletta porta avanti un pezzo 45° alla volta dalla stazione di carico fino allo scarico, in realtà sono tutte uguali ma dato che alcuni pezzi dentro la tavoletta sono già stati lavorati da stazioni esterne, la tavoletta deve tornare dove era prima di essere mossa manualmente in modo da non lavorare pezzi già processati.

Il cliente vuole la tavoletta esattamente dove era prima di essere mossa 

Modificato: da Ghisla
Link al commento
Condividi su altri siti

Io proporrei un "tagliamani automatico".
A questo punto, mi sa che devi farti un registro delle 8 postazioni, e riposizionare tenendo conto della presenza pezzo.

Link al commento
Condividi su altri siti

Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...