Scrim76 Inserito: 10 novembre 2011 Segnala Inserito: 10 novembre 2011 (modificato) Buongiorno, come già scritto in vari post quà e là e in messaggi privati (ma pensavo più giusto e corretto aprire una discussione apposita) vorrei , per ora solo come studio per imparar la programmazione di PLC , automatizzare la gestione di uno sbarramento fluviale.Lo sabarramento è così composto :N° 06 paratoie ad apertura idraulica (comando ad olio);N° 01 sonda di livello invaso;N° 01 sistema compressore/pompe/valvole per la movimentazione delle paratoie;Quindi nessuna sonda che mi misura l'apertura delle paratoie.Lo sbarramento che vorrei automatizzare non ha sfioratori naturali ed è per questo che c'è installato un regolatore di livello automatico (ormai vecchio e non sempre funzionante).Ora abbiamo già installato una sonda ad ultrasuoni con campo 0...5mt uscita 4..20mA però (ho già un convertitore 4..20mA - 0..10V per collegarlo direttamente al PLC 1214C) ma non pensavo di utilizzare sonde di apertura sulle 6 paratoie ma di basarmi solo sul livello e veder incremento/decremento.. nel senso che prendo (ogni tot secondi) il livello di invaso e ne faccio la differenza con il Set Point , questa differenza la uso come base per i tempi da dare a due temporizzatori che andranno rispettivamente a far lavorare le uscite che comandano chiusura/apertura delle paratoie a seconda che la differenza Livello - Set point sia positiva (comandano apertura) o negativa (comandano chiusura), quindi senza l'uso di PID (che non conosco molto bene). Naturalmente se la differenza è minima il regolatore non effettua operazioni (questo per evitare continui pendolamenti sulle uscite).Probabilmente la cosa più corretta sarebbe installare trasduttori di posizione sulle paratoie e poi far fare al PLC una serie di calcoli sul grado di apertura totale da dare alle paratoie in base all'incremento/decremento ma in mc di invaso, tenedo conto anche del tempo di vasca o cose simili, usando però una tabella dove mi riporta la capienza dell'invaso in mc in rapporto all'altezza dell'invaso e altre tabelle dove mi riportano la portata in scarico dalle varie paratoie a diversi gradi di apertura e diverse altezze dell'invaso.. ma così andrei sicuramente a complicarmi la vita anche perchè non so se è possibile "inserire" nel PLC queste tabelle perchè non sono delle rette ma delle curve e magari non ne esiste la rispettiva operazione matematica.. magari si potrebbe fare in modo che sia il PLC ad interrogare un Database esterno su PC.. per me è fantascienza..Il tutto poi sara "visionabile/comandabile" da uno scada locale (semplice pannellino) e magari remoto (PC).Mi sa che proverò come pensavo all'inizio anche se forse un po da Manovale invece che da Tecnico.. cosa ne pensate?Qualcosina ho già "messo giù" , magari stasera se riesco vi allego la stampa in pdf (ho visto ora che gli allegati che potavo fare son passati da 30k di ieri sera a 250k quindi dovrei riuscir a starci come "peso" del file)Ciao.Saluti a tutti. Modificato: 10 novembre 2011 da Scrim76
Livio Orsini Inserita: 10 novembre 2011 Segnala Inserita: 10 novembre 2011 Probabilmente la cosa più corretta sarebbe installare trasduttori di posizione sulle paratoieQuesta sarebbe la soluzione ottimale.La soluzione minima prevede fine corsa di paratoia tutto aperto e tutto chiuso.Nel secondo caso la regolazione sarebbe più grossolana ma anche molto più semplice.Ipotizzo, a grandi linee, una possibile soluzione.Condizione iniziale: paratoie tutte chiuse.Al raggiungimento/superamento di un certo livello si comanda l'apertura di una paratoia. Trascorso un tempo X, se il livello è aumentato, si apre una seconda paratoia, e così a seguire. Se il livello rimane stabile si lascia la configurazione attuale; se il livello scende sotto un certo valore si chiude una paratoia.Come miglioramento si può effettura un controllo sulla derivata del livello, in funzione di questa variabile si anticipa l'apertura o chiusura delle paratoie.
Scrim76 Inserita: 10 novembre 2011 Autore Segnala Inserita: 10 novembre 2011 (modificato) Si scusate in effetti mi son dimenticato di dire che come ingressi ho anche i finecorsa di massima apertura e massima chiusura di tutte le paratoie (più altri che servono per regolar la pressione del circuito di comando, ma questi non centrano con il sistema di regolazione livello).Ora non ho sottomano le tabelle ma se dovessi aprire al massimo una paratoia ( errore mio non indicarlo prima ) con massimo invaso mi pare che scaricherebbe qualcosa come qualche decina di metri cubi.. appena trovo la tabella ve lo indico, comunque si tratta di portate considerevoli che mi farebbero pendolare notevoltmente l'invaso anche in caso solo di lievi incrementi , mi serve quindi aver delle regolazioni intemedie senza installare troppi trasduttori (ma il top penso quindi almeno su tre paratoie e lavorar con quelle, poi comunque in caso di guasto e di situazione meteorologiche particolari lo sbarramneto viene comunque presidiato).Saluti. Modificato: 10 novembre 2011 da Scrim76
baltimora Inserita: 10 novembre 2011 Segnala Inserita: 10 novembre 2011 (modificato) Se vuoi farti un buon controllo sulla portata del flusso di acqua devi necessariamente gestire l'apertura delle paratoie, è quindi capire quanto deve aprirsi la paratoioa. Pertanto ritengo indispensabile un trasduttore che possa darti la giusta posizione della paratoia. Come trasduttore puoi utilizzare un potenziometro a filo, o un potenziometro a pistone, che sono sistemi di facile gestione software ed conomici.non so se è possibile "inserire" nel PLC queste tabelle perchè non sono delle rette ma delle curve e magari non ne esiste la rispettiva operazione matematicaCredo che non ci siano problemi ad inserire nel PLC delle tabbelle, quindi valori da confrontare tra loro, e neanche far fare al PLC qualche operazione matematica. Modificato: 10 novembre 2011 da baltimora
Livio Orsini Inserita: 10 novembre 2011 Segnala Inserita: 10 novembre 2011 Se non dai tutti i dati le risposte possono anche essere senza senso.
Scrim76 Inserita: 10 novembre 2011 Autore Segnala Inserita: 10 novembre 2011 Se non dai tutti i dati le risposte possono anche essere senza senso...mea culpa..in effetti non avevo specificato il tutto.Buon proseguimento.Saluti
Scrim76 Inserita: 10 novembre 2011 Autore Segnala Inserita: 10 novembre 2011 (modificato) Vi allego quello che ho fatto fin'ora....Simulandolo con potenziometri e relè sembra funzionare.. però spero di riuscir a provarlo in campo magari collegandolo ad un serbatoio al quale collegar in uscita una saracinesca motorizzata o qualcosa del genere..Accetto qualsiasi consiglio.. soprattutto per migliorarne la forma.. non ho capito bene le differenze tra OB-FB e cosa sono i Blocchi DB..Grazie a tutti e buon proseguimento Modificato: 10 novembre 2011 da Scrim76
Scrim76 Inserita: 10 novembre 2011 Autore Segnala Inserita: 10 novembre 2011 Allego la seconda parte :
Scrim76 Inserita: 12 novembre 2011 Autore Segnala Inserita: 12 novembre 2011 ..ho trovato alcuni errori.. nella dichiarazione di variabili penso di aver "sovrapposto" alcune aree di memoria... M0.0 con MD0 e M20.0 con MD20...Ho inteso giusto ?Saluti
Scrim76 Inserita: 12 novembre 2011 Autore Segnala Inserita: 12 novembre 2011 Durante lo svolgimento del programma mi è sorto un problema.. anzi più che un problema sicuramente è qualcosa che devo capire su come lavora il PLC.Diciamo che nel blocco Main ho un ingresso (I0.0) che mi richiama un blocco FB al cui interno ho un ingresso (I0.1) che mi commuta direttamente un'uscita (Q0.0).Allora se io porto a "1" la I0.1 non succede nulla ( e questo è Ok perchè il blocco FB non è "in funzione"), se porto a "1" solo I0.0 non succede nulla ( a parte rimandarmi al blocco FB , e fin quì OK) , invece se porto a "1" l'ingresso I0.0 e poi I0.1 mi commuta l'uscita Q0.0 (e questo è sempre OK).Ora se nel frattempo porto a "0" l'ingresso I0.0 (cioè quello che mi richiama il blocco FB) e lascio a "1" I0.1 l'uscita Q0.0 resta a "1".. è normale?Peggio ancora succede se porto a "0" anche I0.1 l'uscita Q0.0 resta a "1"..è normale?Praticamente per portar a "0" l'uscita devo portar a "0" I0.1 tenendo l'ingresso di richiamo I0.0 a "1".Io penso che sia normale, cioè nel senso che il PLC "ragiona" così però mi fa strano..Spero di essermi riuscito a spiegare tra tutti sti "1" e "0"....Ciao e portate pazienza...
baltimora Inserita: 12 novembre 2011 Segnala Inserita: 12 novembre 2011 (modificato) Ti consiglierei di leggerti il manuale di sistema (che è piccolo piccolo) In ogni caso vi sono prevalentemente 3 tipi di blocchi (blocco dati escluso).1) Blocco organizzativo, "OB" che è pressapoco come il main per non dire che è identico. Tale blocco viene eseguito ciclicamente e non ha bisogno di essere richiamato. (stiamo parlando del blocco organizzativo P.CYCLE, poi può esserci quello di avvio (startup) che viene eseguito una sola volta all'avvio, ecc. ecc. (c'è ne sono ancora altri della stessa famiglia, quindi che vengono eseguiti senza richiamo)2)Poi ci sono i blocchi funzionali, "FB" che sono dei blocchi che vengono eseguiti "a richiamo" ed hanno la caratteristica di "ricordarsi" i dati elabborati, in tal modo che questi dati possano essere riutilizzati da altre parte del programma anche quando il blocco non è più in esecuzione.Faccio ar esempio dei calcoli matematici ecc.3)E poi ci sono i blocchi funzione "FC" che sono come quelli di sopra, ma una volta chiusi si scordano tutto.Ora se nel frattempo porto a "0" l'ingresso I0.0 (cioè quello che mi richiama il blocco FB) e lascio a "1" I0.1 l'uscita Q0.0 resta a "1".. è normale?Se il blocco viene chiuso e non c'è nulla che resetta il bit, prima della chiusura del blocco tale bit resta ad 1Peggio ancora succede se porto a "0" anche I0.1 l'uscita Q0.0 resta a "1"..è normale?Se il reset del bit stà solo in quel blocco, ed il blocco non viene più richiamato, è ovvio che l'istruzione di reset del bit non viene eseguitaCiao Modificato: 12 novembre 2011 da baltimora
Scrim76 Inserita: 12 novembre 2011 Autore Segnala Inserita: 12 novembre 2011 ciao, il manuaetto (da 3mila paginette) :me lo sto leggendo piano piano e intanto faccio anche qualche prova .Mi sembrava un po strano il funzionamento ma magari basta "farci l'occhio".Grazie ancora dei consigli e aspettatevi altre domandine... Vorrei proprio diventar in grado di far qualcosa anch'io..Ciao buona serata
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora