Vai al contenuto
PLC Forum


SONDA AD ULTRASUONI PROSONIC T, PLC


salernozz

Messaggi consigliati

la parte  ''ho già la tua spiegazione che mi ha aperto veramente un mondo, ma vorrei saperle in modo specifico come sai te'', in realtà va messa nella parte delle memorie, mi sono sbagliato

 

Link al commento
Condividi su altri siti


@batta , io finchè il ferro è caldo ed il ragazzo ha l'adrenalina in corpo, mi farei mandare dei soldi:roflmao:

 

@salernozz : quelli che chiami bit non sono bit ma solamente unità. In ogni caso si tratta solamente di scalare un valore decimale in un altro che sia più comodo per te. 

 

Ps : la soddisfazione di quando le prime volte funziona qualcosa...è una roba indescrivibile. Ti senti padrone del mondo...pensi è fatta, posso programmare anche una centrale nucleare! Goditi questi momenti, sono i più sani, veri e divertenti e li rimpiangerai, specie quando un giorno avrai continuamente il fiato sul collo e la pressione comincerà a farsi sentire;)

Modificato: da step-80
Link al commento
Condividi su altri siti

Per esperienza ti dico che gli ingressi analogici del 200 e 1200 fino a 30V non si danneggiano, capitato di cavi in corto e alimentatore che erogava 32V.

Link al commento
Condividi su altri siti

1 ora fa, salernozz scrisse:

ULTIMA DOMANDA: quella cosa che mi ha detto del range 5530-27648 (bit) è per i 4-20 mA, invece 0-27648(bit) è sia per 0-20 mA e 0-10 V, giusto?

Se tu avessi un ingresso analogico da poter configurare come 4..20 mA, leggeresti 0 con segnale 4 mA, e 27648 con segnale 20 mA.
Disponi invece di un ingresso analogico in tensione che, se non mi ricordo male, è solo 0..10 V. Esistono anche ingressi analogici configurabili ±10 V, 1..5V, e in molti altri modi, ma non è il tuo caso.

Quindi, ti ritrovi con un ingresso analogico 0..10V, e dovrai valutare un segnale 2..10V. Questo ingresso analogico ti darà 0 con segnale 0V, 27648 con segnale 10V, e 5530 con segnale 2V. La tua scalatura quindi la dovrai fare considerando 5530 come valore minimo, e 27648 come valore massimo.
Un valore inferiore a 5530 (con un certo margine, ovviamente) significa un errore nel segnale in ingresso.

Per poter convertire il tuo segnale analogico in una misura di livello, devi poi conoscere il livello corrispondente al segnale 4 mA, e quello corrispondente al segnale 20 mA.
Ora butto lì dei numeri a caso, per fare un esempio:

segnale 4 mA --> 2000 mm

segnale 20 mA --> 10000 mm

 

Ora, una cosa che mi sfugge della scelta fatta da Siemens, è che una volta c'era una funzione per fare questa conversione, mentre ora c'è solo la funzione NORM_X che ti permette di linearizzare il valore analogico nel range 0.0..1.0. Poi, per completare l'operazione, devi fare altri calcoli.

Quindi all'istruzione NORM_X devi passare come limiti 5530 e 27648. Tutto quello all'interno di questi limiti viene convertito in un valore da 0.0 a 1.0.

Devi poi prendere questo valore e moltiplicarlo per il range di misura della sonda (10000 - 2000 nel nostro esempio), e sommare poi il valore minimo 2000.

Esempio:

image.png.1b6f37a15fa94730b4bed867d7da7a9d.png

Nell'esempio, #AnalogValue è il tuo ingresso analogico (INT oppure WORD), #NormValue e #Level sono in formato REAL.

 

Ci sarebbe poi la possibilità di crearsi una funzione con il calcolo completo, ma rimandiamo ad un'altra puntata.

 

2 ore fa, salernozz scrisse:

poi per quanto riguarda l' argomento delle memorie e il blocco dati: Hai per caso qualcosa che mi spieghi specificatamente ogni cosa? Come le DB le MD o MB e i formati ecc,

Ne avevamo già parlato in un'altra discussione.
Nel caso specifico, vale quanto ho scritto sopra: #NormValue e e #Level sono in formato REAL. La variabile #NormValue puoi dichiararla anche nell'area TEMP dell'interfaccia delle variabili del tuo blocco.
#Level invece meglio che la metti in un DB. Potresti mettere in un DB anche i limiti di misura della sonda, in modo da poterli modificare da pannello operatore. In questo caso, ricordati di impostare le variabili come ritentive, altrimenti quando spegni il PLC perdi il valore impostato.

 

Link al commento
Condividi su altri siti

@battaOh mio dio batta sei davvero il Jimmy del plc, mi si è aperto un mondo e ora mi è tutto molto ma molto più chiaro. Ti devo solo ringraziare per il tempo che ci metti, la dedizione e soprattutto la voglia di stare dietro ad un novello come me. Non credevo di incontrare persone su questo forum che mi avrebbero dedicato anche solo mezz ora del loro tempo per poter rispondere a domande e dubbi. Grazie veramente batta!

