Jump to content
PLC Forum


Cip77

Encoder incrementale modifica quota all'accensione.

Recommended Posts

Cip77

Ciao a tutti,

un cliente mi ha segnalato che su una macchina con 4 encoder assoluti, tutti marca Heidenhain e tutti collegati al Sinumerik tramite SMC20, due di questi, dopo aver spento la macchina dal quadro, alla sua riaccensione trovano le quote variate di poco (prendendo ad esempio quello rotativo, una delle rilevazioni è stato 56.43° allo spegnimento e 56.75° alla riaccensione).

Abbiamo escluso problematiche meccaniche: con il comparatore, l'asse non si è spostato di un centesimo. Elettricamente "dovrebbe" essere tutto a posto; ma anche se non lo fosse sarebbe strano che il problema si presenti solo alla prima accensione, mentre per il resto del giorno l'encoder funziona perfettamente.

Una delle ipotesi fatte da Heidenhain è che, per qualche motivo, alla prima accensione l'encoder abbia un disturbo, che viene rilevato dal CN, e che questo pregiudichi poi il resto delle letture. La soluzione proposta è stata quella di alimentare gli encoder per primi e poi ritardare l'accensione del CN.

A tal proposito io avrei le seguenti domande:

- se fornisco subito il 24V agli SMC20 e ritardo di (diciamo) due secondi il 24V al CN, può funzionare? La tensione agli encoder arriva dagli SMC20, per cui a mio parere direi di sì,

- c'è un modo, che ovviamente non conosco, per fare la stessa cosa a livello software invece che hardware? Un ritardo all'inizializzazione, una reinizializzazione, o altro?

- passando dal CN io non ho trovato il modo, ma se mi salvo la quota allo spegnimento, c'è un modo per forzarla alla riaccensione? Anche se la cosa è assurda visto che uso encoder assoluti proprio per ovviare a questa cosa!

 

Grazie in anticipo per l'eventuale aiuto!

Claudio.

Link to comment
Share on other sites


drn5

Provato a scambiare gli encoder "malati" con i due "sani". Il problema segue gli encoder o i canali?

Link to comment
Share on other sites

Cip77

Si hanno provato, sembra non sia legato agli encoder ma ai canali. Non ricordo però se a suo tempo è stato provato anche a scambiare gli SMC20 ... il problema è stato rilevato e affrontato circa 6 mesi fa e poi messo in pausa. Ora sono tornati alla carica, per cui sto andando a memoria e appunti.

 

Claudio.

Link to comment
Share on other sites

lucios

Visto anche che è passato del tempo e come dici tu, stai andando a memoria, prima di fare strani esperimenti, io consiglierei di riverificare il tutto e cioè: scambiare gli encoder, scambiare gli SMC20 e vedere cosa succede.

Eventualmente dare anche una controllata ai cavi dei rilevatori che siano stati fatti a regola d'arte anche se mi sembra strano.

Ma poi, dopo aver rilevato l'errore cosa succede? Se muovi l'asse le quote si ripristinano o rimane sempre fuori di quell'errore rilevato all'accensione? Perchè, a rigor di logica, se un encoder è assoluto, rileva la quota angolare senza bisogno di riferimenti di zero.

Link to comment
Share on other sites

Cip77

SCUSATE ... chiedo umilmente perdono, ma ho detto una castroneria immensa ... gli encoder sono incrementali!!!!!!!!! Sono stancoooooo.

 

Hai tempi delle prove è stato provato tutto: sia lo scambio degli SMC20, sia la sostituzione degli encoders e dei cavi di collegamento. 

Gli assi in questione sono manuali, e l'errore rimane anche dopo il movimento (si parla comunque di piccoli movimenti).

 

Claudio.

 

P.s. ho chiesto se è possibile modificare oggetto e descrizione del primo messaggio.

 

 

Link to comment
Share on other sites

lucios
Quote

... gli encoder sono incrementali

Ok, ma la quota in che modo viene mantenuta tra un spegnimento e la riaccensione successiva? Lo dico da profano perchè non conosco gli SMC20 e mi baso su esperienze con altri sistemi.

Con i rilevatori incrementali i casi sono 2: o si deve rifare la procedura di presa origine ad ogni accensione oppure il sistema (PLC o CNC) memorizza in una qualche memoria tamponata l'ultima misura letta.

In questo secondo caso però, un errore di quote all'accensione potrebbe avvenire nel caso vengano rilevati impulsi fasulli; però, da quanto ne so, dovrebbero essere impulsi in fase (a proposito: che segnali escono dagli encoder?) altrimenti treni di impulsi a caso tipici dei disturbi elettromagnetici, dovrebbero mandare in allarme il sistema.

Il problema si ripresenta sempre o è random? Le misure fasulle lette sono costanti o variano?

Link to comment
Share on other sites

Livio Orsini

Modificato il titolo.

 

Se sono encoders incrementali si dovrà salvare la quota prima dello spegnimento, come avviene il salvataggio?

Un'ipotesi probaile è e che il salvataggio faccia riferimento ad una quota salvata prina dello spegnimento

Link to comment
Share on other sites

Cip77

 

27 minuti fa, Livio Orsini ha scritto:

Modificato il titolo.

Grazie Livio!

 

La macchina è stata fatta dal mio predecessore il quale ha impostato gli encoders come assoluti nel Sinumerik. Non essendoci nulla che salva e ripristina la quota nel PLC, immagino che l'operazione la svolga il Sinumerik.

 

35 minuti fa, lucios ha scritto:

Il problema si ripresenta sempre o è random? Le misure fasulle lette sono costanti o variano?

