Vai al contenuto
PLC Forum


Controllo Valvola Proporzionale


LucaF95

Messaggi consigliati

Salve a tutti,
sono uno studente e sto realizzando una piccola automazione per fini didattici, ma non avendo molte conoscenze con la parte analogica del plc ho qualche problema. Posseggo un plc Zelio SR3B261BD con estensione SR3XT43BD e programmo con linguaggio FBD, devo controllare una valvola proporzionale la quale comanda l'uscita di un pistone pneumatica in varie posizioni durante il ciclo (Esempio : inizio ciclo pistone fuori di 2 cm a metà ciclo esce di 5 cm per poi tornare a 2 cm senza mai arrivare a finecorsa), e nell'automazione che intendo realizzare devo fare in modo che la corsa del pistone si fermi in 3 diverse posizioni.
Il professore mi ha consigliato di realizzare 3 Set Point con tre numeri corrispondenti alle 3 posizioni, attraverso un mux far passare il Set Point relativo alla posizione desiderata in quel momento a questo punto ha schematizzato un nodo sommatore dove entra il Set Point e un generatore, il tutto ha detto di moltiplicarlo per un fattore K e poi andare all'uscita. Ma cosa significa ? Inoltre come a capire quando il pistone ha raggiunto la posizione desiderata per passare al comando successivo?
Sapreste spiegarmi un po meglio cosa intende? Oppure voi fareste in un altro modo ?
Spero di essere stato chiaro nel presentare il problema!
Grazie in anticipo a chi mi da una mano..
Link al commento
Condividi su altri siti


Ciao Luca

Sinceramente non ho capito , le valvole proporzionali che conosco , regolano la pressione in uscita in base ad un segnale 0-10V . Il tuo cilindro , ha una forza resistente applicata oppure no ?

Link al commento
Condividi su altri siti

Se parli di setpoint, mi viene da pensare che tu abbia una sorta di retroazione. Ma dove? E soprattutto, come?

Tu chiedi a noi come capire se il cilindro è arrivato alla posizione voluta per dare il via al ciclo successivo ... Sinceramente se non hai sensori o retroazione di mezzo, non saprei come( ma potrebbe benissimo essere un mio limite ) .

Sei sicuro che il cilindro sia pneumatico e non idraulico?

Link al commento
Condividi su altri siti

allora.. è un pistone pneumatico che lavora al contrario (con stelo bloccato) e sulla parte mobile è presente un braccio, se la valvola riceve 5 Volt il braccio resta fermo da 5 a 10 V, va a destra aumentando la velocità in prossimità di 10 V, mentre da 5 a 0 V va a sinistra.

il braccio muovendosi a destra e a sinistra fa capo ad un trasduttore di posizione.. penso io debba fare riferimento a quello per vedere se è arrivato in posizione..

ma come mettere assieme tutte le cose nel programma ?

ps. perdonatemi l'ignoranza in materia..

Link al commento
Condividi su altri siti

Ecco, finalmente ha fatto capolino qualche dato in piu, ma ne mancano ancora per poterti dare delle risposte esaurienti..

Trasduttore di posizione: che tipo?

E soprattutto, come scambia le informazioni con lo zelio?

Link al commento
Condividi su altri siti

Se ikl trasduttore di posizione è un potenziometro lineare, è abbastanza facile da leggere e da gestire.

Se non ci dai TUTTE le informazioni necessarie, non possiamo aiutarti.

Devi darle tutte assieme, non possiamo strappartele con la torura un poco alla volta. ;)

Link al commento
Condividi su altri siti

mi scuso..

il trasduttore è un potenziometro, esso andrà collegato all'ingresso analogico del plc ..

il professore mi ha suggerito di sottrarre al set point la posizione voluta e moltiplicare poi questo per un coefficiente K per poi andare all'uscita che pilota la valvola, una volta che l'errore è 0 il braccio si fema...

mentre nell'altra uscita dovrei tenere 10V fissi per la stabilità..

ma cosa è questo K ? e come realizzare questo in zelio con FBD ?

