Vai al contenuto
PLC Forum


Errore con Gearing


leleviola

Messaggi consigliati

Sto utilizzando le istruzioni di Geraing con posizionamento per realizzare tre assi sincroni abbinati a un master derivante da encoder esterno, ho creato gli oggetti tecnologici sincroni abbinati al contatore master, il master è un modulo consistente in un cilindro diviso a sua volta in due nel modulo, gli assi asserviti solo lineari, uno però è asservito solo in velocità gli altri due fanno un Homing iniziale e l'asservimento è fatto con un istruzione MC_GearingPOS che permette di stabilire in che posizione gli assi vanno in sincronia fatto il percorso di sincronia i due assi tornano alla posizione iniziale in attesa di un'altra sincronia derivante dal modulo master. Non ho molta esperienza in merito, il tutto è fatto con 1500T e V90, comunque non riesco a far funzionare l'asservimento di uno dei due assi lineari, mi da sempre errore di Sincronizzazione e errore di dettaglio 608, da cosa dipende questo errore? è una questione di tarartura dell'asse tecnologico e dei vari parametri di guadagno e controllo della posizione secondo voi?

Link al commento
Condividi su altri siti


Alla funzione MC_GearingPos, cosa passi come "SyncProfileReference", "MasterSyncPosition", "SlaveSyncPosition" e "MasterStartDistance"?

Che valore assume "Error_id"?

Link al commento
Condividi su altri siti

2 ore fa, batta scrisse:

Alla funzione MC_GearingPos, cosa passi come "SyncProfileReference", "MasterSyncPosition", "SlaveSyncPosition" e "MasterStartDistance"?

Che valore assume "Error_id"?

SyncProfileReference =1

MasterSyncPosition = 0.1

SlaveSyncPosition" = 0

 

ma MasterStartDistance cosa rappresenta? Non ho capito molto da manuale Siemens, daltronde sono molto avari di spiegazione,

e l'errore è 608, lo avevo scritto anche sopra comunque l'asse si muove un ottimo e poi va in errore di sincronizzazione, fatta la messa in servizio anche degli azionamenti con relativa ottimizzazione e messa in servizio e pure la messa in servizio dell'oggetto tecnologico relativo ma quando lo mando in automatico non vuole saperne di muoversi, o meglio si muove pochissimo e va in errore di sincronizzazione, di sicuro è qualcosa mal impostato nella taratura dell'asse probabilmente.

L'asse lo muovo tranquillamente con la messa in servizio manuale ma in automatico non riesco a fare Gearing, di sicuro è colpa delle mie errate impostazioni

Link al commento
Condividi su altri siti

Non trovo il codide di errore 608, per questo ho chiesto. I codici di errore cominciano tutti con 8xxx in esadecimale.
MasterStartDistance è a quale distanza dal punto di sincronizzazione si deve cominciare a muovere l'asse per sincronizzarsi.
Ma le quote che indichi come MasterSyncPosition e SlaveSyncPosition mi fanno sorgere un dubbio: non devi usare MC_GearingPos, ma MC_Gearing.
MC_GearingPos è il classico sincronismo per un taglio al volo: l'asse master è in movimento e, ad un certo punto, l'asse slave parte per sincronizzarsi con il master alle quote impostate. Ovviamente, queste quote dovranno essere compatibili con la dinamica dell'asse.

 

immagine.png.52ee7f78edb2414eadc0b5e58fee6066.png

 


Se, invece, vuoi solo agganciare un asse per fare un albero elettrico, devi usare MC_Gearing.
Con MC_Gearing, quando dai l'execute agganci i due assi. Chiaramente, se il master è già in movimento e lo slave è fermo, lo slave si muoverà con i limiti della dinamica impostati e, prima di raggiungere il sincronismo, ti troverai con un errore di inseguimento. Generalmente, si attiva il sincronismo con gli assi fermi. Poi, lo slave segue il master, con il rapporto di riduzione impostato.

Link al commento
Condividi su altri siti

vado a memoria, non ho adesso il TIA sottomano, l'errore è 8001 poi nella struttura dell'asse tecnologico trovi ErrorDetail e poi il Number, ciò si ha quando l'errore codificato è un 8001.

