Vai al contenuto
PLC Forum


Ritardo Visualizzazione Tempertura


falcetta

Messaggi consigliati

Ciao a tutti,

Sono qui per chiedervi un aiutino.

dovrei riuscire a ritardare la visualizzazione della temperatura sul display dello zelio, mi spiego meglio

Ho un plc zelio sr3b262bd con convertitore rmpt30bd ed espansione sr3xt43bd, il collegamento è qesto, pt100 collegata al convertitore 0-10 volt uscit del convertitore va all'ingresso dellì'espansione cosi da avere 10 bit su una range di temperatura di 0-100 gradi..

La temperatura la visualizzo sul display dello zelio

Cosi facendo ho una buonissima risoluzione ma come potete immaginare la temperatura non è stabile"Sfarfalla", volevo inserire un ritardo in modo che non vedo la temperatura "sfarfallare" ma vedo un valore stabile, come posso fare?

Grazie mille a tutti

Link al commento
Condividi su altri siti


Ti consiglierei di eseguire una media scorrevole su 10 valori e visualizzare il valore medio.

Metti in memoria 10 letture; quando hai totalizzato le prime 10 lettura inizi ad eleaborare il tutto come segue.

  • Fai la media aritmetica dei valori e visualizzi il risultato.
  • Ad ogni nuova acquisizione di temperatura scarti il valore più vecchio, memorizzi il nuovo ed esegui la media.

Questo se vuoi avere un aggiornamento dei valori veloci e stabili.

Se invece non ti interesa avere un aggiornamento veloce, puoi sempre sommare 10 valori (ma anche 5 o 20) ed eseguire la media, visualizzando il valore medio.

Link al commento
Condividi su altri siti

Livio grazie mille per la tua risposta,

Pultroppo sno un novellino nel campo della programmazione potresti spiegarmi un pochino piu dettagliatamente? magari anche che blocchi usare.

Ho solo un'uscita del valore temperatura che va al display come faccio a fargli leggere gli sbalzi e memorizzarli?

per la temperatura io uso un gain

Grazie mille

Modificato: da falcetta
Link al commento
Condividi su altri siti

Io lo Zelio non lo conosco quindi non ti posso aiutare con esempi specifici.

Però, in fin dei conti si tratta, nel caso più semplece di eseguire un certo numero di somme e tenr conto di quante volte hai sommato, in modo da fare uan divisioni.

Cerco dic hiarire esemplificando.

Ipotizzazimo di fare una media di 5 valori.

Preparo un un byte che userò come contatore di letture.

Alla prima lettura metto il valore letto in una memoria ed incremento di 1 il contatore.

Alla seconda lettura sommo il valore letto a quello che ho in memoria e alscio il risultato in memoria, incremento di 1 il contatotore.

Così via sino a raggiungere le 5 letture, o anche 10 o 20, o "n". A questo punto divido il valore tottalizzato per il numero di letture sommate ed ho la media, visualizzo questo valore.

Link al commento
Condividi su altri siti

Fare una media di 10 valore , sarebbe ottimo , ma con lo zelio la vedo un poco dura , se ti interessa solo rallentare lo sfarfallio dei valori e avere una variazione solo ogni secondo , si fa facilmente , prendi un blocco MUX, il canale A lo colleghi all'uscita del modulo MUX , il canale B lo colleghi all'uscita del blocco gain . poi prendi il clock da 1 secondo e lo colleghi all'ingresso selezione del modulo MUX , ovviamente l'uscita del modulo Mux la porti al blocco display. Così facendo , il valore viene memorizzato e te lo lascia visualizzato per 1 secondo , ogni secondo ti aggiorna il valore letto .

Aloha

Link al commento
Condividi su altri siti

okkey bernie. domanda per te

Se o metto 2 MUX il canale A collegata all'uscita dle MUX (uno per uno) po il canale B lo collego al GAIN all'ingresso selezione dei 2 MUX collego 2 Timer Li differenti con tempi diversi (da decidere) poi con questi 2 valori (in teria diversi tra loro perche presi in tempi diversi magari di mezzo secondo) e faccio la media tra questi 2 valori utilizzando un blocco ADD/SUB e uno MUL/DIV dovrei avere la temperatura media tra quei valori giusto?? ho provato a simulare e pare che funzioni!! cosa ne dici??

Link al commento
Condividi su altri siti

