biondo Posted February 20 Report Posted February 20 Ciao a tutti, mi trovo ad utilizzare i pannelli Unified serie Comfort.Sto cercando di fare dei test per capire meglio come poterli integrare poi sul campo. Ho un problema con le variabili di tipo TIME 🥵collegate direttamente al PLC.Nel campo IO del pannello se dichiaro la variabile di tipo TIME, quando inserisco compare un bruttissimo tastierino per inserire ore,minuti e secondi.Come posso evitare ed inserire magari un numero di tipo REAL e poi convertirlo in TIME con uno script ? Qualcuno ha già affrontato questo ? Come avete risolto ? Grazie per le eventuali dritte.Buona giornata
beppeconti Posted February 20 Report Posted February 20 (edited) Prova a cambiare la formattazione del campo "Output Format". La formattazione segue lo standard UNICODE CLDR. Edited February 20 by beppeconti
biondo Posted February 21 Author Report Posted February 21 Ciao al momento mi sono fatto un FB "mio_timer" in cui a pannello gli passo un valore real in formato x.xx con il tastierino decente e classico (per me sono es 3,45s) lo moltiplico per 1000 e lo converto in UDINT, poi lo trasformo in variabile di tipo TIME per poi passarglielo ad un timer di tipo TON.Funziona ....ma che menata!!! Non c'è un sistema per farlo con Java script ? in modo da non toccare proprio il PLC....sto pensando a impianti vecchi con parecchi settaggi in formato time....come posso risolvere ?Qualche idea ?💡Vorrei gestire ogni tempo a pannello facendo la stessa cosa in Java.
Mattia Spoldi Posted February 21 Report Posted February 21 qui ti spiegano come fare, se sei con tia 20/21 è semplice, con quelli più vecchi è scomodo ma si può comunque https://support.industry.siemens.com/cs/document/109816808/wincc-unified-display-integer-value-in-an-i-o-field-with-decimal-places?dti=0&lc=en-IT
biondo Posted February 23 Author Report Posted February 23 Ciao Mattia, quello che intendo è usare nel campo dati un dato di dipo real formattato con {F} in modo da avere il formato x,xx poi devo convertirlo per forza in UDINT e poi in TIME.Quindi come faccio in JAVA ? Esiste una sorta di REAL_TO_UDINT e successivamente un UDINT_TO_TIME ? io non l'ho trovato e chiedo lumi su come poter fare... o magari c'è un sistema migliore che mi sfugge.Tutto questo per passare il valore poi convertito nel campo PT di un timer di tipo TON. Grazie a tutti
Mattia Spoldi Posted February 23 Report Posted February 23 non c'è bisogno di conversioni, se guardi nella sezione B del link ti spiega come fare
biondo Posted February 25 Author Report Posted February 25 Il 23/02/2026 alle 18:47 , Mattia Spoldi ha scritto: non c'è bisogno di conversioni, se guardi nella sezione B del link ti spiega come fare La parte B riguarda solo un numero intero e poi convertito in decimali, ma non è il mio caso.... Non posso passare ad un timer (TON) come PT un intero o un real o un udint...non funziona.Devo passargli per forza un dato di tipo TIME. Quindi come faccio nel mio campo IO trasformarlo ?
84paolo Posted February 25 Report Posted February 25 Ad un timer puoi anche passare un DINT dove il numero contenuto indica i millisecondi. se a pannello metti i secondi poi fai per 1000, oppure metti direttamente la variabile DINT con 3 virgole
biondo Posted February 26 Author Report Posted February 26 Grazie 84paolo. Ho risolto e condivido con voi , dichiarato la variabile DINT che ho assegnato poi al PT del Timer. Nel pannello Unified ho messo nel IO Field , formato di emissione {F} , Valore di processo : export function Mio_IO_Field_ProcessValue_Trigger(item, triggerDataSet) { var value; let tag = Tags("HMI_Var_Dint"); value = tag.Read()/1000; return value; } EVENTI --> (inserimento terminato) ho aggiunto lo script : export function Mio_IO_Field_OnInputFinished(item, value) { let tag = Tags("HMI_Var_Dint"); let varErr = tag.Write(value*1000,1); //gestione errore if (varErr =! 0) { item.ProcessValue=tag.Read()/1000 } } così facendo inserisco a video 1,33 correttamente e lato plc sul mio timer vedo 1330 Grazie a tutti.😄
mdc93 Posted Wednesday at 01:33 PM Report Posted Wednesday at 01:33 PM (edited) ***** N. d. m. ***** Per favore leggi il regolamento: gli accodamenti non somo mmai ammessi. Se vuoi risposte devi aprire una nuova discussione. Edited Wednesday at 02:28 PM by Livio Orsini
acquaman Posted Wednesday at 02:28 PM Report Posted Wednesday at 02:28 PM No, mettete come formato di emissione 'Durata' {P}, e si gestisce lui anche l'immissione dei dati senza dover fare nessuna conversione, finalmente.
Recommended Posts