Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Calcolo Del Diametro Su Un Avvolgitore Con Plc - Esistono esempi gia' esistenti...


Messaggi consigliati

Inserito:

Buongiorno complimenti x il Sito e' un buon punto di riferimento x chi lavora nel mondo dell' Automazione

Avrei una domanda da fare...

Esiste una Macchina classica SVOLGITORE / AVVOLGITORE che prima dell' AVVOLGITORE ha una cella di

carico , la quale mi gestisce tramite un PID generato da un GEFRAN 2301 la velocita' di questo AVVOLGITORE.

Ora io tramite un PLC e un paio di ENCODER , uno calettato sul motore dell' AVVOLGITORE che mi calcola la velocita' angolare del motore e uno che sente il materiale passare x calcolare la velocita' periferica della linea vorrei calcolare il DIAMETRO dell' AVVOLGITORE che ovviamente tende sempre piu' a crescere.

Il materiale ha uno spessore sempre uguale quindi l' incremento e' sempre il medesimo e io devo tramite un pannello operatore inserire il Diametro Iniziale.

Detto questo , qualcuno sa' se esiste un programma x PLC gia' scritto e funzionante magari messo a disposizione da qualche ditta che produce PLC ?

Scheineder e Siemens mi hanno risposto che loro non hanno gia' un qualcosa di pronto.

Ora io non e' che non voglio mettermi da zero a farlo ma con un applicativo CONTROL TECHNIQUES questo l'ho gia' fatto , partendo da un loro applicativo base scaricabile dal loro sito.

Questa volta pero' non POSSO e non VOGLIO cambiare l' azionamento x poterlo fare come gia' in precedenza ma volevo farlo con un PLC.


Inserita:

Ciao, io utilizzo l'S7 200 per comandare lo svolgimento e l'avvolgimento di filo, e funziona bene, bisogerebbe avere qualche dettaglio in piu' per vedere se la mia soluzione puo' funzionare anche pe te.

Inserita:
Esiste una Macchina classica SVOLGITORE / AVVOLGITORE che prima dell' AVVOLGITORE ha una cella di carico , la quale mi gestisce tramite un PID generato da un GEFRAN 2301 la velocita' di questo AVVOLGITORE.

Più della velocità penso sia controllata la coppia

Ora io tramite un PLC e un paio di ENCODER , uno calettato sul motore dell' AVVOLGITORE che mi calcola la velocita' angolare del motore e uno che sente il materiale passare x calcolare la velocita' periferica della linea vorrei calcolare il DIAMETRO dell' AVVOLGITORE che ovviamente tende sempre piu' a crescere.

Devi solo calcolare il diametro? Dov'è il problema?

Vp = ωr

da cui:

d = 2*Vp/ω

dove:

Vp = velocità periferica in m/s

ω = velocità angolare in 1/s (radianti al secondo, se preferisci)

r = raggio in metri

d = diametro in metri

Puoi anche evitare di calcolarti le velocità e ricavare il raggio dalla formula

S = αr

da cui:

r = S/α

dove:

S = spazio misurato nel tempo x

α = angolo (in radianti) misurato nel tempo x

r = raggio in metri

Potresti semplicemente rilevare con cadenza fissa il numero di impulsi dei due encoder (di fatto sono quindi due velocità) e calcolare il diametro nel seguente modo:

d = k * ImpulsiEncoderPeriferico / ImpulsiEncoderAssiale

dove:

d = diametro

k = costante conversione

Una volta calcolata la costante k, tenendo conto delle unità di misura e della corrispondenza in metri ed in radianti degli impulsi degli encoder, hai risolto il problema.

Lo spessore del materiale non è rilevante.

Inserita:

Se conosci esattamente lo spessore lordo del tuo materiale, e questo è costante su tutto l'avvolgimento o, quantomento, le sue variazioni possono rientrare nella precisione richiesta, allora ti basta rilevare la completa rivoluzione dell'aspo e, ad ogni rivoluzione, sommare al diametro il doppio dello spessore lordo.

Questo in teoria, in pratica si usa uno dei metodi che ti ha descritto batta.

Ci sarebbe un'altra via piuttosto precisa, però sarebbe necesario conoscere esattamente come lavora il PID del convertitore. :P

  • 2 weeks later...
Inserita:

molto più veloce, con i due encoder.