Si , evita i temporizzatori , prendi sempre il blocco oscillatore 1 secondo , poi prendi il blocco CAM , gli fai incrementare l'ingresso con il clock e sulle uscite colleghi i comandi di 8 MUX collegati come ti ho spiegato prima . A questo punto riesci a memorizzare 1 valore al secondo, li sommi e ........................

Link al commento
Condividi su altri siti

Ciao bernie, perche dici di evitare i temporizzatori? ho provato il tuo sistema ma con il clock 1 secondo non funziona, cioè un secondo è troppo tempo e non vede le varie rilevazione. ho provato a cambiarlo con un timer li impostato con 2 millisecondi e sembra funzionare, ma mi sembra un sistemino un po complicato per una temperatura:)

Stasera comunque voglio provarlo,

Grazie de consiglio..

Modificato: da falcetta
Link al commento
Condividi su altri siti

Io preferisco evitare i contatori se devo avere dei tempi sincronizzati tra loro , a quel punto prendo i clock e vado di contatori che almeno sono abbastanza sicuro che i vari ritardi sono sincronizzati , poi ogniuno fa quello che vuole .

Che il sistema sia complicato , è chiaro , se fosse per me , io rimarrei alla soluzione che ti avevo detto all'inizio . Alla fine dei conti una lettura ogni secondo non è poco , fare una media con meno di 10 valori , hai il rischio che se ti ritrovi un valore sballato ti sballa la media , a questo punto dovresti eliminare i numeri che si discostano molto dagli altri numeri , ma con lo zelio te lo scordi di fare cose del genere .

Quindi , il mio consiglio è blocca lo sfarfallio e fermati , non complicarti la vita e il programma ( che se lo appesantisci molto , rallenta pure il tempo di ciclo )

Aloha

Link al commento
Condividi su altri siti

x Falcetta :

Credo che questo post sia strettamente legato all' altro post nel quale volevi aumentare la risoluzione della misura di temperatura.

Bene, a quanto pare hai aumentato la risoluzione (probabilmente da 0,4 °C a 0,1°C) , però adesso vuoi rallentare la risposta della misura perchè è instabile !

Se, chiudi il cerchio e ti accontenti di 0,4°C, probabilmene ottieni un risultato molto simile a quello di rallentare (mediare) la misura.

Se poi, proprio sei incontentabile, io ti consiglierei di verificare se la scheda dello zelio ha un parametro che rallenta (smorza) la misura. In genere si tratta di un filtro sulla variazione della variabile analogica (si imposta un tempo in genere espresso in ms).

Un' altra soluzione potrebbe essere, tramite qualche banale calcolo, 'accontentarsi di una risoluzione di 0,2°C o 0,25°C.

Nell' altro post mi hai risposto che è di vitale importanza misurare con una così grande accuratezza la temperatura nell' acquario ma, permettimi di dubitare.

Non sono un biologo ma da ex subaqueo ti posso garantire che i pesci riescono a vivere con una discreta variazione termica (5 - 10 °C). Ti garantisco che a -40 metri fa molto più freddo che a - 5 metri (soprattutto se NON hai una muta stagna !!!).

Senza andare tanto lontano (o profondo) mi basta guardare cosa avviene nel 'laghetto' vicino al mio balcone (abitato da parecchie carpe giapponesi e diversi rospetti).

D' inverno capita che la temperatura esterna scenda anche sotto i -20 °C : sopra la piccola pozza d' acqua si forma uno strato di ghiaccio di alcuni centimetri e gli 'inquilini' sono costretti a nuotare nella parte di acqua che non gela (intorno ai 4°C) oltre ad arrangiarsi con il cibo (e nessuno fora il ghiaccio per nutrire le bestiole).

D' estate capita che la temperatura esterna superi i 35 °C e che la temperatura della pozza arrivi anche a 30 °C. Per garantire un comfort adeguato ai pesci occorre ossigenare parecchio l' acqua e garantirne un certo ricambio.

