Vai al contenuto
PLC Forum


Cam e Gear Scostamento Posizione al variare della Velocità


Stefano Fontana

Messaggi consigliati

Stefano Fontana

Buongiorno!

devo mettere due motori in asse elettrico. Ho provato sia con la funzione Cam che con il Gear e sincronizzato il sistema a bassa velocità. 

Quando aumento la velocità del Master lo Slave resta un po' indietro.

Su che parametri si può lavorare per migliorare la posizione di inseguimento dello slave?

Link al commento
Condividi su altri siti


4 minuti fa, Stefano Fontana ha scritto:

Ho provato sia con la funzione Cam che con il Gear

 

La funzione Gear è specifica per questa azione.

 

Se vuoi che lo slave non sia in ritardo sul master bisogna adottare la configurazione con master virtuale e due slaves reali. Non so se la funzione di libreria Siemens permetta questa configurazione.

 

Come palliativo puoi cercare di migliorare le cose aumentando il guadagno proporzionale, però oltre un certo limite il sistema diventa instabile.

 

Con la configurazione master-slaveil ritardo di risposta dello slave è inevitabile perchè deve prima crearsi l'errore per poi essere corretto.

 

Se usi feedforward dando ad entrambi il medesimo riferimento di velocità e sommando allo slave la correzione generata dalla funzione gear le cose possono migliorare anche di molto, dipende dalla precisione di velocità che hanno i due motori.

Link al commento
Condividi su altri siti

11 ore fa, Stefano Fontana ha scritto:

Quando aumento la velocità del Master lo Slave resta un po' indietro.

"Un po' indietro" non significa nulla. Devi quantificare.
Dovresti dare anche più indicazioni su come hai gestito gli assi: con o senza IRT, tempo di OB_Servo, slave collegato al set o alla posizione reale del master, tanto per cominciare.
 

Link al commento
Condividi su altri siti

Stefano Fontana
8 ore fa, batta ha scritto:

"Un po' indietro" non significa nulla. Devi quantificare.
Dovresti dare anche più indicazioni su come hai gestito gli assi: con o senza IRT, tempo di OB_Servo, slave collegato al set o alla posizione reale del master, tanto per cominciare.
 

Si! Hai ragione scusa.

E' la prima volta mi trovo di fronte al Motion Siemens e riporto quanto trovo in un programma fatto da altri

Sono stato "catapultato" da un cliente e quindi non ho avuto possibilità di fare molti test (una volta rientrato mi creerò un banco di prova per approfondire) ho cercato di risolvere vedendo cose a cui non ero abituato con altri sistemi che però conoscevo molto meglio.

Provo riportare dati sperando di dare quelli che servono realmente

Stiamo parlando di una macchina rotatita (Master) con una coclea (slave)

Il rapporto tra Master e Slave è 1:5

La CPU usata è CPU 1516TF-3 PN/DP

Il sistema è: Motore della macchina è Asincrono gestito da un G120C, Encoder assoluto (ENA58IL-ST0013) per rilevare il giro della giostra, Slave gestito da un S210, Velocità del profinet 4.000 ms

Sistema creato con Oggetti Tecnologici (Encoder e Asse Rotativo) comandati con i Blocchi MC di Siemens (per il sincro MC_GEARINPOS)

Al variare della velocità passando da 10 giri slave al minuto a 100 lo slave perde circa 30 gradi. 

Siccome lo scostamento è costante al momento ho risolto con una correzione dinamica ma (ovviamente) la soluzione non mi soddisfa e vorrei trovare un sistema più stabile per le future applicazioni

 

Link al commento
Condividi su altri siti

2 ore fa, Stefano Fontana ha scritto:

Al variare della velocità passando da 10 giri slave al minuto a 100 lo slave perde circa 30 gradi. 

 

E non recupera più?

Io non conosco la funzione di libreria siemens (non ho mai voluto usare un qualche cosa che non posso dominare), però credo che sia rapportato solo in velocità mentre arguisco che nella tua applicazione debba esserci anche un rapporto di spazio.

Link al commento
Condividi su altri siti

Stefano Fontana
8 minuti fa, Livio Orsini ha scritto:

 

E non recupera più?

Io non conosco la funzione di libreria siemens (non ho mai voluto usare un qualche cosa che non posso dominare), però credo che sia rapportato solo in velocità mentre arguisco che nella tua applicazione debba esserci anche un rapporto di spazio.