Si presenta sempre alla prima accensione con valori sempre piccoli ma non uguali.

 

Claudio.

Link to comment
Share on other sites

Livio Orsini
4 ore fa, Cip77 ha scritto:

Non essendoci nulla che salva e ripristina la quota nel PLC, immagino che l'operazione la svolga il Sinumerik.

 

 

Io non conosco Sinumerik; bisognerebbe leggere il manuale per capire come salva la quota. Per sembra che ci sia un ritardo nel salvataggio

Link to comment
Share on other sites

batta

Se gli encoder sono assoluti, il sinumerik non dovrebbe salvare proprio nulla.
Per dire, se sposto un encoder assoluto a macchina completamente spenta, alla riaccensione devo leggere la posizione reale della macchina.
Io cercherei le cause nella configurazione dell'encoder: singolo giro, multigiro, numero di bit, ecc.

Link to comment
Share on other sites

Livio Orsini
14 ore fa, batta ha scritto:

Se gli encoder sono assoluti, il sinumerik non dovrebbe salvare proprio nulla.

No c'è stato un errore

20 ore fa, Cip77 ha scritto:

SCUSATE ... chiedo umilmente perdono, ma ho detto una castroneria immensa ... gli encoder sono incrementali!!!!!!!!! Sono stancoooooo.

 

 

Link to comment
Share on other sites

Cip77
15 ore fa, batta ha scritto:

Se gli encoder sono assoluti, il sinumerik non dovrebbe salvare proprio nulla.
Per dire, se sposto un encoder assoluto a macchina completamente spenta, alla riaccensione devo leggere la posizione reale della macchina.
Io cercherei le cause nella configurazione dell'encoder: singolo giro, multigiro, numero di bit, ecc.

Come ha detto Livio, mi sono sbagliato: gli encoders sono incrementali.

Il fatto è che ci sono altre macchine, fatte con lo stesso sistema che funzionano perfettamente. Quindi c'è un qualche problema, che non riesco ad identificare.

Link to comment
Share on other sites

batta
1 ora fa, Livio Orsini ha scritto:

SCUSATE ... chiedo umilmente perdono, ma ho detto una castroneria immensa ... gli encoder sono incrementali!!!!!!!!! Sono stancoooooo.

Mi era sfuggito.

 

Link to comment
Share on other sites

Cip77

Tornando per un attimo al mio problema, che non è la mia precoce demenza senile 🙂, ma quello dell'encoder ... io, seguendo anche quanto detto da Heidenhain, mi ero concentrato sul fatto che il problema fosse all'accensione ... di conseguenza l'idea di anticipare l'alimentazione degli encoders rispetto a quella del CN/PLC. Ma Livio mi ha fatto riflettere sul fatto che l'errore potrebbe verificarsi allo spegnimento ... in entrambi i casi, dovrei cercare di mettere una pezza nel minor tempo possibile (tipo quella dell'alimentazione differenziata) e poi, con calma, andare a cercare il vero problema e risolverlo.

Link to comment
Share on other sites

lucios

Mah, la prova di accender il Sinumeric in ritardo non serve a nulla perchè, in ogni caso, c'è già un ritardo dovuto dal boot del sistema. Però, per toglierti il dubbio (prova stupida), non riesci a staccare il connettore di alimentazione del Sinumeric, accendere l'impianto e poi attaccare il connettore, facendo tu da timer?

Link to comment
Share on other sites

Cip77

Appena posso far fare delle prove vi aggiorno. Per ora grazie a tuti,

Claudio.

Link to comment
Share on other sites

Cip77

Ciao a tutti,
in previsione di andare dal cliente per fare le dovute verifiche e cercare di capire dove nasca il problema, mi sono preparato un piano B, nel caso non riuscissi a risolvere la situazione.

 

In sintesi ho fatto questo:
- configurato l'encoder in modo che sia liberamente gestibile come valori di reference (MD34200 = 0 e MD34210 = 3),
- da PLC leggo e salvo la posizione dell'asse in un DB,
- alla prima accensione chiamo la mia procedura di calibrazione che ripristina il valore salvato.

 

Nello specifico, la procedura di calibrazione:
- legge il valore salvato nel DB,
- fa il login come costruttore sul CN,
- scrive il valore salvato nel DB nel parametro MD34100 (è per questo che mi devo loggare),
- seleziona l'asse da referenziare,
- attiva il JOG e REF. POINT,
- preme il pulsante + della MCP483 (qui, al momento, non ho trovato un metodo migliore),
- disattiva REF. POINT,
- riseleziona il primo asse (solo estetico),
- fa il logout del CN.

 

Tutto questo provato su un Sinumerik in laboratorio e sembra funzionare bene.

 

Riporto queste informazioni in quanto un paio di esperti del mondo Siemens, mi avevano detto che non era possibile gestire un encoder facendo quello che ho fatto io, quindi se qualcuno, per qualsiasi motivo, si dovesse trovare a dover(voler) fare una calibrazione manuale di un encoder incrementale collegato ad un SMC20, sa che si può fare.


Inoltre vorrei avere anche un vostro parere e se avete qualche esperienza/idea da proporre per migliorare la procedura di taratura (più che altro la parte della pressione del pulsante +, che non mi piace nemmeno un po').

 

Come ultima cosa, nel caso mettessi in macchina questa modifica e se il problema, come suggerito da Livio, si verificasse allo spegnimento avrei la necessità di scartare gli ultimi valori salvati. Potrebbe andar bene salvarmi il valore letto in un array e, o periodicamente o ogni X cicli, salvare nel DB non l'ultimo valore letto, ma il primo salvato?

 

Grazie per ora,

Claudio.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...