Farò tesoro di tutto quello che mi spieghi. 

 

@step-80 grazie anche a te spep per quel piccolo particolare che hai voluto correggermi, ti ringrazio, ora so che quel valore che mi manda il segnale analogico è un valore decimale (unità decimale).

 

Step sono soddisfazioni alla fine no...? Spero di non averlo davvero il fiato sul collo, anche se credo che non sarà così.. 

 

@max.bocca Perfetto! Ora sono più tranquillo, grazie mille max!!

 

 

Grazie a tutti per l' appoggio e il tempo che mi state dedicando! Mi state dando una mano assurda!!! 

Modificato: da salernozz
Link al commento
Condividi su altri siti

non c'è un modo per poter sapere i valori da unità decimale a valori reali? come per esempio:

 

un unità decimale è 6000, il corrispondente di 6000 è 1 metro. Devo veramente stare li a fare tutte le prove possibili continuando a variare la mia unità decimale?

Link al commento
Condividi su altri siti

@salernozz di solito Batta è chiaro, ma credo che non lo sia mai stato come nell'ultimo post. Puoi praticamente copiare il suo esempio sostituendolo con i tuoi valori . 

Cosa ancora non ti è chiaro? Devi normalizzare il tuo valore prima di tutto. Poi devi conoscere (e questo solo tu che hai il manuale lo puoi sapere) quali sono i limiti del sensore, e cioè 'quanto' sta misurando quando ti da come uscita 2 v e 'quanto' quando te ne da 10. Questo è un dato del sensore che trovi sul manuale. 

Batta ha ipotizzato 2000 min---->10000 max ma è solo per dare dei numeri.

 

Ps: un ingresso analogico trasforma una tensione (o corrente) portata ai capi dei morsetti in un valore decimale. Quanto sia questo valore dipende dal plc e dalla sua risoluzione. Piu la risoluzione sarà alta, più piccolo sarà il 'gradino' che potrai discriminare. 

Modificato: da step-80
Link al commento
Condividi su altri siti

@step-80

ok step capisco il concetto che mi stai dicendo (tendo a precisare che tutti i ps che mi fai sono troppo utili)

 

ciò che intendo io è : Esempio

ho un range di distanza da 40 cm e 8 m

 

se volessi sapere qual' l' unità decimale da mettere per fare un confronto nel momento in cui è a 3.20 m ?

 

devo fare tutte prove per beccare il valore giusto?

Modificato: da salernozz
Link al commento
Condividi su altri siti

FORSE HO CAPITO:

 

L' ultimo valore '' level'' è il valore reale, quello di una grandezza reale (che sia gradi, metri, ph, db ecc)

 

ma in che memoria lo ha messo e come ha fatto? (l ' ho letta l' ultima parte del post di batta, ma sto argomento giuro non riesco a farmelo entrare)

 

Modificato: da salernozz
Link al commento
Condividi su altri siti

Quote

se volessi sapere qual' l' unità decimale da mettere per fare un confronto nel momento in cui è a 3.20 m ?

 

Tu devi fare in modo di poter usare un valore che sia GIA' nell'unità che ti è piu comoda ( ad esempio cm). 

 

Quote

ciò che intendo io è : Esempio

ho un range di distanza da 40 cm e 8 m

Perfetto, avrai quindi (trasformando tutto in cm) :

-Valore min 40

-Valore Max 800.

 

Significa che quando il tuo sensore ti restituisce 2volt sta misurando 40 cm e sul canale analogico leggerai il valore 'grezzo' 5530. 

Allo stesso modo, quando legge 800 cm ti restituirà 10 volt e sul canale analogico leggerai il valore 'grezzo' 27648.

 

Ora devi fare in modo che il tuo programma legga continuamente il canale analogico e lo trasformi in un valore in cm che per te è piu comodo manipolare. (vedi ultimo post di Batta, molto molto esauriente). 

Quote

Ora, una cosa che mi sfugge della scelta fatta da Siemens, è che una volta c'era una funzione per fare questa conversione, mentre ora c'è solo la funzione NORM_X che ti permette di linearizzare il valore analogico nel range 0.0..1.0. Poi, per completare l'operazione, devi fare altri calcoli.

Quindi all'istruzione NORM_X devi passare come limiti 5530 e 27648. Tutto quello all'interno di questi limiti viene convertito in un valore da 0.0 a 1.0.

Devi poi prendere questo valore e moltiplicarlo per il range di misura della sonda (10000 - 2000 nel nostro esempio), e sommare poi il valore minimo 2000.

Batta aveva ipotizzato 2000 cm --------->10000 cm . Basta sostituire 2000 con 40 e 10000 con 800 ed avrai su #Level il tuo valore direttamente in cm col quale puoi fare quello che vuoi.

 

Quote

sto argomento giuro non riesco a farmelo entrare

Ps. Sono solo proporzioni, alla fine ;). Tranquillo vedrai che entrano.