No non recupera. 

Addirittura lo scostamento sembra essere proporzionale alla velocità raggiunta (es. se a 100 ho 30 gradi a 50 ne ho 15)

La soluzione che ho trovato è compensare al volo.

Credo che le funzioni usate da chi ha scritto il codice siano proprio dedicate ad un asse in Posizione... ma non voglio dire castronate

mi sembra molto strano che un asse elettrico abbia questi problemi, data la mia inesperienza ho postato qui.

Appena possibile approfondisco, studio e testo 

 

per ora non posso che ringraziarvi per le risposte che mi avete dato

Link al commento
Condividi su altri siti

2 minuti fa, Stefano Fontana ha scritto:

Addirittura lo scostamento sembra essere proporzionale alla velocità raggiunta (es. se a 100 ho 30 gradi a 50 ne ho 15)

 

Direi che è proporzionale al differenziale di velocità, ma questo è corretto.

Se ci fosse un feedforward di velocità ai 2 motori questo ritardo sarebbe molo ridotto.

 

4 minuti fa, Stefano Fontana ha scritto:

La soluzione che ho trovato è compensare al volo.

 

Cosa fai? inserisci un offset nelllo slave?

 

Link al commento
Condividi su altri siti

5 ore fa, Stefano Fontana ha scritto:

Al variare della velocità passando da 10 giri slave al minuto a 100 lo slave perde circa 30 gradi. 

30 gradi è un'enormità. Ci deve essere qualcosa di sbagliato.

Posso capire un piccolo errore durante i transitori, ma assolutamente non di quell'entità. E, in ogni caso, deve recuperare.
Anche se a Livio non piacciono le funzioni di libreria, ti posso assicurare che lavorano molto, molto bene.

 

Come è configurata la meccanica?
 

Link al commento
Condividi su altri siti

1 ora fa, batta ha scritto:

Anche se a Livio non piacciono le funzioni di libreria, ti posso assicurare che lavorano molto, molto bene.

 

 

In genere le funzioni di libreria sono state ottimizzate per dare il massimo per le applicazioni più comuni.

A me non piacciono perchè sono "chiuse" senza alcuna possibilità di verifica ed, eventualmente, modifica.

 

Ripeto io non conosco nel dettaglio questa funzione,quindi non so se è possibile applicare un feedforward, se è possibile lavorare sui guadagni.

 

In ordine al caso attuale, mi è sorto il sospetto che nel drive slave sia stata inserita una rampa,per cui ogni volta che cambia il riferimento lìeffetto viene recepito con un certo ritardo.

Link al commento
Condividi su altri siti

Verifica anche che le grandezze di riferimento impostate negli azionamenti e nell'encoder siano le stesse impostate negli assi lato PLC.

Link al commento
Condividi su altri siti

Stefano Fontana
Il 10/6/2023 alle 12:26 , Livio Orsini ha scritto:

 

Direi che è proporzionale al differenziale di velocità, ma questo è corretto.

Se ci fosse un feedforward di velocità ai 2 motori questo ritardo sarebbe molo ridotto.

 

 

Cosa fai? inserisci un offset nelllo slave?

 

si li ho risolto con un offset nello slave 

 

Link al commento
Condividi su altri siti

Stefano Fontana
Il 10/6/2023 alle 15:49 , batta ha scritto:

30 gradi è un'enormità. Ci deve essere qualcosa di sbagliato.

Posso capire un piccolo errore durante i transitori, ma assolutamente non di quell'entità. E, in ogni caso, deve recuperare.
Anche se a Livio non piacciono le funzioni di libreria, ti posso assicurare che lavorano molto, molto bene.

 

Come è configurata la meccanica?
 

 

Ora non sono più dal cliente e mi sono accontentato di metterci un cerotto perché sono convinto anch'io che 30 gradi siano un enormità soprattutto a velocità così ridotte.

Conoscendo poco il sistema non mi sono fidato a toccare guadagni o altro ma sono convinto che ci sia qualche errore o nella parametrizzazione o nella gestione dell'asse.

La meccanica: Motore asincrono il master, con encoder montato nell'albero del riduttore invece lo slave comanda una coclea attraverso il suo riduttore.

All'interno del plc sono stati usati gli opportuni oggetti tecnologici comandati dai rispettivi blocchi MC

Il 10/6/2023 alle 17:25 , beppeconti ha scritto:

