Vai al contenuto
PLC Forum


Posizionamento Preciso Con 313-C


JumpMan

Messaggi consigliati

Salve, mi è stato richiesto di fare 3 posizionamenti usando una cpu 313-C con questi dati:

Vel. max. asse = 133mm/sec.

Precisione richiesta 0.1mm o migliore

Con gli encoder incrementali (già acquistati) abbiamo:

Risoluzione = 0.013mm/impulso

Durata impulso tacca 0 alla max.velocità = 0.2ms

f.max = 4.8kHz

Premetto che per i posizionatori che ho fatto in passato ho sempre usato dei motion controller dedicati o CN.

Solo quando era richiesta la precisione del millimetro ho usato cpu 31x-C, per altre applicazioni più precise l'ho usata solo una volta con encoder assoluto profibus.

Ora veniamo alla domanda:

Come fareste voi per fare l'azzeramento?

- Se scelgo il gate HW la scheda mi azzera il conteggio ad ogni giro encoder (è possibile neutralizzare il gate HW dopo lo zero-point via software?)

- Se scelgo il gate SW e leggo la tacca Z con un ingresso normale rischio di perderla per strada, a meno che non vado lentissimo in uscita dal fine-corsa quando cerco la tacca.
Avevo pensato questa soluzione, non so se è usuale:

- Scelgo il gate SW

- Imposto nell'HW l'interrupt su fronte di salita per i 3 ingressi delle tacche 0 dei 3 encoder

- Imposto nell'HW il ritardo ingresso al minimo (0.1ms) , serve ?

- Nell'OB40 richiamo gli SFC47 per l'impostazione del gate e l'azzeramento degli encoder (ma basta 1 solo ciclo? SFC47 è anche in OB1 e dopo 1 ciclo ricommuta il gate)

- Ovviamente a zero point effettuato escludo gli interrupt

Modificato: da JumpMan
Link al commento
Condividi su altri siti


Gianmario Pedrani

Devo verificare ma credo che la 313c abbia già qualche posizionatore, dovrebbe essere nelle impostazioni della CPU.

Link al commento
Condividi su altri siti

Vado a memoria ma per utilizzare le SFB per il posizionamento si dovrebbe utilizzare la 314-C .

Prova a dare un'occhiata a questo manuale Siemens a pag. 23 Capitolo 3 "Positioning with Analog Output" .

Credo che questo tipo di posizionamento sia comunque limitato ad 1 asse retroazionato da Encoder Incrementale .

Però hai la gestione completa dell'asse con posizionamento in anello chiuso (il che è decisamente comodo).

Se devi utilizzare una 313-C , credo tu debba costruirti via software qualcosa che assomigli ad un controllo di posizione in anello chiuso.

Di discussioni sull'argomento specifico se ne sono fatte parecchie in passato (prova a fare una ricerca) e un iscritto al forum riusci anche a fare delle interpolazioni (non con una 313-C ma credo con una 315) .

Non hai specificato che hardware utilizzeresti per muovere i motori (azionamento + tipo di motore) .

bigalex :blink:

Modificato: da bigalex
Link al commento
Condividi su altri siti

Grazie per le risposte, avevo già visto in rete quel manuale relativo alla 314, anche se è molto comodo avere un sfb già pronto all'uso per fare il posizionamento preferirei farmi i miei FB che posso modificare all'occorrenza, ho già qualcosa di pronto.

La ragione per cui è stata scelta la 313, oltre che economica, è che ci sono 3 assi da muovere e comunque con la 314 se non sbaglio ne posso muovere solo 1.

Comunque la mia domanda riguardava la sequenza di azzeramento encoder, per i quali voglio valutare la tacca di zero e non semplicemente il fronte di un finecorsa e chiedevo nello specifico la metodologia da utilizzare sperando che qualcuno avesse già provato.

Link al commento
Condividi su altri siti

Gianmario Pedrani

Se é una questione di prezzo monta in plc 1200 che ora con firmware 4.1 riesci a fare posizionamenti ad anello chiuso... Oppure monta un 1500 che ti permette di fare anche assi elettrici..

Ciao.

Link al commento
Condividi su altri siti

Grazie ma per il momento non abbiamo intenzione di acquistare il Tia . Ma questi nuovi plc gestirebbero 3 posizionamenti con la scheda base o ci vorrebbero espansioni dedicate ? In questi secondo caso dubito che il prezzo rimanga inferiore