Gli assi slave che ho sono tre, uno è già configurato e funzionante con un MC_Gearing ed è appunto asservito al master in velocità, gli altri due sono asserviti al Master in posizione e quindi diciamo "al volo", il pratica ogni giro dell'asse master ho due cicli di posizionamento al volo da fare agli altri due slave che poi torneranno in posizione 0 ogni volta che il Gearing viene terminato e in pratica i due Slave devono asservirsi al Master in una precisa posizione in mm del Master. Il problema è che uno dei due slave fa già il Gearing col Master, l'altro non riesco a farlo lavorare in asservimento, parte per un attimo e perde e da errore di Sincronizzazione dalla Diagnostica o forse manco comincia a farla. L'asse che non riesco a far lavorare in automatico ne ho fatto anche la Messa in Servizio provando dall'asse tecnologico un movimento repentino manuale e quindi come dinamica ci dovrei essere, è che non mi va in Gearing. Non ho molta esperienza in materia e devo farmela

Link al commento
Condividi su altri siti

Ok, nel dettaglio, l'errore 608 indica "Stop with maximum dynamic values". Lo slave, per agganciarsi al master, che è già in movimento, ha bisogno di un certo spazio che, evidentemente, non ha.

Mi pare di capire che gli assi siano assi rotanti e, immagino, stai lavorando con modulo 360°.
Tu stai dicendo allo slave che, quando il master si trova in posizione 0.1°, lui deve essere in posizione 0.0°, già sincronizzato con il master.

Ma se lo slave, in posizione 0.0 è fermo, come fa, dopo, sempre in posizione 0.0 essere già alla stessa velocità del master? Per farlo, dovrebbe avere un'accelerazione infinita.
'Sto povero slave ha bisogno di un certo spazio per poter accelerare. Se parte da posizione 0.0, non può essere già sincronizzato nella stessa posizione.
Tanto per farmi un'idea, quali sono le velocità in gioco? In quale posizione del master devi assolutamente essere sincronizzato?

 

3 ore fa, leleviola scrisse:

uno è già configurato e funzionante con un MC_Gearing ed è appunto asservito al master in velocità

Il gearing è sempre un controllo di posizione. Lo slave va alla stessa velocità del master (se il rapporto è 1:1) perché segue la posizione del master.

 

3 ore fa, leleviola scrisse:

Il problema è che uno dei due slave fa già il Gearing col Master, l'altro non riesco a farlo lavorare in asservimento

Qui non riesco a capire cosa intendi.

 

3 ore fa, leleviola scrisse:

ho due cicli di posizionamento al volo da fare agli altri due slave che poi torneranno in posizione 0

Ognuno dei due slave fa due cicli per ogni giro del master? Non riesco a capire bene il ciclo che devi fare.

Hai provato a valutare anche la soluzione con la camma al posto del gearing?
 

Link al commento
Condividi su altri siti

Il modulo è il master che è appunto un cilindro e il modulo è dato dalla metà dello sviluppo del cilindro, sviluppo cilindro 259mm, il modulo è 259/2,

il sincronismo parte con gli slave fermi e comincia a attivare il Gearing, un asse dei due slave va in gearing, l'altro no, quindi l'asse che va in gearing parte da fermo e dopo una certa distanza va in gearing e ciò viene segnalato dall'uscita relativa InSink dell FB MC_GearingPOS, quello che non capisco cosa è il MasterDistance, è la distanza impostata affinchè l'asse possa mettersi in gearing col Master? In questo caso da fermo alla posizione/velocità del Master, non vorrei che questa distanza sia troppo breve e l'asse non ce la fa ad andare in Gearing oppure MasterDistance è altro, scusami ma non capisco cosa sia questa distanza.

Scusami batta ti ho detto un'inesattezza il MasterSincPosition è 85mm mentre SlaveSincPosition è 0, quindi alla posizione 85 del Master parte la fase di sincronizzazione dello slave, è ovvio che a sincronizzarsi all'asse slave occorre un transitorio ed è questo che è possibile fare altrimenti il Gearing sarebbe continuo, ciò immagino sia possibile compatibilmente con le tarature dell'asse

Link al commento
Condividi su altri siti

Sicuro di non aver impostato, nell'asse che funziona, SyncProfileReference = 0 ?

In questo caso, l'asse si sincronizza usando i parametri della dinamica dell'asse, e non le distanze.
Oppure questo asse ha dei parametri della dinamica diversi, oppure è disabilitato o molto elevato l'errore di inseguimento.

 

Ora faccio qualche test col simulatore.

Link al commento
Condividi su altri siti

ll profilo di sincronizzazione è 1,

i parametri di dinamica sono diversi perchè spostano carichi diversi,

provo a modificare i parametri di dinamica e l'errore d'inseguimento e vedere se riesco a migliorare,

la cosa strana è che dopo la Messa in servizio fatta su V90 e Oggetto Tecnologico in movimento di test l'asse è molto reattivo

anche se è un banale movimento manuale quindi non retroazionato con tutti controlli del Geraing il movimento manuale è reattivo e veloce