Verifica anche che le grandezze di riferimento impostate negli azionamenti e nell'encoder siano le stesse impostate negli assi lato PLC.

ok grazie mille

Link al commento
Condividi su altri siti

Il 12/6/2023 alle 14:40 , Stefano Fontana ha scritto:

Motore asincrono il master, con encoder montato nell'albero del riduttore invece lo slave comanda una coclea attraverso il suo riduttore.

In passato ricordo che c'era una configurazione con un baco. Non ricordo quale fosse nel dettaglio ma, mi pare, si trattasse proprio di assi rotativi con encoder sull'albero lento.
Segnalai il problema a Siemens (che confermò), e spero vivamente che sia stato corretto, ma non ne ho certezza.
A proposito, che versione del TIA stai usando?
Prova a cambiare la configurazione meccanica, impostando l'encoder sull'albero del motore (tenendo conto del rapporto di riduzione del riduttore, ovviamente), e vedi cosa succede.

 

Da capire anche se ti serve veramente un gearin, o se ti basta un controllo in velocità. Chiedo perché, visto che lo slave è una coclea, c'è da capire se trasporta oggetti che devono essere in fase (esempio, bottiglie in una riempitrice), o se si tratta solo di fornire alimentazione proporzionale alla velocità del master.

Modificato: da batta
Link al commento
Condividi su altri siti

11 ore fa, batta ha scritto:

Da capire anche se ti serve veramente un gearin, o se ti basta un controllo in velocità.

 

Il problema è che come ha scritto l'autore della discussione, si è trovato a mettere in marcia un impianto di cui non conosce quasi nulla

 

 

Il 12/6/2023 alle 14:40 , Stefano Fontana ha scritto:

Conoscendo poco il sistema non mi sono fidato a toccare guadagni o altro ma sono convinto che ci sia qualche errore o nella parametrizzazione o nella gestione dell'asse.

 

E una problematica tipica di molte aziende  che producono macchine e/o automazione.

In parecchie realtà c'è un un progettesti che lavora in ufficio tecnico, poi un reparto di collaudo dove si effettuano i collaudi interni, infine c'è un trasfertiusta che va a mettere in marcia l'impianto e, spesso, quando arriva sul posto scopredi cosa si tratta.

La cosa funziona bene se tutto va via liscio; se invece c'è un problema che coinvolge un po' tutto, come in questo caso, cominciano i guai.

Link al commento
Condividi su altri siti

Stefano Fontana
Il 14/6/2023 alle 07:29 , Livio Orsini ha scritto:

 

Il problema è che come ha scritto l'autore della discussione, si è trovato a mettere in marcia un impianto di cui non conosce quasi nulla

 

 

 

E una problematica tipica di molte aziende  che producono macchine e/o automazione.

In parecchie realtà c'è un un progettesti che lavora in ufficio tecnico, poi un reparto di collaudo dove si effettuano i collaudi interni, infine c'è un trasfertiusta che va a mettere in marcia l'impianto e, spesso, quando arriva sul posto scopredi cosa si tratta.

La cosa funziona bene se tutto va via liscio; se invece c'è un problema che coinvolge un po' tutto, come in questo caso, cominciano i guai.

Esatto hai centrato il problema.

Vi ringrazio tantissimo per le risposte (non pensavo sinceramente di ricevere un riscontro così grande). 

In questo periodo non riesco rientrare in officina (non sarei un vero e proprio trasfertista ma quando necessita....) ma vi prometto che appena riuscirò fare qualche test vi aggiornerò sui risultati,

Rispondo per completezza anche a @batta : la macchina è un tappatore quindi con coclea che accompagna bottiglie su una stella quindi è richiesta una buona precisione, Uso Tia17 .

Proverò anche la configurazione da te suggerita. Grazie mille

Link al commento
Condividi su altri siti

1 ora fa, Stefano Fontana ha scritto:

la macchina è un tappatore quindi con coclea che accompagna bottiglie su una stella quindi è richiesta una buona precisione,

Ok, quindi il sincronismo è d'obbligo, non si discute.

Link al commento
Condividi su altri siti

  • 2 weeks later...

Visto la configurazione di default di assi Siemens, hai controllato l’errore di inseguimento sullo slave? 
di default vale 100 unità, questo ti potrebbe creare il ritardo sulla sua posizione di gear e ignorare la posizione master.

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