maxplc82 Inserito: 13 dicembre 2006 Segnala Inserito: 13 dicembre 2006 Ciao a tutti.Come faccio a visualizzare i decimali con wincc v6.0 di una variabile associata a un ingresso analogico.Io ho configurato la variabile nel seguente modo:STEP7:word con segno WINCC v6.0:variabile: valore a 16bit con segnocampo I/O: formato decimale, visualizzazione: 999,9Ecco cosa mi appare in wincc: 218,0 con valore 218 in step7 (dove la temperatura è 21,8°C)come faccio a portare il n°8 dopo la virgola e visualizzare 21,8 e non 218,0.Grazie.Massimo
Savino Inserita: 13 dicembre 2006 Segnala Inserita: 13 dicembre 2006 (modificato) Ciao Massimo,Dunque..L'insieme dei numeri decimali involve due sottoinsiemi di propieta' diverse: i numeri interi e i numeri in virgola mobile (floating-point).La variabile PLC in rappressentazione ingenieristica 2180 potrebbe essere formatata come decimale intero oppure in virgola mobile per poi essere visualizzata. esempio:Tag type I/O integer var1 = 2180 ( 16 bits )Tag type I/O Real var2 = 218,0 ( 32 bits ) Se l'intervallo per la variabile ingenieristica sarebbe stabilito tra 0 e 9999 allora se la formati come intero l'intervallo per la visualizzazione sara' 0 - 999 [°C], incambio in virgola mobile sara' 0,0 - 999,9 [°C].come faccio a portare il n°8 dopo la virgola e visualizzare 21,8 e non 218,0.Allora... se lo leggi come numero in virgola mobile ( formatato nel PLC ) :Tag type I/O Real var2 = ###,# [ 0,0 - 999,9 ] [°C].Altrimenti lo leggi come intero ... per esempio:7456 ... poi implementando uno script formati l'intero in una variabile tipo STRING... per dopo visualizzarlo cosi':Se Var_String e' una STRING... ( " ###.# " , Var_String[0], Var_String[1] ,Var_String[2] ,Var_String[3] ).... 745.6 [°C]Non so ... per formatare la varabile "Int" come "String" puoi utilizzare la member "Format" della Classe "CString" oppure "sprintf" .. etc.Link CString.Link CStringLink sprintf Modificato: 13 dicembre 2006 da Savino
Simone70 Inserita: 14 dicembre 2006 Segnala Inserita: 14 dicembre 2006 Dapprima una domanda: Sei sicuro che Il WinCC sia la versione 6.0 (non esiste) o si tratta di Protool?In ogni caso io di solito faccio la rappresentazione 99999 e imposto la voce Sposta punto decimale a 1
rguaresc Inserita: 14 dicembre 2006 Segnala Inserita: 14 dicembre 2006 Lavorando dal solo lato WinCC 6.0 Crea un campo di uscita, selezionalo, tasto destro del mouse, proprieta', Uscita/Ingresso, seleziona il campo Dinamico di valore di uscita, tasto destro e apri la "Finestra dinamica"Nel campo dell'Espressione-Formula" scrivi la formula 'tag_variabile' / 10.0 e seleziona "Diretto" come campo di validita'.
maxplc82 Inserita: 26 dicembre 2006 Autore Segnala Inserita: 26 dicembre 2006 Ok, ringrazio tutti ma mi è tornato più utile il messaggio di rguaresc.Adesso ho un altro problema:nel caso di campo di uscita, ok.Invece se devo usare un campo I/O con impostazione della temperatura manualmente, come faccio.Se inserisco 21,6 in wincc, nel plc mi ritrovo 22.P.S. per Simone70 : In che senso non esiste? Io ho wincc v6.0 e l'ho appena aggiornato alla v.6.4Grazie.Massimo
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