anche perchè l'asse muove senza riduzione una vite passo 5mm avendo il carico attaccato diretto

Link al commento
Condividi su altri siti

10 minuti fa, leleviola scrisse:

provo a modificare i parametri di dinamica e l'errore d'inseguimento e vedere se riesco a migliorare,

Ma il problema sono i parametri: l'asse parte da posizione zero e, in posizione zero, dovrebbe essere già sincronizzato con il master.
Come MasterStartDistance, cosa hai impostato?

Questo è praticamente lo spazio a disposizione (del master) per l'aggancio dell'asse.

Se questo spazio è troppo piccolo, l'accelerazione è troppo elevata.

Domanda: lo slave ha possibilità dio muoversi un po' in negativo?
Col simulatore ho visto che, se lo slave parte da quota zero e SlaveSyncPosition è zero, impostando un valore in MasterStartDistance, lo slave prima si muove in negativo, in modo da avere spazio per potersi sincronizzare a quota zero.

La soluzione ideale per avere un aggancio senza brusche accelerazioni, dato che lo slave parte da fermo, dovresti dare allo slave uno spazio doppio rispetto a quello percorso dal master per l'aggancio.

Esempio:
- Posizione di partenza dello slave: 0.0

- MasterSyncPosition: 10.0

- SlaveSyncPosition: 5.0

- MasterStartDistance: > 10.0

 

Oppure, se vuoi che lo slave si sincronizzi alla stessa quota del master:
- Posizione di partenza dello slave: -5.0

- MasterSyncPosition: 5.0

- SlaveSyncPosition: 5.0

- MasterStartDistance: > 10.0

 

