Fabio899 Inserito: 29 dicembre 2018 Segnala Inserito: 29 dicembre 2018 Buongiorno a tutti sono nuovo del forum, avrei bisogno di un vostro consiglio , sto programmando un plc logo8 che andrà a gestire il controllo ed il rabbocco di una vasca d'acqua quando si abbassa il livello, per evitare false partenze della pompa di rabbocco vorrei filtrare il segnale del sensore di minima con un timer di 400ms quale funzione dovrei utilizzare? grazie.
max.bocca Inserita: 29 dicembre 2018 Segnala Inserita: 29 dicembre 2018 Nelle SF ci sono diversi timer, dipende cosa vuoi fare ritardare di 400mS la partenza? Se così prendi il timer ritardo all eccitazione. _____ __! ! ___ _____! ! Questo è il simbolo
Fabio899 Inserita: 29 dicembre 2018 Autore Segnala Inserita: 29 dicembre 2018 Siccome il liquido ha una leggera increspatura potrebbe far scattare il sensore di minima o potrebbe aver semplicemente dei disturbi che possono causare la partenza della pompa di ripristinolivello ,vorrei che il segnale di questo sensore venga considerato solo se mantenuto per un determinato tempo e quindi con la certezza che il livello sia veramente basso...
alessandropa Inserita: 29 dicembre 2018 Segnala Inserita: 29 dicembre 2018 Secondo me dovresti usare un merker dato dal limite di soglia analogico. Il valore di soglia lo imposti tu in base al livello della tua vasca poi il merker ti attiva un timer allo scadere del quale parte la pompa. Io farei piu di 400ms per evitare start e stop continui. Per fermare la pompa potresti fare sempre un timer che si diseccita dopo un tempo che manca il merker
acquaman Inserita: 29 dicembre 2018 Segnala Inserita: 29 dicembre 2018 Se il controllo di livello è analogico metti una isteresi ossia un livello minimo dove accendi la pompa ed un livello massimo che spegne la pompa cosi eviti lo stacca attacca della pompa.
Fabio899 Inserita: 30 dicembre 2018 Autore Segnala Inserita: 30 dicembre 2018 I sensori sono capacitivi con uscita pnp uno per il minimo ed uno per il massimo uno fa la partenza è uno la fermata vorrei soltanto filtrare le eventuali false letture durante lo svuotamento o riempimento niente di più.
Livio Orsini Inserita: 30 dicembre 2018 Segnala Inserita: 30 dicembre 2018 Leggi gli ingressi ad ogni ciclo, verifica che il valore (alto o basso) rimanga identico per n cicli e poi attiva il comando. Per fare questo predisponi un byte come contatore, leggi l'ingresso e memorizzi il suo stato. Al ciclo successivo se lo stato attuale è identico al precedente incrementi il contatore, altrimenti lo azzeri, memorizzi il nuovo valore. Quando il contatore avrà raggiunto la soglia prefisssata, ad esempio 10, Consideri il livello stabile, esegui il comando, ed azzeri il contatore. Ci vuole più tempo a descriverlo che a realizzarlo.
Fabio899 Inserita: 30 dicembre 2018 Autore Segnala Inserita: 30 dicembre 2018 Non credo possa funzionare perché potrebbe accadere che ci sia un fronte di salita per qualche ms e questo non lo dovrei considerare o magari un fronte di salita stabile che non mi incrementa alcun contatore
rfabri Inserita: 30 dicembre 2018 Segnala Inserita: 30 dicembre 2018 Ma la distanza tra il livello max e min quant'è se è di parecchi cm non credo ci siano problemi , mentre se tra il min e max ci sono pochi cm sicuro che le onde o crespe possono farti delle false partenze, allora metti una piccola paratia per evitare il problema, anche se con i soli blocchi logici del logo fai tutto, basta solo fare delle prove, bye
Blackice Inserita: 30 dicembre 2018 Segnala Inserita: 30 dicembre 2018 Se applichi un piccolo ritardo nella lettura dei capacitivi(sempre difficili da gestire)risolvi il problema delle false letture e se aggiungi un interblocco logico in modo da non far ripartire la pompa fino a quando il livello max non si è scoperto insieme a quello min dovresti avere un funzionamento sicuro. Esempio.
Fabio899 Inserita: 30 dicembre 2018 Autore Segnala Inserita: 30 dicembre 2018 Esatto dovrebbe essere proprio così !
Blackice Inserita: 30 dicembre 2018 Segnala Inserita: 30 dicembre 2018 Per sicurezza conviene non comandare mai la pompa direttamente dai contatti del Logo (se monofase),ma utilizzare sempre un relè di potenza o un contattore adeguato ad essa(io sopra i 100W interfaccio sempre).
Livio Orsini Inserita: 30 dicembre 2018 Segnala Inserita: 30 dicembre 2018 Il 30/12/2018 alle 08:09 , Fabio899 ha scritto: Non credo possa funzionare perché potrebbe accadere che ci sia un fronte di salita per qualche ms e questo non lo dovrei considerare o magari un fronte di salita stabile che non mi incrementa alcun contatore Expand E' proprio l'esatto contrario! Questo che ti ho illustrato è il classico algoritmo di debouncing. Non devi prendere i fronti ma i livelli. Se il livello è stabile e costante per "n" cicli sei sicuro che il tuo sensore ha commmutato. Lo si usa per "pulire" i contatti dai rimbalzi. Il tempo lo determini in funzione dei cicli e del tempo medio di ciclo. Poi il problema è tuo e quindi lo risolvi come credi meglio.
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