Modificato: da step-80
Link al commento
Condividi su altri siti

Grazie mille step! Ora faccio una prova direttamente sulla sonda ad ultra suoni, prima stavo studiando altro. Avevo anche aperto una discussione sul fatto:

 

'' è meglio utilizzare norm e scale 

oppure norm e calculate? ''

 

Ora però capisco che è meglio la seconda opzione.

 

Ma come so se sono metri o cm da mettere? io farei prove

 

Ora provo ad eliminare la discussione, prima ho fatto un po' di fatica

Modificato: da salernozz
Link al commento
Condividi su altri siti

alla fine come valori reali ho dovuto mettere le percentuali!! Questa sonda quando fa la misurazione (lo si vede anche dal suo display) la riporta in percentuale da 0.0% a 100%. 

 

Ora è perfetta è potrei comandarci un (es) elettropompa con esso, però la strada è ancora lunga prima di poter fare veri e propri impianti, non vedo l' ora di essere autonomo (si spera)

Modificato: da salernozz
Link al commento
Condividi su altri siti

Quote

la riporta in percentuale da 0.0% a 100%.

Ma sei sicuro di questa cosa? perchè mi sembra strana. Una percentuale da sola comunque non significa nulla se non sai a cosa è riferita. Non è che è solo una scalatura che fa il display? 

Link al commento
Condividi su altri siti

Ho dato un'occhiata veloce al datasheet del sensore ed ho visto subito una cosa interessante:

Ultras1.thumb.png.d6151cd9008320042284f9957be27592.png

 

i 20 mA li fornisce a distanza ravvicinata, mentre i 4 mA alla massima distanza. Probabilmente (ma confesso la mia ignoranza in materia) perchè essendo un sensore di livello ragiona in base al contenitore nel quale va montato(e quindi 0% = contenitore vuoto , 100% saturo). 

 

Sempre in base al manuale, capisco che va impostato in base al tuo contenitore. La misura massima che può rilevare è 8 mt, ma non basta. Bisogna dirgli a quanto vuoi che corrispondano i tuoi 20 e 4 mA(mi sembra anche logico). 

 

Ultras2.png.a5140d106167be984c058ac62a9636ab.png

 

E è la distanza del tuo sensore dal fondo del recipiente(o comunque dove vuoi che ti fornisca i 4 mA)

F è dove vuoi che il tuo sensore ti fornisca i 20 mA (recipiente per te pieno).

 

Purtroppo smanettare con i sensori senza leggerne i manuali è una cosa che abbiamo fatto tutti ma che porta poco lontano. E' sempre la prima cosa da fare.

 

Ps. Una volta impostati i limiti vedrai che sul display avrai un valore 0.0-100.0% perfetto.

Link al commento
Condividi su altri siti

il manuale l ho letto eccome steeeep, non tutto ma ciò che mi serviva

 

la sonda, se non rileva nulla, fa risultare sul display 0 %, se sei a metà 50% e così via. Tutto questo però deve essere prima impostato infatti per avere 0.0 % (sono in ufficio) ho dovuto misurare l' altezza della sonda da terra 1.40, che da quel che ho capito è il mio 0%. Ho fatto molte prove di assegnazione per i valori e continuava a settarmi il relè in modo sbagliato.

Allora ho provato a mettere così per fare una prova  come In 1 ''100'' e come In2 ''0", ho fatto due prove e tec, funzionava da dio.

 

Adesso però tramite il display provo a controllare quella cosa di scegliere con che segnale mi danno certe altezze (4 e 20)

Step puoi aiutarmi anche per la risposta delle termoresistenze, dato dovrei anche ordinare il modulo di espanione per il mio plc? Non voglio far sprecare soldi al capo

Link al commento
Condividi su altri siti

Quote

non tutto ma ciò che mi serviva

Errato, hai letto solo ciò che ti sembrava potesse servire..infatti sei ancora in alto mare.

 

Ripeto: devi leggerti bene tutto il manuale, altrimenti consumi energia elettrica e basta:smile:. Ora stai giocando, ma se dovessi montare quel sensore in un posto dove c'è rischio che succeda qualcosa di grave, non vorresti sapere bene come funziona quell'affare?

Link al commento
Condividi su altri siti

Va bene, sta di fatto che non capisco perché mi funziona, sarà la % la scalatura del segnale? Dovrò studiarmelo meglio, concordo

Link al commento
Condividi su altri siti

Quote

non capisco perché mi funziona

Perchè con tutta probabilità sarà uscito di fabbrica con dei valori impostati di default. Per essere certo dovresti fare diverse prove con varie distanze.

Link al commento
Condividi su altri siti

Per misurare la temperatura hai due strade

Una utilizzare una sonda con uscita 4/20ma e utilizzi l'ingresso analogico del PLC sempre con la resistenza da 500ohm, l'altra di comprare il modulo per sonde Pt100 o Termocoppie.

Per misure di liquidi la termoresistenza pt100 con collegamento almeno a 3fili va benissimo.

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