Per agganciarsi al master con un moto uniformemente accelerato, in teoria lo slave deve avere a disposizione il doppio dello spazio necessario per raggiungere la velocità del master.
Poi, visto che le rampe sono ad S, questo spazio in realtà aumenta (di quanto, dipende da cosa c'è impostato come Jerk).

MasterStartDistance la dovresti poter impostare anche più elevata di quanto serve, perché non tutto lo spazio viene utilizzato se non serve.
Questo parametro definisce quanto prima del punto di sincronismo (del master) viene abilitata la funzione di sincronismo (MC_GearInPos.StartSync = TRUE).
Se non ti crea problemi di altro tipo, questo parametro può essere impostato "abbondante".
Io, generalmente, lo imposto ad un valore dal 120 al 140 % dello spazio (del master) che servirà allo slave per agganciarsi.

 

La cosa importante per avere un movimento fluido, come detto, è che lo slave abbia sufficiente spazio per accelerare. Lo spazio ideale è quello che ti permette di avere un moto uniformemente accelerato: l'asse parte da fermo, ed accelera fino alla velocità del master). Se questo spazio viene ridotto, lo slave dovrà superare la velocità del master, e poi rallentare.

 

Esempio di trace con i seguenti valori:

- Velocità master: 40 mm/s

- Posizione di partenza dello slave: 0.0 mm

- MasterSyncPosition: 0.0 mm

- SlaveSyncPosition: 0.0 mm

- MasterStartDistance: 10.0 mm

immagine.thumb.png.392b8b2e58bdcbfb2cbc572baaa46c3b.png

 

Se, invece, voglio sincronizzarmi con master e slave a quota 0.0 (ma lasciando ancora spazio per il sincronismo, ecco cosa succede:

Esempio di trace con i seguenti valori:

- Velocità master: 40 mm/s

- Posizione di partenza dello slave: 0.0 mm

- MasterSyncPosition: 0.0 mm

- SlaveSyncPosition: 0.0 mm

- MasterStartDistance: 10.0 mm

immagine.thumb.png.30cd0bbef807b2b5f218a5d9878ccfa8.png

Come vedi, per potersi sincronizzare in posizione zero partendo da posizione zero, lo slave, 10 mm prima del raggiungimento della posizione di sincronismo del master, inizia a muoversi indietro. E, se questo movimento indietro non ti crea problemi, potrebbe andare bene.

 

Il problema sorge invece se riduci troppo MasterStartDistance. In questo caso (non allego il trace, ma fidati 😉 ) l'accelerazione dello slave raggiunge picchi molto alti.
Io sto provando con il simulatore e, comunque, funziona, ma con il carico reale collegato, probabilmente no.

 

Ecco un trace con i seguenti parametri:

- Velocità master: 40 mm/s

- Posizione di partenza dello slave: 0.0 mm

- MasterSyncPosition: 2.0 mm

- SlaveSyncPosition: 2.0 mm

- MasterStartDistance: 3.0 mm

immagine.thumb.png.996c114b46b0a6057224c7c4351ffdb5.png

Sempre da verificare, ovviamente, se con la reale inerzia del sistema funziona.
Lavorando con l'asse master "modulo", il sistema si comporta in modo intelligente, e il movimento dello slave inizia quando il master sta completando il giro precedente.
Puoi partire con velocità del master basse, e tenere sotto controllo la coppia del motore.

 

Link al commento
Condividi su altri siti

Grazie batta, purtroppo i manuali Siemens non sono affatto chiari, sono invece molto più chiari i loro video, ho trovato quello del caso e mi è molto più chiaro tutto, 

purtroppo non capivo bene cos'era il MasterStartDistance e basta capire quello per capire tutto in funzionamento della fase di sincronizzazione, purtroppo sto mettendo mano su un progetto fatto da altri e devo farlo funzionare, più tardi do un occhio più approfondito su quello che dici e in effetti dopo aver visto il video capisco di più quello che mi dici, purtroppo spesso faccio più affidamento ai manuali ma nel caso Siemens spesso non sono molto chiari, come dice il buon detto "meglio un'immagine che cento parole" comunque un enorme grazie batta

Link al commento
Condividi su altri siti

1 ora fa, leleviola scrisse:

purtroppo i manuali Siemens non sono affatto chiari

A me non sembrano peggiori degli altri.

Link al commento
Condividi su altri siti

2 ore fa, batta scrisse:

A me non sembrano peggiori degli altri.

Si si è vero, non per riaccendere diatribe ma spesso non sono molto chiari e spesso merita più mettersi a provare fisicamente le funzioni piuttosto che leggere i manuali, eh va beh fa parte del mestiere, grazie di nuovo

Link al commento
Condividi su altri siti

  • 2 weeks later...

Ciao leleviola,

hai risolto il problema dell'errore di sincronizzazione 608?

Io mi trovo nella tua stessa situazione.

Quello che ho letto nella discussione è molto interessante e chiaro, ma credo che il problema di quell'errore nasca da un altro punto.

Il GearinPos della Siemens, per il calcolo dell'aggancio, presume che in questa delicata fase la velocità del master sia costante.

Se il master è un encoder esterno con una ruota metrica sul materiale che scorre e magari ha pochi impulsi/giro ed in più nella fase di aggancio il master stesso è in rampa, l'errore viene fuori molto facilmente.

Una possibilità è filtrare la velocità letta da encoder dentro all'ultima pagina della configurazione dell'oggetto tecnologico "encoder esterno", ma questo filtro toglie le vibrazioni, non eventuali variazioni di velocità macroscopiche.

Io sto pensando di trovare un trucco per non sganciare mai l'asse elettrico, ma in una punzonatrice con fori a qualsiasi distanza non è facile.

Se qualcuno ha qualche ulteriore suggerimento è il benvenuto.

 

Link al commento
Condividi su altri siti

45 minuti fa, Ricky_59 scrisse:

Il GearinPos della Siemens, per il calcolo dell'aggancio, presume che in questa delicata fase la velocità del master sia costante.

Non mi risulta che ci sia questo limite.

Link al commento
Condividi su altri siti

  • 4 weeks later...

scusate se rispondo solo adesso ma la situazione l'ho risolta sia con l'aiuto dei consigli di batta che con l'ausilio di un video Siemens che mi ha aiutato a capire meglio a cosa corrispondevano i parametri dell'FB Siemens GearingPos. Infatti il mio problema era capire a cosa corrispondeva il parametro MasterStartDistance, la parametrizzazione corretta dei parametri è fondamentale. Ho dovuto in un primo momento liberare gli assi dalla meccanica e muovere l'asse Master a mano e tutto si è spiegato anche tramite il video Siemens, in pratica l'asse slave se parte da fermo deve avere lo spazio per agganciarsi all'asse Master che anche se ha variazioni di velocità non crea problemi, quello che è fondamentale che l'aggancio dell'asse slave sia possibile con la meccanica che sia ha sulla macchina. Nel mio caso siccome io andavo a mettere mano su un software non fatto da me la situazione si complicava ulterioremente e mi veniva detto che con certi parametri l'aggancio funzionava, in realtà era stato impostato il parametro MasterStartDistance a una valore troppo piccolo e l'asse Slave non aveva la possibilità fisica di effettuare un'accelerazione quasi infinità affinche potesse agganciarsi all'asse master con la distanza del Master impostata. Il fatto che il movimento del Master sia caratterizzato da un movimento non costante può essere un aggravante ma non un problema rilevante, l'importante che ci sia la possibilità fisica di fare l'aggancio alle velocità che si ha sull'impianto. Sulla tua problematica non saprei cosa consigliarti

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