perdonatemi ma di questa materia so poco e sto cercando di capirne qualcosa :(

Grazie per l'interesse !

Link al commento
Condividi su altri siti

Se posso permettermi,non hai scelto un argomento facilissimo da trattare,vista la tua conoscenza in materia che mi sembra di capire è ancora pochina..

Solitamente si parte prima dalle basi,logica digitale...poi una volta assorbito questo si passa alle analogiche.

Parli di professore,quindi presumo sia un esercizio scolastico. Qui i casi sono due: o hai un professore che non si spiega molto bene,oppure mentre lui spiegava tu ti facevi gli affari tuoi,ed adesso hai l'acqua alla gola e vuoi aiuto :lol: .

il professore mi ha suggerito di sottrarre al set point la posizione voluta

Il setpoint E' la posizione voluta...Forse intendeva che dovresti calcolarti l'errore di posizione (setpoint - quota rilevata dal trasduttore) ed in base a questa pilotare la valvola in modo che l'errore tenda a zero(ma a zero non ci arriverà a meno che tu non implementi anche un controllo integrale).

In pratica tu hai un segnale 0..10 v in arrivo al tuo plc ,che in base ad una oppurtuna costante,si traduce in una quota lineare. Ora puoi effettuare una ingegnerizzazione del tuo valore(per trasformare i volt in mm ad esempio,e come lo puoi sapere solo tu,visto che ti ostini a tenerci segreti i dati dei tuoi elementi). Fatto questo,sottrai questo valore al setpoint e ti calcoli l'errore. In base a questo errore piloterai la valvola verso la posizione voluta.Prima di preoccuparmi del linguaggio mi preoccuperei di mettere insieme quanti piu dati possibili...più dati fornisci,più noi riusciamo ad aiutare senza che ci venga la gastrite acuta ;)

Link al commento
Condividi su altri siti

Attenzione , l'attuatore si ferma con 5v , non con 0 , quello che ti ha detto il professore è corretto , sottrai dal set il valore reale , poi moltiplichi per un valore ( un vulgaris blocco NUM ) e a quello che ti ritorna sommi 5 . Quindi quando la differenza tra set point e valore posizione è 0 , ti ritrovi con 5V in uscita e il pistone si ferma . A questo punto avendo set-reale=0 possiamo passare al secondo posizionamento del braccio .

Aloha

Link al commento
Condividi su altri siti

il professore mi ha suggerito di sottrarre al set point la posizione voluta e moltiplicare poi questo per un coefficiente K per poi andare all'uscita che pilota la valvola, una volta che l'errore è 0 il braccio si fema..

Il professore ti ha suggerito un controllo di posizione proporzionale puro.

Quel professore dovrebbe tornare a scuola!

Un proporzionale puro non azzera mai l'errore, non solo ma l'errore a transitorio esaurito non sarà mai eguale, quindi non puoi nemmeno annullarlo in modo surrettizio dando un offset al valore di consegna.

Un controlo di posizione decente prevede almeno un regolatare che lavora in proporzionale ed integrale.

Non solo, essendo il tuo trasduttore un cilindro idraulico, le variazioni di riferimento di velocità devi necessariamnente darle non a gridino, ma con un minimo di rampa, onde evitare un colpo d'ariete nel circuito idraulico.

Ti consiglio di leggere il mio tutorials sulle regolazioni, lo trovi nella sezione didattica, sottosezione elettrotecnica. Il link alla sezione didattica lo trovi nella mia firma. Il tutorial ha la teoria ridotta all'essenziale. Se non ricordo male negli esempi allegati c'è un programma di posizionamento eseguito con un PLC S7-214 (vecchissimo come il programma :smile: ). Il traduttore è analogico, anche se è un LVDT (gli spostamenti son piccoli). L'attuatore è un grosso pistone idraulico (si tratta di una pressa).

Per curiosità stai preparando l'esame di maturità o è un esame universitario?

quello che ti ha detto il professore è corretto

Assolutamente no, e le ragioni le ho spiegate in precedenza.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

essendo il tuo trasduttore un cilindro idraulico

Forse Livio intendevi attuatore?

è un pistone pneumatico

comanda l'uscita di un pistone pneumatico

devo ancora capire di che pistone si parla. Se è la valvola proporzionale che intendo io il pistone dovrebbe essere idraulico!

Link al commento
Condividi su altri siti

mi scuso se non ho più risposto.. adesso però sono riuscito ad avere qualche numero.. collegando il plc con modulo di espansione descritti sulla prima domanda ho potuto leggere i valori del trasduttore in ingresso che voglio. In pratica il ciclo che intendo realizzare prevede che il braccio parta da una posizione dove in ingresso il trasduttore mi da 568 poi devo pilotare la valvola in modo che il braccio vada nella posizione 49, prenda un pezzo e ritorni alla posizione 568 per sganciarlo. Ho testato la valvola ed è molto sensibile, già con 5.2V o 4.8 si muove sensibilmente.

Come potrei realizzare il programma in FDB per realizzare questo ?

ps. No livio con un mio amico abbiamo recuperato una vecchia stazione festo e per curiosità personale stiamo provando a metterla in funzione, e ho provato a chiedere ad un professore.. :)

Link al commento
Condividi su altri siti

Non credo che Zelio sia il dispositivo adatto per fare un controllo di posizione con valvola proporzionale.

Accantonando momentaneamente il dispositivo di controllo, vediamo come si deve fare il controllo.

Presumo che quei numeri che hai dato siano i counts di A/D corrispondenti al trasduttore lienare, ma anche se così non fosse, non avrebbe molta importanza.

La tensione che dai alla valvola non corrisponde alla posizione dell'attuatore, ma alla sua velocità. E' una valvola a zero centrale e 5 V corrispondono allo zero; più ti discosti da questo valore più la valvola apre in un senso o nell'altro con conseguente aumento della velocità del pistone.

Un buon metodo per "farsi le ossa" potrebbe essere quello di dare un 5V fisso a cui sovrapporre la tensione variabile che fa da riferimento di velocità. Se l'uscita del D/A dello zelio la fai passare attraverso un partitore 1/10 puoi regolare più finemente la velcoità.

Il metodo più grossolano consiste nell'incrementare a piccoli step la velocità, sino a metà dello spostamento programmato, poi ridiminuire sempre con quella pendenza, la velocità.

Si realizzerebbe una sorta di profilo di velocità triangolare.

In questo modo potresti capire meglio come ottimizzare il tutto e, soprattuto, i limiti del tuo sistema.

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