Ogni giro del mandrino (lo conosci tramite l'encoder del motore) vedi quanto meteriale è passato sotto l'encoder del materiale.

Un giro di mandrino = circonferenza.

Circonferenza / Pgreco hai il diametro.

Molto più preciso del colcolo delle velocità....

L'endoer sul motore lo puoi eliminare. ci metti un sensore che ti da un goro di mandrino....

  • 2 weeks later...
Inserita:

Ciao Morris

Ho da poco realizzato una linea come la tua con un s7-314

Se hai bisogno ti mando qualche Fc Fb di esempio

ciaooooooooooo

Inserita: (modificato)

ci sono diverse formule , tutt'ora funzionanti ma ritenute poco

affidabili e molto empiriche .

Per calcolare dinamicamente il diametro di un coil di acciaio che si sta

"srotolando " , avevo scritto con dei colleghi una funzione che

calcolava il diametro attuale dopo pochi secondi dall'avvio dell'aspo , senz aintrodurre il

valore di diametro iniziale .

Si basa su di un encoder che misura quanto nastro passa linearmente e

sulla velocita periferica che deve essere continuamente regolata per

ottenere la velocita lineare costante , e altre cosette abbastanza pesanti .

Un sistema piu rapido e simpatico e' quello di caricare a chiusura mandrino

il diametro misurato con un altro sistema particolare.

Insomma tu sai quant' e' il diametro iniziale .

Sai il diametro del mandrino ,lo spessore del nastro , e la velocita lineare che pilota i tuoi drives

in linea .

A questo punto dovresti saper ricavare

quello che vuoi , facendo prove ed ottimizzazioni sulla tua funzione.

Non c'e' bisogno ti dica che per ragioni di segretezza, contratto e cu*o che ci siam fatti

non posso mandarti il codice .

Faresti bene imparare a capire , provare e studiare e tutto ti sara' piu facile e quando avrai

la situazione in pugno sarai piu sicuro e felice

Ciao

walter

p.s.dimenticavo che viene usatio un encoder per il mandrino

Modificato: da walterword
Inserita:
Potresti semplicemente rilevare con cadenza fissa il numero di impulsi dei due encoder (di fatto sono quindi due velocità) e calcolare il diametro nel seguente modo:

d = k * ImpulsiEncoderPeriferico / ImpulsiEncoderAssiale

dove:

d = diametro

k = costante conversione

Una volta calcolata la costante k, tenendo conto delle unità di misura e della corrispondenza in metri ed in radianti degli impulsi degli encoder, hai risolto il problema.

Io continuo a ritenere quello sopra descritto il modo migliore.

La soluzione proposta da Ken è valida, permette di risparmiare un encoder, ma presenta uno svantaggio: quando parto con diametro ignoto devo attendere il secondo giro del mandrino per avere il calcolo corretto e se si lavora a bassa velocità passa molto tempo tra un calcolo ed il successivo.

Con i due encoder ed il calcolo semplicemente basato sulla lettura degli impulsi con cadenza temporale fissa (poniamo i 100 ms di default dell'ob35 di un S7-300), appena il materiale è in tiro, hai subito il calcolo del diametro.

Per il semplice calcolo del diametro mi pare non ci siano segreti di sorta da tirare in ballo, ma solo geometria. Poi, chiaro che ogni applicazione ha proprie particolarità e trucchi per l'ottimizzazione, che ognuno di noi (non io, a dire il vero, che tendo sempre a spiegare nei dettagli i miei lavori) tende a custodire gelosamente.

Inserita: (modificato)
Per il semplice calcolo del diametro mi pare non ci siano segreti di sorta da tirare in ballo, ma solo geometria.

Questo è vero se non ci sono di mezzo slittamenti, ballerini e altri dispositivi che possono alterare in modo significativo la misura.

Io credo di avere una esperienza significativa nei controlli di avvolgitura. Le primie esperienze risalgono a metà degli anni 70 con macchine per lavorazione della lamiera; successivamente ho praticamente avuto esperienze su tutti i tipi di materiali: carta, films plastici, gomma, tessuti, filati, fibre ottiche, funi e cavi con svariati tipi di applicazioni e macchinari. Ho pogettato la prima appliczione tutta digitale per una "piccola" azienda multinazionale di prodotti fotografici: un aggiornamento per 5000 macchine da ispezione per carta fotografica a colori (lavorazione completamente al buio quindi in poratica in assenza di operatori umani).

Sulla base di queste esperienze posso affermare che non esiste l'algoritmo migliore in assoluto. Esiste il miglior algoritmo per un certo tipo di applicazione.

Il calcolo del diametro dell'avvolgimento è indispensabile solo nei controlli di tiro ad anello aperto.

Nei sistemi ad anello chiuso (cella o ballerino) regolati in coppia o in velocità può essere meglio ricavare il valore del diametro dell'aspo, piuttosto che calcolarlo

Modificato: da Livio Orsini
Inserita: (modificato)

Livio, quello che dici è tutto vero.

Qui però si parlava semplicemente di calcolo del diametro, avendo a disposizione un encoder che rileva la velocità periferica ed un encoder che rileva la velocità angolare.

Se poi si parla di mettere in piedi un sistema di avvolgitura/svolgitura con i materiali più vari, chiaro che il calcolo del diametro è solo una piccola parte pel problema.

Questo concetto mi sembrava adeguatamente espresso nella frase:

Per il semplice calcolo del diametro mi pare non ci siano segreti di sorta da tirare in ballo, ma solo geometria. Poi, chiaro che ogni applicazione ha proprie particolarità e trucchi per l'ottimizzazione, che ognuno di noi (non io, a dire il vero, che tendo sempre a spiegare nei dettagli i miei lavori) tende a custodire gelosamente.

Lavorando su macchine da stampa (rotocalco, rotooffset, flessografiche), ti posso assicurare che qualche piccola esperienza di avvolgitura/svolgitura l'ho fatta anch'io :)

Modificato: da batta
Inserita:
Qui però si parlava semplicemente di calcolo del diametro, avendo a disposizione un encoder che rileva la velocità periferica ed un encoder che rileva la velocità angolare.

Senza nessuna intenzione polemica, e senza voler salire in cattedra, non sono del tutto d'accordo con te. Se non ho capito male, tu proponi di effettuare il semplice rapporto delle velocità angolari dell'aspo e del traino, similmente a quanto si è costretti a fare quando si dispone delle sole tachimetriche.

Con questa metodologia la misura del diametro ha molte probabilità di essere affetta da errori che, specialmente a bassa velocità e durante i transitori, possono essere rilevanti.

La misura della quantità del materiale svolto/avvolto durante una completa rivoluzione dell'aspo, già migliora di molto la precisione della misura, senza complicarne l'algoritmo e senza richiedere dispositivi aggiuntivi.

Aggiungici, anche, che la misura del diametro effettuata come rapporto di velocità, non può essere usata per generare il feedforward di un controllo aspo in velocità

Inserita:

Si, è verissimo quello che dice Livio nel post qui sopra.

Concordo anche sul fatto che ogni applicazione ha il suo pregio e il suo difetto e che ogni tipo di materiale avvolto ha un algoritmo che gli si addice di più.

Io tratto lamiera e uso sempre o quasi il rapporto delle velocità anche perchè si è soliti tenere una velocità costante e durante i transitori (mai lunghissimi) il calcolo viene congelato. Bisogna vedere poi la velocità dell'impianto, la scelta di come calcolare il diametro deve tenere conto di questo particolare e mon solo, io tengo conto anche della gamma di velocità di lavoro. Se posso lavorare a 10mt/min e a 300mt/min con la stessa macchina un algoritmo potrebbe avere grossi problemi (come ha già detto Livio).

Penso che sia opportuno calcolare il diametro in due modi diversi. Il metodo descritto da me sopra ha il difetto dell'attesa del primo giro senza conoscere il diametro iniziale ma per il primo giro potrei ad esempio utilizzare Vomega/Vl.

Inserita:
Senza nessuna intenzione polemica, e senza voler salire in cattedra, non sono del tutto d'accordo con te. Se non ho capito male, tu proponi di effettuare il semplice rapporto delle velocità angolari dell'aspo e del traino, similmente a quanto si è costretti a fare quando si dispone delle sole tachimetriche.

Tutto dipende da cosa si deve realizzare, ma calcolare il diametro confrontando il numero di impulsi fatto dall'encoder periferico con il numero di impulsi fatti dall'encoder angolare nello stesso intervallo di tempo, non mi pare abbia queste grandi controindicazioni. Certo, il calcolo è valido solo se i dati letti sono validi. Se l'encoder periferico misura quanto materiale è passato dopo una eventuale ansa fatta dal materiale stesso, oppure dopo un ballerino in movimento, chiaro che avrò un calcolo errato. Ma in questo caso avrò un calcolo errato anche se effettuo il controllo sulla rotazione completa. O sbaglio?

A basse velocità, quindi con pochi impulsi, si avranno errori maggiori. Si possono sempre filtrare le misure. In ogni caso, è da vedere in base all'applicazione se è peggio avere un dato non precisissimo o non averlo affatto.

Come può essere necessario congelare la misura in certe situazioni, si può sempre campionare ad intervalli maggiori a basse velocità.

Poi (neanch'io ho intenzione di essere polemico, sia chiaro) non stiamo parlando di "generare il feedforward di un controllo aspo in velocità", ma solo di calcolare un diametro.

Inserita:
...Poi (neanch'io ho intenzione di essere polemico, sia chiaro) non stiamo parlando di "generare il feedforward di un controllo aspo in velocità", ma solo di calcolare un diametro.

Partendo da qui. Nemmeno io parlavo di generazione di feed forward, cito l'inconveniente solo come ulteriore minus.

La misura di un diametro campionando ad intervalli di tempo fissi i due ecoders, in altri temini eseguendo una misura delle velocità, e facendone il rapporto ha alcuni difetti. Il principale consiste nell'intervallo di tmepo scelto: se è corretto per velocità medio alte risulta scarsa precisione alle basse velocità; al contrario se si sceglie un intervallo sufficientemente lungo da garantire buona precisione alla basse velocità alle alte velocità risulterà un aggiornamento troppo lento della misura. Inconveniente particolarmente fastidioso con diametri piccoli e con spessori di materiale non trascurabili. Si potrebbe ipotizzare un tempo di campionamentovariabile in funzione di due o tre gamme di velocità. Però è molto più semplice effetture la misura ad ogni rotazione, o frazione di questa, dell'aspo. la precisione risulta indipendente dalla velocità e c'è un adeguamento automatico della precisione alla variazione del diametro. Se poi si vuole analizzare anche la complesità del codice, necessario per scrivere le due funzioni, la funzione basata sulla rotazione dell'aspo può avere addirittura un codice più semplice, come più semplice può essere anche il materiale impiegato. Al limite è sufficiente solo un proximity ed un encoders, in luogo di due encoders.

Poi, dato che fortunatamente viviamo in un paese ancora sufficientemente libero, ognuno è libero di usare la soluzione che più gli gusta ( o preferita dal cliente :rolleyes: )

Inserita:

La soluzione perfetta per tutte le applicazioni non esiste. Questo lo sappiamo tutti. Si tratta di valutare quale soluzione sia migliore caso per caso. Con la rilevazione del diametro con impulso ad ogni rotazione ci si potrebbe trovare, in caso di basse velocità e diametro bobina elevato, con aggiornamento del diametro ad intervalli di tempo anche di parecchi secondi. Bisogna valutare caso per caso se questo ritardo è accettabile oppure no.

Io non voglio sostenere che la soluzione con due encoder sia sempre la migliore, ma non potete neanche sostenere il contrario. Molto dipende anche da cosa si è disposti a spendere. Se al cliente sta bene usare due encoder, io preferisco usare due encoder. Se il cliente vuole risparmiare, vada per il proximity.

Riguardo poi il calcolo con materiali di grosso spessore, col proximity ti trovi ad avere, ad ogni giro, un incremento del diametro a gradini. Maggiore è lo spessore, più grande è il gradino. Il diametro calcolato inoltre sarà il diametro medio dell'ultimo giro, non il diametro effettivo al momento della misura. Questo potrebbe essere ininfluente, potrebbe essere un vantaggio, ma potrebbe anche dare fastidio. Tutto dipende da come verrà utilizzato il diametro calcolato.

Sul fatto poi che il codice per gestire un solo encoder sia più semplice del codice per gestirne due, posso anche essere d'accordo. Più semplice però non vuol sempre dire migliore.

Inserita:
Con la rilevazione del diametro con impulso ad ogni rotazione ci si potrebbe trovare, in caso di basse velocità e diametro bobina elevato, con aggiornamento del diametro ad intervalli di tempo anche di parecchi secondi

Non è detto che debba essere una rivolizione completa, può anche essere una frazione. La rivoluzione completa è obbligata solo se si usa un proximity sull'aspo. Daltro canto è questione di precisione; se fai il rapporto impulsi, con basse velocità di linea sei costretto ad avere tempi lunghi per avere una precisione decente.

Bisogna valutare caso per caso se questo ritardo è accettabile oppure no.

Come sopra: è una questione di precisione.

Riguardo poi il calcolo con materiali di grosso spessore, col proximity ti trovi ad avere, ad ogni giro, un incremento del diametro a gradini. Maggiore è lo spessore, più grande è il gradino.

No! Trovi l'incremento reale. La variazione del diametro non può essere una funzione continua. E' sempre una funzione discreta con il quanto minimo pari al doppio dello spessore lordo. Questo perchè il materiale si deposita a strati il cui spessore è pari allo spssore del materiale più l'intercapedine di aria. Il gradino è reale. Chi realizza controlli per queste tipologie di materiali deve tenerne conto nelle regolazioni, proprio per evitare il gradino di regolazione (esistono alcuni metodi classici per ovviare l'inconveniente). Il diametro medio non è una misura reale.

Lo scopo che ni sono prefisso con i miei messaggi, partendo dalla domanda originaria, era aprire una specie di dibattito sulle metodologie di misura del diametro degli avvolgimenti. Peccato che, salvo qualche intervento spot, siamo solo in due a dibattere. :)

Inserita:

io di solito uso comunque il calcolo del diametro interno al drive (dove è integrato) altrimenti utilizzo alcuni FC che abbiamo fatto in ufficio.

Preferisco utilizzare quello integrato perchè nelle mie applicazioni può andare bene quello. Certo altre applicazioni richiedono un occhio di riguardo. Se vogliamo però cercare il pelo nell'uovo dico anche che bisogna stare attenti a che CPU utilizziamo e che programma ci gira dentro.

Utilizzando S7 315 ad esempio ho solo un ob di schedulazione utilizzabile e con software abbastanza grossi e con una bella rete si arriva anche a 30ms di scansione. Su macchine lenter il mio calcolo può essere lento ma su macchine veloci?

Morale che ripeto ad ogni applicazione c'è la sua funzione ottimale.

Inserita:
Utilizzando S7 315 ad esempio ho solo un ob di schedulazione utilizzabile e con software abbastanza grossi e con una bella rete si arriva anche a 30ms di scansione. Su macchine lenter il mio calcolo può essere lento ma su macchine veloci?

Questo non è un problema. All'interno di OB35 puoi richiamare alcune subroutine ad ogni esecuzione, ed altre ogni n esecuzioni.

Eventuali ritardi nell'esecuzione dei calcoli ci sono anche se la subroutine è richiamata su evento, per esempio da un ingresso di interrupt.

Lo scopo che ni sono prefisso con i miei messaggi, partendo dalla domanda originaria, era aprire una specie di dibattito sulle metodologie di misura del diametro degli avvolgimenti. Peccato che, salvo qualche intervento spot, siamo solo in due a dibattere. smile.gif

Bene, temevo che le mie risposte fossero interpretate in tono polemico, invece vedo che è stato recepito correttamente il senso della discussione.

Quando continuo a rispondere ho spesso paura che questo venga interpretato come voglia di avere l'ultima parola a tutti i costi. Invece le continue risposte indicano solo interesse :) Poi, se tutti avessimo la stessa testa, se tutti avessimo vissuto le stesse esperienze, se tutti la pensassimo nello stesso modo, non rimarrebbe niente su cui discutere. Che noia sarebbe :annoyed:

Inserita:

prova a pensare se poi eravamo tutti uguali

....che tristezza

:(

Inserita:

Vi ringrazio x le risposte e le varie soluzioni , ritengo che il mio problema sia un problema che

per forza si deve essere presentato ad un certo numero di programmatori o comunque a chi fa'

impianti di automazione , in quanto ci sono molti campi che utilizzano il tandem AVVOLGITORE-SVOLGITORE.

Ora sicuramente il calcolo del Diametro non e' una cosa impossibile da calcolare e si possono seguire piu'

strade pero' non capisco una cosa ...

Perche' chi fa' AZIONAMENTI mette gia' a disposizione un Software base mentre chi fa' PLC no ???

Con l' azionamento della Control Techniques ho usato il programma Standard che faceva gia' il calcolo (va' bene che ho poi dovuto modificarlo un po' per renderlo piu' preciso) quindi i vari ritocchi mi hanno portato via

poco tempo.

:)

Inserita:
Perche' chi fa' AZIONAMENTI mette gia' a disposizione un Software base mentre chi fa' PLC no ???

perchè la funzione "controllo avvolgitore" è uno standard consolidato da decenni per i costruttori di convertitori, anche se prima si usavano schede e schedine opzionali, mentre non lo è per i PLC.

Poi bisogna fare molta attenzione alle funzioni standard, perchè essendo standard non possono essere ottimizzate per prestazioni al limite. Stesso discorso vale, ad esempio, per le funzioni PID integrate nei PLC.

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