baltimora Inserito: 11 giugno 2010 Segnala Inserito: 11 giugno 2010 In che modo si può convertire il valore e/o parte di esso proveniente da un ingresso analogico in un valore con segnp negativo?Mi spiego meglio: Ho un sensore di temperatura con uscita analogica 0-5 volt e range di temperatura da -20 a +80. ( di cui da 0 a 1,8 volt per il range da -20 a 0 gradi e da 1,8 a 5 volt per il range da 0 a 80 gradi).Ora come faccio a visualizzare e/o convertire in negativo quella parte di segnale (tensione) una volta fatta la dovuta proporzione che fa riferimento a -20 a o gradi?Grazie
mubeta Inserita: 11 giugno 2010 Segnala Inserita: 11 giugno 2010 Se la proprzione di scalatura che farai sarà lineare, il negativo verrà da solo, dove è il problema?Ci sono già state discussioni sulle tecniche di scalatura. Puoi cercare quelle se non sai quel poco di matematica che occorre.
baltimora Inserita: 12 giugno 2010 Autore Segnala Inserita: 12 giugno 2010 In tutta sincerità, non ho ancora scritto una riga di programma, stavo cercando di capire come impostrare il tutto. Premetto che il PLC in questione è un S7 1200, e se ho ben capito c'è anche un'istruzione chiamata SCALE_X (Riporta in scala) che dovrebbe servire appunto per svolgere questa funzione, ma non sono certo che serva proprio a questo, domani voglio provarla. In realtà mi farebbe piacere se qualcuno potesse comunque spiegarmi cone fare la conversione (matematicamente) nel PLC anche per cultura personale.Grazie
thinking Inserita: 12 giugno 2010 Segnala Inserita: 12 giugno 2010 Ti posso rispondere solo per quanto riguarda la formula:Devi leggere un range di 5V che corrisponderanno a 100 gradi (80+20). Dunque devi moltiplicare per 20.Poi la scala non parte da zero ma da -20, dunque devi restare 20.La formula sarà: T= 20xt - 20 dove T è la temperatura e t la tensione.ciao
baltimora Inserita: 13 giugno 2010 Autore Segnala Inserita: 13 giugno 2010 Scusa ma non ho capito, perchè devo motiplicare per 20?Nel mio ingresso analogico, una volta effettuata la cnversione, ottengo un valore se in (int) che va da - 32768 a + 32767 (con segno ) o a 65536 (senza segno), mentre se è (real) va da - 2147483648 a + 2147483647 (con sengno) o a 4294967296 (senza segno) quindi questo significa nel caso la conversione sia stata fatta in un numero intero ( INT) che quando sul mio ingresso analogico ho i 10 volt, dovrei ritrovarmi un valore pari a 32767. quindi quando ho i 5 volt (uscita massima del mio sensore) che corrispondono a 60 gradi C (nel precedente mio posto ho dato un'informazione errata dicendo che il valore massimo rilevato dal sensore fossero 80 gradi) dovrei quindi avere un valore pari a 16xxx. Credo che mi sfugga qualcosa.Ciao
thinking Inserita: 13 giugno 2010 Segnala Inserita: 13 giugno 2010 Io ti ho messo una formula generica per fare un cambio di scala. Come ragiona il Siemens non lo so perché non lo conosco.ciao
amed Inserita: 14 giugno 2010 Segnala Inserita: 14 giugno 2010 Molto probabilmente quando inserisci nel videoterminale il campo numerico per visualizzare la temperatura, puoi anche di impostare la scala di conversione dal numero binario che hai in una word e che corrisponde al segnale 0-5 volt, al numero da -20 a +80°C che vuoi visualizzare nel campo nuemrico.
sondino Inserita: 14 giugno 2010 Segnala Inserita: 14 giugno 2010 (modificato) ci provo:Prendi 32000 e non 32767 che è il valore max che può leggere l'ingresso (10volt=32000), dividila per 200 (80+20X2) perchè tu usi massimo 5 volt e il valore max per il plc è 10v = 32000/200=160 e moltiplicalo per 20=3200 che è il valore negativo che vuoi visualizzare quando l'ingresso è 0 volt quindi prendi la aiw che ti interessa, gli sottrai 3200 e la moltiplichi per 160.prova del 9: 16000 è il valore in ingresso quando hai 5 volt quindi 80 gradi?=16000-3200/160=80...taaac!Altra prova a 0 volt quindi -20gradi: 0-3200/160=-20 taaaac!Al risultato applica un trunc così non vedi più le virgole.Per fare i calcoli puoi usare gli accumulatori (AC0, AC1, AC2, non so quanti ce ne sono ma mella guida online c'è scritto) esempio: SUB aiw0 con 3200 risultato in ac0, DIV ac0 con 160 risultato ac1, trunc Ac1 in VW0.VW0 sarà la tua lettura. Se vorrai disualizzare anche i decimali invece di trovare il rapporto 32000/200=160 fai 32000/20=16 e avrai il risultato con una cifra (centinaia) in più poi sul pannello se lo hai, gli imposti la virgola a un decimale. Io di solito faccio un po' di confusione con numeri reali. Non mi ricordo mai se gli interi possono essere negativi o servono i reali o se si usano le VW o le VD per i reali. Sono il solito casinista che però risolvo quando sono sul programma. Ho poca memoria.. Io faccio così per scalare il segnale dei trasduttori di pressione 4-20mA.Provaci...Adès vo a dormèr (adesso vado a dormire).L'ora di PLC Forum è indietro di 2 ore... Modificato: 14 giugno 2010 da sondino
baltimora Inserita: 15 giugno 2010 Autore Segnala Inserita: 15 giugno 2010 (modificato) Un grazie a tutti coloro che mi hanno risposto, in particolar modo a Batta, col quale ho avuto uno scambio di MP.Ho compreso dove era il mio errore. L'ingresso analogico del logo non va da -32768 a + 32767 come credevo ma va da-27647 a + 27648.Sul soft Step 7 10.5 basic come detto nel mio precedente post, vi è un'istruzione apposita per portare in scala un segnale analogico dopo averlo (normalizzato).L'ora di PLC Forum è indietro di 2 ore...Ti correggo 1 ora soltantoCiao Modificato: 15 giugno 2010 da baltimora
sondino Inserita: 15 giugno 2010 Segnala Inserita: 15 giugno 2010 Ti correggo 1 ora soltantoCiaoStrano, avevo risposto a un quarto a mezzanotte e l'orario della risposta è 21:46, mah!
baltimora Inserita: 15 giugno 2010 Autore Segnala Inserita: 15 giugno 2010 (modificato) L'ingresso analogico del logoIntendevo dire dell'S7 1200Perdonate l'errore. Modificato: 15 giugno 2010 da baltimora
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