lauretto Inserito: 17 agosto 2006 Segnala Inserito: 17 agosto 2006 Dal progetto HMI leggo in un DB la variabile INT proveniente da una Pt100.Volendo leggere questo valore in gradi Celsius, mi basterebbe moltiplicare il valore per 0,1 ma, per risparmiare potenza di calcolo, trasferisco il valore INT direttamente sull'OP.Come devo trattare questo valore per leggere i gradi Celsius?Con una funzione?Impostando solo i decimali?Mi piacerebbe poter leggere anche due cifre decimali.Grazie
Luca Bab Inserita: 17 agosto 2006 Segnala Inserita: 17 agosto 2006 Sull'op puoi scalare la variabile ( tramite 2 punti ) e decidere le cifre decimalipiccolo esempio , leggo un valore analogico e lo visualizzo in volt1 punto 0 - 02 punto 16.000 - 100una cifra decimaleIndirizzo sull'op direttamente l'ingresso analogico e l'op me lo visualizza in volt con un decimale ( senza fare niente da PLC )CiaoLuca
lauretto Inserita: 17 agosto 2006 Autore Segnala Inserita: 17 agosto 2006 Grazie per la risposta Luca.......ma temo di non aver capito In particolare, usi una funzione?Come si utilizza l'opzione "cifre decimali" in questo caso?Grazie.
Matteo Montanari Inserita: 17 agosto 2006 Segnala Inserita: 17 agosto 2006 selezioni la variabiletasto destro del mouseseleziona l'ultima voce del menu [Propietà...]nella finestra che si apre, selezioni l'ultimo sotto menù [Conversione]abiliti la selezione "Conversione lineare"nei campi a sinistra hai i valori che leggi nel pannello operatore, nei campi di destra hai i valori presenti nel PLC.se lasci tutto come è non hai nessun cambiamento nella variabile, se li modifichi hai la scalatura della varibile.ora dipende come sono scritti i tuoi dati nel PLC.supponiamo di modificare, nei campi di destra 1 -> 10 ed 10 -> 100, lasciamo inalterati i campi di sinistra per ora.nel PLC scrivi 10, sul pannello leggi 1 in quanto la varibile 1 del pannello corrisponde a 10 del PLC.nel PLC scrivi 100, sul pannello leggi 10 in quanto la varibile 10 del pannello corrisponde a 100 del PLC.nel PLC scrivi 1, sul pannello leggi 0.1 e così via.tutto questo però dipende da cosa scrivi nel PLC.per leggere 2 cifre decimali devi verificare prima la fattibilità nel PLC.
lauretto Inserita: 18 agosto 2006 Autore Segnala Inserita: 18 agosto 2006 Grazie per la chiarezza Keosmm, ma.......:-Mi dici di selezionare la variabile e di richiamare le proprietà. Devo selezionare la variabile impostata su Protool (nella finestra dedicata alle variabili)? In questo caso si apre una finestra in cui posso convertire il valore selezionando una "funzione": è questo che intendi?-Dovendo leggere direttamente una Pt100, mi ritrovo con un valore INT. Protool da la possibilità di 4 cifre decimali: ma come (e dove) si impostano?Thanks....
Matteo Montanari Inserita: 18 agosto 2006 Segnala Inserita: 18 agosto 2006 (modificato) Devo selezionare la variabile impostata su Protool (nella finestra dedicata alle variabili)?esatto, nella finestra dedicata alle variabili.In questo caso si apre una finestra in cui posso convertire il valore selezionando una "funzione": è questo che intendi?non si tratta di una "funzione" esterna, è tutto all'interno, nella gestione della variabile stessa.Dovendo leggere direttamente una Pt100, mi ritrovo con un valore INT. Protool da la possibilità di 4 cifre decimali: ma come (e dove) si impostano?le cifre decimali le imposti nella pagina dove visualizzi la variabile, ti occorre impostare un campo di lettura, abbinarlo alla variabile che ti interessa ed inserire quanti decimali vuoi.attenzione che il valore letto dalla sonda di temperatura, con la scalatura (o se preferisci linearizzazione) dell'ingresso analogico ti dà la precisione di una cifra decimale. (es. se la sonda legge 25°C nel canale analogico abbinato leggi 250 che equivale a 25.0). se vuoi aumentare la risoluzione (in questo caso l'hardware non te lo permette) devi eseguire delle operazioni matematiche (nel PLC o nel pannello).-------------------------leggere i manuali??? troppo complicato? Modificato: 18 agosto 2006 da keosmm
lauretto Inserita: 18 agosto 2006 Autore Segnala Inserita: 18 agosto 2006 Grazie Keosmm,Tengo subito a precisare che, avendo letto parecchi tuoi post, leggo sempre i manuali prima di.....sbagliare.Nonostante ciò, noto che ancora qualcosa non va......mi spiego:Come da manuale, ho impostato nella finestra opportuna, una variabile collegata (in un progetto STEP7) ad un'altra variabile all'interno di un DB: sto parlando del valore INT letto dalla periferia (PEW....) e collocato (per questioni di ordine) in questo DB.All'inizio, volendo evitare complicazioni, non ho eseguito nessuna scalatura e non ho impostato nessuna cifra decimale. In queste condizioni, la sonda rilevava 27,4 °C e L'OP visualizzava (fisiologicamente) 274.Avendo constatato che tutto funzionava, ho introdotto una funzione lineare (Protool la chiama "Calcolo lineare2), in modo da moltiplicare il 274 per 1\10. Risultato: l'OP visualizzava 27, senza nessun decimale.A questo punto, come da manuale, vado nelle proprietà della variabile in questione e scelgo 1 cifra decimale, lasciando attiva la funzione lineare. Risultato: l'OP visualizza 2,7 °CQuesto mi fa pensare che la sola scelta della cifra decimale, mi permette una scalatura........ma se elimino la funzione mi ritrovo con una serie di cancelletti (#####)......e questo sul manuale non riesco a trovarlo.A che pagina si trova la spiegazione? Grazie
Matteo Montanari Inserita: 18 agosto 2006 Segnala Inserita: 18 agosto 2006 facciamo dei passi indietro.crea una nuova variabile, chiamala come vuoi, andando a puntare direttamente il valore della DB (quella che l'OP visualizzava (fisiologicamente) come 274 per interderci.) in questa variabile non fare assolutamente nulla, non attivare nessun tipo di conversione o linearizzazione.nella pagina inserisci 2 campi puntando alla stessa variabile. nel primo campo non mettere nulla (visualizando quindi 274), nel secondo campo inserisci 1 cifra decimale ed aumenta di "1" (il puntino) il valore nella lunghezza campo.prova e riporta quello che ottieni
lauretto Inserita: 18 agosto 2006 Autore Segnala Inserita: 18 agosto 2006 Ancora grazie per la disponibilità.L'idea dei due campi separati dal puntino è veramente utile: la terrò in mente.In effetti adesso ho risolto il problema....ma per altre vie.......Come anticipato nel post precedente, ho eliminato tutte le funzioni e mi sono limitato a scegliere una cifra decimale: tutto funziona correttamente.Quello che non capisco è che ieri (con lo stesso procedimento) ottenevo soltanto cancelletti.......mah, è proprio vero: io e Protool, ogni tanto, non andiamo per niente daccordo Non mi resta che ringraziarti caro Keosmm: i tuoi posts sono essenziali alla mia didattica!Ciao.
Matteo Montanari Inserita: 18 agosto 2006 Segnala Inserita: 18 agosto 2006 (modificato) i "####" vengono visualizzati quando il numero presente nella variabile supera il campo predisposto alla varibile stessa.esempio se ho un campo da "2" posso visualizzare fino a 99, se la mia variaible raggiunge 100 sul pannello leggo ##.se utilizzi i numeri con la cifra decimale, il puntino "." è comunque un carattere, ritornando all'esempio di prima, del 99 trasformato in 99.0 ho da visualizzare "4" caratteri e non "2" come in precedenza.se voglio superare il limite di 99.9 devo visualizzare "5" caratteri ed il mio campo di lettura è da 0.0 a 999.9-----nel caso di 999.99 devo dichiarare 2 cifre decimali e 6 caratteri, se vuoi procedere secondo questo criterio devi comunque scalare la variabile come ti ho detto in precedenza (dentro le propietà della variaible stessa) quindi il plc scriverà 274, il pannello lo trasforma in 2740 mentre la visualizzazione sarà di 27.40 Modificato: 18 agosto 2006 da keosmm
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