Oltre una fisiologica mortalità (casuale durante l' anno e/o quando qualche gatto che magari 'tiene famiglia' non decide che deve sfamare i piccini) non credo che lo sbalzo stagionale di temperatura sia un problema per i pesci.

Ecco perchè dubito che ti serva una grandissima precisione nella misura e perchè nell' altro post di dicevo di 'accontentarti' di una risoluzione di 0,5°C (e adesso aggiungo con una visualizzazione stabile).

Comunque l' acquario (e i pesci) sono tuoi e solo tu sai quanto sia critico / importante il mantenimento del corretto habitat.

Ciao.

Link al commento
Condividi su altri siti

Ciao max, grazie della risposta,

probabilmente ti sei gia risposto da solo,

RIUSCIRE A VIVERE come hai scritto tu non vuol dire VIVERE, hai perfettamente ragione che in mare sulla superficie cè piu caldo e a 50 metri sotto cè piu freddo, MA li i pesci possono decidere dove stare (zona calda o zona fredda) in un acquario l'acqua è quella e la temperatura anche!!!

Comunque io nell'altro post, si dicevo che è molto importante per i pesci la temperatura, ma sopratutto mi giravano i cosidetti >:):) non riuscire ad avere una misura con risoluzione 0.1 grado con un sistema che costa sui 180-200 euro!! e con un termometro digitale da 5 euro si!!! tutto qui!

Link al commento
Condividi su altri siti

Ciao Falcetta.

Lo Zelio comunque non è un termometro !!!

E con un termometro non puoi regolare la temperatura ma solo leggerla.

Inoltre il costo di un dispositivo non implica il fatto che funzioni necessariamente bene per qualsiasi cosa.

Quindi non puoi approcciare lo Zelio come si approccia un termometro.

Detto questo la media mobile (10 letture possono essere sufficienti) consigliata precedentemente è una soluzione corretta.

Realizzarla con lo Zelio è possibile ma non di immediata esecuzione specialmente se sei alle prime armi come mi pare di capire.

Altra cosa :

Ciao bernie, perche dici di evitare i temporizzatori? ho provato il tuo sistema ma con il clock 1 secondo non funziona, cioè un secondo è troppo tempo e non vede le varie rilevazione. ho provato a cambiarlo con un timer li impostato con 2 millisecondi e sembra funzionare, ma mi sembra un sistemino un po complicato per una temperatura:)

Impostare un Timer a 2 millisecondi nello Zelio non ha senso perchè il suo ciclo minimo è sicuramente superiore.

bigalex :blink:

Modificato: da bigalex
Link al commento
Condividi su altri siti

Ciao bernie, alla fine non ho resistoto, ho fatto la media della temperatura con 10 valori, :) poi al numero finale ho messo un mux ogni 3 secondi, cosi la situazione è molto buona

Link al commento
Condividi su altri siti

Unica pecca che se mi rileva anche un solo valore un po sballato mi sballa tutto il sistema:) ma non di molto!! dovrei riuscire come qualcuno aveva gia detto, di fare in modo che se la lettura di un mux era troppo diversa dalle altre andrebbe scartata ma non ho assolutamente idea di come si faccia

Link al commento
Condividi su altri siti

Dopo che hai acquisitto i 10 valori, scarti il valore massimo ed il valore minimo ed esgui la media su 8 valori. Questo è il metodo più usuale e più semplice per una media ponderata.

Link al commento
Condividi su altri siti

Livio mi sa che con lo zelio non si riesce a fare questa cosa, o almeno io non sono in grado :) ma comunque dubito che si riesca a fare.

Link al commento
Condividi su altri siti

Istruzioni di comparazione, cè un blocco che si chiama (min-max-val) altro non è che una comparazione del valore con max e min, se il valore è dentro al min max l'uscita è attiva, altriment è disattiva, poi cè un comparatore, che è molto simile al min-max-val..

La funzione Confronto di due valori permette di confrontare due valori analogici.
L'uscita è attiva se il risultato del confronto tra il Valore 1 e il Valore 2 è vero e se l'ingresso Convalida funzione è attivo o non collegato.
nelle impostazioni si puo dirgli maggior minore uguale diverso..
Poi ci sono 2 blocchi per i 4 calcoli basilari aritmetici, altre funzioni di comparazione non ci sono, o almeno non le conosco!
Link al commento
Condividi su altri siti

ciao a tutti, ragazzi, finalmente ho risolto il problema dello sfarfallio della temperatura, alla fine il problema era che non avvo collegato il cavo di schermatura della pt100 e allora in acqua (magari per via dei componenti elettrici che ci sono e per vie dei pesci) i valori sfarfallavano, ho collegato lo scherma della pt100 e i valori della temperatura come per magia si sono stabilizzati in modo ottimale, ho persino tolo dal programma la macro che mi facev la media di 10 valori, perche ora non serve piu visto che ho una lettura moooolto lineare!! grazie ciomunque a tutti dei consigli e del tempo dedicatomi!!!

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