Link al commento
Condividi su altri siti

Il posizionamento di tre assi (non interpolati) lo dovresti fare già con una CPU S7-1211 (costo sull'ordine dei 150 euro).

Con una 1212 dovresti fare 4 assi (circa 200 euro), con una 1214 6 assi (circa 300 euro).

Frequenza massima impulsi encoder mi pare 30 kHz.

Data la scarsa espandibilità delle 1211 e 1212, consiglierei di partire almeno da una 1214.

Visto il rapporto prezzo/prestazioni di queste CPU (e la serie 1500 costa meno della serie 300), non so se ritardare il passaggio al TIA sia una mossa conveniente.

Link al commento
Condividi su altri siti

Oramai questo progetto è in stato avanzato e non si può più cambiare cpu, oltre a questi 3 assi gestiti in analogica c'è una quarta analogica e parecchia altra roba, passare al 1200 e al TIA non significa solo comperare una cpu da 300 euro e una licenza da nonsoquanto, significa anche rifare il progetto da 0 o quasi, o comunque perdere del tempo che non ho...

Mi piacerebbe quindi sapere chi ha usato il 300 fino a ieri come ha fatto gli azzeramenti, questa era la domanda del topic, se non ottengo risposte pazienza, tra alcuni giorni mi arriveranno gli encoder e potrò provare a smanettarci...

Link al commento
Condividi su altri siti

Oramai questo progetto è in stato avanzato e non si può più cambiare cpu

Questo lo immaginavo. Il mio era solo un consiglio per il futuro. TIA Portal può piacere o meno, ma la strada è obbligata. È solo una questione di tempo. Potrai rimandare il passaggio a TIA, ma non potrai evitarlo.

Detto questo, quello che serve a te è il manuale CPU31xC_TF_it-IT.pdf

La gestione dei contatori la puoi fare direttamente tramite le word di ingresso ed uscita, oppure (più semplice) usando SFB47.

Link al commento
Condividi su altri siti

Grazie batta, immagino che prima o poi dovrò caderci dentro, ma per il momento preferisco di no a meno che un cliente non lo richieda specificatamente , come hardware ci sono anche altre alternative valide...

Per quanto riguarda l azzeramento so che posso usare un gate Hw o Sw , io voglio usare il gate Hw sulla tacca di zero dell encoder, ma non mè chiaro se posso abilitare o disabilitare a piacere il gate Hw . Tu lo hai mai fatto?

Link al commento
Condividi su altri siti

Un gate hardware (gate HW). L'utilizzo del gate HW può essere impostato nelle

maschere di progettazione. Esso viene aperto da un fronte di salita nell'ingresso digitale

"Gate HW" e si richiude con un fronte di discesa.

Questo è quanto c'è scritto nel manuale.

Non puoi quindi utilizzare la tacca di zero per aprire il gate perché, appena la perdi, il gate si richiude.

Credo di non aver mai usato i contatori veloci della 313c.

Per usare la tacca di zero per azzerare il conteggio ti conviene collegare la tacca di zero su un ingresso che configurerai come ingresso di interrupt.

All'interno dell'interrupt potrai caricare il valore desiderato nel contatore con l'apposito comando. Oppure, se hai configurato il contatore per il riavvio del conteggio all'apertura del gate, apri il gate software (con gate hardware disabilitato).

Link al commento
Condividi su altri siti

dovresti vedere come risponde il sistema per le tempistiche ...

Io comunque il segnale di azzeramento lo porterei anche nel plc

In effetti la cpu 313 non sembra che faccia chissa che cosa a livello di posizionamento .

Potresti realizzarlo tu via software , se non e' un asservimento non dovresti trovare particolari difficoltà.

A livello sw puoi gestire meglio le accelerazioni , decel ect senza dover parametrizzare al volo la scheda sempre che lo permetta

Mi ricordo che le FM354 facevano pena su questo punto di vista , non potevi cambiare il set point al volo perche non lo prendeva finche non finiva il posizionamento

E siccome dovevo regolare la posizione avendo come eedback le celle di carico , ho dovuto inventare di far posizionare gli assi con motori stepper a zero aggiungendo la correzione utensile

La correzione utensile la potevi cambiare al volo e in pratica gli assi si posizionavano in base a quello avendo set point a zero .....il manuale conteneva degli errori e parravicini all'assistenza non c'e' piu per cui ....

i contatori veloci della 313 sono una sorta di scheda FM350 per conteggi veloci incorporata .Sul DB di interfaccia leggi il conteggio dopo averla opportunamente parametrizzata .

Io farei che leggi il contatore degli impulsi e ad ogni scansione ne ricavi il delta controllando che non sia maggiore di 1000 impulsi in valore assoluto , cosi se passi per lo zero o altre porcherie te ne freghi e ti tieni il tuo bel conteggio assoluto a prescindere da quello che fa la scheda .Il delta impulsi lo sommi al tuo contatora di impulsi del tale asse e lo azzeri quando dici te da software.Calcoli i mm con un rapporto meccanico che fai su scalatura e sei a posto .

Per il posizionamento fai la finestrella variabile , se il motore ha i freni o se l'inverter permette di rimanere in coppia anche a velocità zero tanto meglio , e sei a cavallo -

Per cui dopo aver constatato vibrazioni , distruzioni meccaniche se vai troppo veloce o posizionamenti fuori finestra deduci il tutto

Che motori usi nel impianto ?

Modificato: da walterword
Link al commento
Condividi su altri siti

Mi ricordo che le FM354 facevano pena su questo punto di vista , non potevi cambiare il set point al volo perche non lo prendeva finche non finiva il posizionamento

E siccome dovevo regolare la posizione avendo come eedback le celle di carico , ho dovuto inventare di far posizionare gli assi con motori stepper a zero aggiungendo la correzione utensile

E' proprio per questo che preferisco farmi il software piuttosto che utilizzare gli SFB giganteschi di Siemens, è vero che funziona tutto subito con le soluzioni preconfezionate, ma quando devi cambiare una virgola trovi sicuramente degli intoppi.

I motori sono normali asincroni 3ph con inverter, dato che sono molto ridotti (demoltiplicati) non credo ci siano grossi problemi.

Modificato: da JumpMan
Link al commento
Condividi su altri siti

ti conviene fartelo da solo , ti fai tu dei blocchetti FC con posizionamente e relativo fedback di asse in posizione e ti regoli tutte le velocità ect

I tempi son quelli , se la meccanica e' buona puoi rimanere nel mm

Link al commento
Condividi su altri siti

Recentemente ho fatto una foratrice con velocità di traslazione 150 mm/s.

Il PLC era un Omron.

Per il posizionamento ho usato una funzione sviluppata per S7-300 (in AWL) e tradotta, per l'occasione, in testo strutturato.

Con rampe da 30 mm il limite della precisione era dato dai pochi impulsi encoder: 200 impulsi/giro su pignone da 32 denti modulo m1. Moltiplicando gli impulsi x4 --> 1 impulso = 0,126 mm.

Col PLC si possono fare dei posizionamenti non certo paragonabili a quelli di un CNC, ma comunque ottimi per molte applicazioni.

Modificato: da batta
Link al commento
Condividi su altri siti

dipende tutto dalla meccanica e dal azionamento

Quando facevo i controlli numerici , se l'asse era mal fatto o se la vite senza fine faceva schifo potevi mettere quello che volevi che faceva ssempre schifo

Se i giochi meccanici non erano costanti potevi memorizzarli in intervalli predefiniti e tenerli in considerazione ma se il ferro era fatto male c'era poco da fare

Ovviamente i costruttori imprenditori meccanici pensano che con l'elettronica si possano ovviare tutti i problemi di natura meccanica

Link al commento
Condividi su altri siti

Ho visto applicazioni ON-OFF con 2 teleruttori che posizionano un movimento con la precisione del decimo di mm in cui c'erano dei giochi meccanici ma c'è da dire che posizionava sempre nella stessa direzione.

Se faccio un posizionamento che oscilla attorno al punto di arrivo posso arrivare preciso sul valore dell'encoder, sul display visualizzerà la quota perfetta ma si avranno sicuramente errori dovuti ai giochi meccanici... forse è meglio arrivare sempre nella stessa direzione, fare la rampa fino a velocità minima e fermarsi un po' prima sperando che l'inerzia sia costante... se la velocità minima è molto bassa l'inerzia dovrebbe tendere a zero e le sue variazioni dovrebbero essere ininfluenti...

Magari mi sto facendo seghe mentali, non ho ancora visto la meccanica, comunque è già una buona cosa che l'encoder sia sulla vite senza fine e non sull'albero motore (che risentirebbe anche dei giochi del riduttore), io avevo proposto un encoder lineare (che quindi bypassava tutti i giochi perchè leggeva la quota reale) ma non lo hanno voluto per problemi di sporco.

Modificato: da JumpMan
Link al commento
Condividi su altri siti

Giuseppe Signorella

Ovviamente i costruttori imprenditori meccanici pensano che con l'elettronica si possano ovviare tutti i problemi di natura meccanica

Sante parole, e la cosa peggiore che c'è gente che fa elettronica e lo pensa nello stesso modo. :senzasperanza:

Ho visto applicazioni ON-OFF con 2 teleruttori che posizionano un movimento con la precisione del decimo di mm in cui c'erano dei giochi meccanici ma c'è da dire che posizionava sempre nella stessa direzione.

Ho visto posizionamenti idraulici a due velocità, dove la curva di decelerazione e posizionamento è calcolato sul tempo di transizione tra la prima velocità (alta) e la seconda velocità (bassa). In pratica il pistone arriva in alta velocità nei pressi del posizionamento, si chiude la valvola meccanicamente per passare in bassa velocità (il tempo che impiega a chiudersi la valvola lentamente) viene considerato come tempo di decelerazione, e poi prosegue in bassissima velocità fino a posizionarsi.

Link al commento
Condividi su altri siti

  • 2 weeks later...

Aggiornamento, ho fatto la prova al banco girando a mano 1 encoder e l'azzeramento su tacca Z funziona, a patto di non girare a più di 1 giro / secondo circa, penso comunque che la ricerca tacca la farò molto più lentamente.

Ho fatto come avevo scritto nel 1° post e funziona, si può mettere il richiamo di SFC47 in OB40 che viene ciclato solo una volta con gate FALSE su fronte della tacca Z (l'encoder si azzera) in OB1 c'è il richiamo di SFC47 con gate TRUE che abilita il conteggio.

Ora devo accantonare il progetto in attesa che finiscano la parte meccanica...

Link al commento
Condividi su altri siti

Aggiornamento, ho fatto la prova al banco girando a mano 1 encoder e l'azzeramento su tacca Z funziona, a patto di non girare a più di 1 giro / secondo circa

Non hai usato un ingresso di interrupt?

Link al commento
Condividi su altri siti

Si, ho messo la spunta per l'interrupt sui 3 ingressi Z dei 3 encoder, OB40 cicla a patto di non far correre troppo velocemente l'encoder, tieni presente che l'encoder è un 3600 impulsi giro, facendolo girare a un giro al secondo (misura spannometrica a occhio) l'interrupt intercetta il fronte e OB40 parte, facendolo girare più veloce no.

Per la macchina non ci sono problemi perchè l'encoder è montato sulla vite senza fine e 1 giro / sec. corrisponde a una velocità discreta, la ricerca tacca la farò più lentamente.

Suppongo che gli ingressi anche se trattati come interrupt abbiano un seppur minimo ritardo fisiologico anche se nella scheda della configurazione HW ho settato il minimo possibile (0.1ms).

A 1 giro/secondo la tacca di zero dura solo 1/3600" = 0.28ms

Modificato: da JumpMan
Link al commento
Condividi su altri siti

  • 4 weeks later...

Sono rimasto stupefatto dalla precisione ottenuta da questi posizionamenti che tra l'altro sono effettuati con inverters monofase !

Ho ottenuto una precisione e ripetitibilità che rimane entro i +/-0.03mm, anche con rampa decelerazione di soli 20mm, quindi sono più che soddisfatto :)

Link al commento
Condividi su altri siti

Gianmario Pedrani

Ottimo io ho fatto delle prove con il posizionamento ad anello chiuso di un plc 1200 con firmware 4.1 e devo dire che funziona molto bene.. Ed é anche molto semplice da realizzare.....

Link al commento
Condividi su altri siti

  • 1 month later...

JumpMan,

prova ad utilizzare la fase Z negata dell'encoder incrementale su l'ingresso del PLC per l'azzeramento del valore di conteggio con fronte di discesa

Ho notato un notevole miglioramento in prestazioni...

La configurazione tipica che utilizzo per le mie macchine

S7-313C con 88IN - 64OUT - 2AO Encoder 3600Imp --> tempo di scansione max 7 ms

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