Ghisla Inserito: 17 giugno 2020 Segnala Share Inserito: 17 giugno 2020 (modificato) Ciao ragazzi Su una macchina ho montato 16 analogiche della festo in corrente 4-20 mA, rilevano la lettura tramite un magnete che scorre in prossimità del sensore. Dopo aver eseguito la normalizzazione da valore adc a valore ingegneristico mi trovo che i valori che vado a misurare all'interno del range prestabilito sono sfalsati. Vi spiego meglio come eseguo la taratura. Mi calcolo il fattore di trasformazione con questa formula (ADC_Zero - ADC_scostamento)/Fisico scostamento ADC_Zero = contiene il valore adc dell'analogica a riposo che per me è il mio zero ADC_Scostamento = metto un riscontro di X mm e il valore adc che rilevo lo inserisco in ADC_scostamento Fisico scostamento = è il valore reale del riscontro inserito in mm Questo per me è la costante K con cui poi normalizzo la mia lettura (Uso sempre questa ed è sempre andata bene fino ad ora) Cosa succede, togliendo il riscontro io leggo giustamente 0.00 mm, Inserendo il riscontro che ho usato per fare la taratura mi restituisce la misure giusta in mm Inserendo però dei riscontri più piccoli la mia misura è fallata. Sembra quasi che i valori adc restituiti dal sensore non siano lineari. Ho anche provato il tutto utilizzando le funzioni Siemens NORM_X e SCALE_X e il risultato che ottengo è lo stesso. Sto sbagliando qualcosa o devo usare un altro metodo in questo caso? PS: ho provato con altre 2/3 analogiche dello stesso tipo e il risultato non cambia. Grazie mille Modificato: 17 giugno 2020 da Ghisla Link al commento Condividi su altri siti More sharing options...
pigroplc Inserita: 17 giugno 2020 Segnala Share Inserita: 17 giugno 2020 Premetto che non conosco le analogiche in questione, ma la faccio semplice: se tu non hai una corrispondenza lineare es tabella qui sotto 0 mm = 4 mA = 0 numeri sulla EW 10 mm = 5 mA = 1500 numeri sulla EW 20 mm = 6 mA = 3000 numeri sulla EW ecc vuol dire che la misura deve essere linearizzata perché non segue una legge di linearità, e questo lo puoi comodamente fare da codice. sarebbe poi interessante capire di quale attuatore si tratta per essere più precisi nelle indicazioni. Resta il fatto che il primo step che considero è quello di raccogliere le informazioni tabulandole secondo uno schema sopra citato, quindi si prende la decisione. Link al commento Condividi su altri siti More sharing options...
Ghisla Inserita: 17 giugno 2020 Autore Segnala Share Inserita: 17 giugno 2020 (modificato) il problema è che non c'è una linearità dalla lettura analogica Modificato: 17 giugno 2020 da Ghisla Link al commento Condividi su altri siti More sharing options...
ken Inserita: 17 giugno 2020 Segnala Share Inserita: 17 giugno 2020 hai verificato con un tester? Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: 17 giugno 2020 Segnala Share Inserita: 17 giugno 2020 (modificato) Strano che un sensore del genere non sia lineare, che senso ha? Puoi dare marca e modello? Anche non fosse lineare dovrebbero scriverlo nel manuale. Modificato: 17 giugno 2020 da acquaman Link al commento Condividi su altri siti More sharing options...
Ghisla Inserita: 17 giugno 2020 Autore Segnala Share Inserita: 17 giugno 2020 Non so il senso ma ho provato a mettere 3 mm poi 6 e poi 9 e non c'è linearità a livello di adc restituiti Link al commento Condividi su altri siti More sharing options...
batta Inserita: 17 giugno 2020 Segnala Share Inserita: 17 giugno 2020 In questo momento non sono molto lucido, e potrei scrivere cavolate, ma mi pare che ci sia qualcosa di sbagliato nella conversione. Domani guardo meglio. Link al commento Condividi su altri siti More sharing options...
leleviola Inserita: 18 giugno 2020 Segnala Share Inserita: 18 giugno 2020 6 ore fa, Ghisla ha scritto: Mi calcolo il fattore di trasformazione con questa formula (ADC_Zero - ADC_scostamento)/Fisico scostamento scusami sto cercando di capire ma quello a tu ti riferisci è a potenziometri lineari? Non è che la formula che hai scritto è al contrario Link al commento Condividi su altri siti More sharing options...
Cialtrone Inserita: 18 giugno 2020 Segnala Share Inserita: 18 giugno 2020 Bisogna, secondo me, distinguere i due potenziali problemi. Canale analogico: il canale analogico deve dare una lettura lineare rispetto all'ingresso in mA. Applicando 4-12-20 mA devo avere sulla PEW delle letture corrispondenti al minimo, metà e fondo scala. Se così non fosse, significa che il canale non ha una lettura lineare. Trasduttore: mettendo il cursore in posizione minima-media-massima devo avere delle letture di 4-12-20 mA. Se così non fosse vuol dire che è il trasduttore a non essere lineare. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 18 giugno 2020 Segnala Share Inserita: 18 giugno 2020 15 ore fa, Ghisla ha scritto: Mi calcolo il fattore di trasformazione con questa formula (ADC_Zero - ADC_scostamento)/Fisico scostamento ADC_Zero = contiene il valore adc dell'analogica a riposo che per me è il mio zero ADC_Scostamento = metto un riscontro di X mm e il valore adc che rilevo lo inserisco in ADC_scostamento Fisico scostamento = è il valore reale del riscontro inserito in mm Se interpreto correttamente, questo calcolo va bene solo se ADC_Zero è pari a zero e corrisponde alla distanza minima del trasduttore (segnale 4 mA). Se vuoi fare una scalatura del segnale tra due posizioni x e y arbitrarie, quel calcolo non va più bene, perché non tieni conto dell'offset. Il valore K lo devi calcolare come segue: K = (ADC_Max - ADC_Min) / (Pos_Max - Pos_Min). Se Pos_Min = 0, si semplifica e corrisponde al tuo calcolo: K = (ADC_Max - ADC_Min) / Pos_Max Questo K, nella rappresentazione di una retta in un sistema cartesiano, indica l'inclinazione della retta (è la tangente dell'angolo che la retta forma con l'asse delle ascisse), ma non ti dice se la retta passa dall'origine. Passerebbe dall'origine se avessimo ADC_Min = 0 e Pos_Min = 0 (o in altri casi che non serve analizzare). Per ricavare la posizione partendo dal valore letto dall'ingresso analogico, devi tenerne conto. Il calcolo per risalire alla posizione attuale dal valore analogico letto: (Pos - Pos_Min) = (ADC - ADC_Min) / K Una volta noto il valore di (Pos - Pos_Min), ed essendo noto anche POS_Min, calcolare la posizione attuale diventa banale: Pos = (Pos - Pos_Min) + Pos_Min Se Pos_Min = 0, si semplifica e diventa: Pos = (ADC - ADC_Min) / K Per farla breve, una scalatura lineare la potresti fare così: Pos = Pos_Min + (ADC - ADC_Min) * (PosMax - PosMin) / (ADC_Max - ADC_Min) In testo strutturato, la scrivi in una riga. Link al commento Condividi su altri siti More sharing options...
Ghisla Inserita: 18 giugno 2020 Autore Segnala Share Inserita: 18 giugno 2020 (modificato) Ciao Batta In realtà la formula che usi tu è la stessa che uso io solo con nomenclature differenti (fisico scostamento in realtà è la pos max, ADC_ZERO = adc min, ADC_SCOSTAMENTO = ADC max) Quello che ho notato dai valori adc che arrivano direttamente nella scheda: Se faccio scorrere il magnete sul sensore il valore cresce. quando arrivo a circa 3 mm ho dei valori adc, quando salgo ancora di circa 5 mm i valori adc rimangono uguali a quando ero a 3 mm. Già qui c'è qualcosa che non quadra a livello di valori adc in arrivo o sbaglio? Modificato: 18 giugno 2020 da Ghisla Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 18 giugno 2020 Segnala Share Inserita: 18 giugno 2020 (modificato) 1 ora fa, Ghisla ha scritto: Già qui c'è qualcosa che non quadra a livello di valori adc in arrivo o sbaglio? Non sbagli, infatti il tuo problema non è relativo al calcolo da fare per ottenere una scalatura, ma il calcolo da fare per linearizzare il tuo sensore (che non è un potenziometro). Devi quindi, come ti è stato suggerito da pigroplc, crearti la tua tabella di valori analogici in base alla posizione del magnete, con quella tabella esegui la linearizzazione. In pratica si tratta di realizzare una scalatura per ogni segmento della tua tabella. Certo che se io avessi un sensore così lo avrei già buttato. Modificato: 18 giugno 2020 da Roberto Gioachin Link al commento Condividi su altri siti More sharing options...
batta Inserita: 18 giugno 2020 Segnala Share Inserita: 18 giugno 2020 5 minuti fa, Roberto Gioachin ha scritto: Non sbagli, infatti il tuo problema non è relativo al calcolo da fare per ottenere una scalatura, ma il calcolo da fare per linearizzare il tuo sensore Mi pare strano che un sensore che deve dare una posizione non fornisca un segnale lineare. Perché non fornisci le caratteristiche di questo sensore? 1 ora fa, Ghisla ha scritto: In realtà la formula che usi tu è la stessa che uso io solo con nomenclature differenti (fisico scostamento in realtà è la pos max, ADC_ZERO = adc min, ADC_SCOSTAMENTO = ADC max) Questo è vero solo per il calcolo di K, ma poi non dici come risali alla posizione partendo dal valore analogico. PosizioneAttuale = (ADC_Attuale - ADC_ZERO) / K. Comunque, prima di tutto devi verificare il segnale dal trasduttore misurandolo con un tester. Anzi, per la misura, non collegare nemmeno l'ingresso analogico, elimina tutti i collegamenti non indispensabili per il funzionamento. Se il segnale è lineare, alla posizione minima dovrai leggere 4 mA, a metà corsa 12 mA, a fine corsa 20 mA. Se così non è, ritorniamo a considerare le caratteristiche del trasduttore (ma ti costa proprio tanto fornirci le caratteristiche di questi trasduttori?). Se non è lineare (ma mi pare alquanto strano) nella documentazione deve esserci anche la curva. Link al commento Condividi su altri siti More sharing options...
Ghisla Inserita: 18 giugno 2020 Autore Segnala Share Inserita: 18 giugno 2020 Il link del manuale eccolo qua. https://www.festo.com/net/SupportPortal/Files/491283/SDAT-MHS_2017-11f_8080053i1.pdf Il magnete è stato creato dall'azienda che ha costruito la macchina, quindi non è un magnete festo, non so se potrebbe incidere Link al commento Condividi su altri siti More sharing options...
max.riservo Inserita: 18 giugno 2020 Segnala Share Inserita: 18 giugno 2020 Il sensore di per sé è lineare, come era ragionevole supporre. Prima di passare alla scheda del PLC misura i mA a 0% a 50% e a 100% (devi basarti sui mm del campo di misura). Effettua le misure prima scollegando il PLC e poi in serie al PLC. Se, come penso, il problema non è il sensore, la possibile causa potrebbe essere la configurazione dell'ingresso del PLC (attivo/passivo) che contrasta con il collegamento elettrico. Il sensore va alimentato a 24 Vdc tramite i pin 1 e 3 e tramite i pin 2 e 3 hai l'uscita analogica 4-20 mA ATTIVA. La scheda del PLC deve essere configurata (se disponibile come opzione) come PASSIVA, se non è possibile configurarla come PASSIVA devi cambiare scheda. Link al commento Condividi su altri siti More sharing options...
Ghisla Inserita: 18 giugno 2020 Autore Segnala Share Inserita: 18 giugno 2020 (modificato) Io ho alimentato il sensore con una alimentazione esterna e ho collegato il pin 2 alla scheda del plc. è giusto? La modalità passiva non la trovo nelle impostazioni Modificato: 18 giugno 2020 da Ghisla Link al commento Condividi su altri siti More sharing options...
ken Inserita: 18 giugno 2020 Segnala Share Inserita: 18 giugno 2020 ripeto (come poi ha già fatto Batta) che il test vero lo fai con un semplice tester o se vuoi far qualcosa in più con un oscilloscopio (lo si usa poco ormai ma in borsa ce l'ho sempre e mi è servito spesso). con quello vedi nel tempo come si comporta il segnale e se c'è linearità. un segnale con una riga retta vuol dire lineare, un segnale con una curva non lineare. giusto ni. il 3 alla scheda non lo colleghi? Link al commento Condividi su altri siti More sharing options...
Ghisla Inserita: 18 giugno 2020 Autore Segnala Share Inserita: 18 giugno 2020 (modificato) il numero 3 è stato collegato direttamente allo 0V della macchina, idem il 24V. All'inizio il - e il + erano collegati alla scheda e il sensore non funzionava ma ho letto male o il sensore è 4-20mA? perchè qui dice il contrario L'analogica è stata collegata cosi: - L'uscita 2 dell'analogica è stata portata al canale Io+ della scheda - Al canale M0 della scheda è stata portato lo 0V della macchina ponticellato con il Io- Modificato: 18 giugno 2020 da Ghisla Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: 18 giugno 2020 Segnala Share Inserita: 18 giugno 2020 (modificato) 47 minuti fa, Ghisla ha scritto: Io ho alimentato il sensore con una alimentazione esterna e ho collegato il pin 2 alla scheda del plc O me lo sono perso o non hai detto che scheda del plc usi, ne come è configurata, difficile dirti se è giusto il collegamento al pin 2. Il sensore è 4..20mA. Comunque la scheda del plc deve essere configurata come passiva, per sensori a 4 fili. Modificato: 18 giugno 2020 da acquaman Link al commento Condividi su altri siti More sharing options...
Ghisla Inserita: 18 giugno 2020 Autore Segnala Share Inserita: 18 giugno 2020 (modificato) Scusa hai ragione La scheda è: 6es7134 6hb01 0da1 è configurata come 4-20 mA convertitore a 4 fili Non ho capito se l'alimentazione del sensore la devo prendere dalla scheda o dalla macchina Modificato: 18 giugno 2020 da Ghisla Link al commento Condividi su altri siti More sharing options...
max.riservo Inserita: 18 giugno 2020 Segnala Share Inserita: 18 giugno 2020 24 minuti fa, Ghisla ha scritto: .... ma ho letto male o il sensore è 4-20mA? perchè qui dice il contrario ... I manuali sono fatti per essere letti (e si spera capiti) per intero L'uscita è 4..20 mA, se utilizzi l'IOLink allora l'uscita analogica assume il valore di 0 mA. Non conosco Siemens (uso altri PLC) quindi non ti so indicare se i collegamenti alla scheda sono corretti (a sensazione mi sembra che lo siano) come non so dirti se la scheda si a attiva/passiva e/o configurabile. Dopo che avrai stabilito che il sensore è linerare (senza collegarlo al PLC e poi collegandolo al PLC) allora, ma solo allora potrai spostare la tua attenzione alla scheda del PLC e/o alla sua scalatura. Link al commento Condividi su altri siti More sharing options...
Ghisla Inserita: 18 giugno 2020 Autore Segnala Share Inserita: 18 giugno 2020 Dato che questo problema lo ho su tutti i sensori vorrei prima essere sicuro che il collegamento sia corretto. Mi sembra strano che tutti i sensori montati non siano lineari Link al commento Condividi su altri siti More sharing options...
max.riservo Inserita: 18 giugno 2020 Segnala Share Inserita: 18 giugno 2020 Devi collegare il tuo sensore sui pin Ix+ (il 2 del sensore) e Ix- (il 3 del sensore). I pin xUV0 e xM0 non li devi collegare in quanto il sensore riceve alimentazione esternamente. Nota : x rappresenta il n° di canale che vuoi utilizzare). Link al commento Condividi su altri siti More sharing options...
ken Inserita: 19 giugno 2020 Segnala Share Inserita: 19 giugno 2020 (modificato) 10 ore fa, Ghisla ha scritto: Dato che questo problema lo ho su tutti i sensori vorrei prima essere sicuro che il collegamento sia corretto. Mi sembra strano che tutti i sensori montati non siano lineari 10 ore fa, ken ha scritto: ripeto (come poi ha già fatto Batta) che il test vero lo fai con un semplice tester o se vuoi far qualcosa in più con un oscilloscopio (lo si usa poco ormai ma in borsa ce l'ho sempre e mi è servito spesso). con quello vedi nel tempo come si comporta il segnale e se c'è linearità. un segnale con una riga retta vuol dire lineare, un segnale con una curva non lineare. Fai questa prova, non ti porta via molto tempo ma ti farà capire come è il sensore. Modificato: 19 giugno 2020 da ken Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 19 giugno 2020 Segnala Share Inserita: 19 giugno 2020 (modificato) 12 ore fa, Ghisla ha scritto: Il magnete è stato creato dall'azienda che ha costruito la macchina, quindi non è un magnete festo, non so se potrebbe incidere Hai provato a vedere come si comporta il sensore con il magnete originale festo? Nel manuale trovo: Impiegare SDAT-MHS solo per gli attuatori appositamente rilasciati da Festo ed anche: Sono adatti gli attuatori Festo con scanalatura a T (scanalatura profilata 8 ) nonché cilindri tondi e cilindri a tirante con kit di fissaggio. Modificato: 19 giugno 2020 da Roberto Gioachin Link al commento Condividi su altri siti More sharing options...
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