Gabrcatt Inserito: 1 febbraio 2019 Segnala Inserito: 1 febbraio 2019 Ciao a tutti! Volevo gentilmente avere un aiuto per fare un countdown che ti mostrasse giorni, ore, minuti e secondi che mancano ad una data impostata.... come potrei procedere? Qui un esempio di cosa vorrei Questo visibile da pannello operatore Configurazione: CPU 1510SP F-1 PN + TP2200 COMFORT PRO GRAZIE MILLE A TUTTI!
ifachsoftware Inserita: 2 febbraio 2019 Segnala Inserita: 2 febbraio 2019 Ciao , io avevo fatto un programma per convertire il formato Time di un Timer.ET nei minuti mancanti come da immagine allegata . Invece in questo esempio in Javascript (lo puoi facilmente convertire in ST) ti mostra come convertire un numero in secondi in Giorni , Ore , minuti e secondi) function SecondsToString(sec) { var tmp = sec; var Days = Math.floor(tmp / 86400); tmp -= Days * 86400; var Hours = Math.floor(tmp / 3600); tmp -= Hours * 3600; var Min = Math.floor(tmp / 60); tmp -= Min * 60; var textDate = ""; if(Days > 0) { textDate = textDate + Days + " Days"; } if(Hours > 0) { if(textDate.length > 0){ textDate += " " }; textDate = textDate + Hours + " Hours"; } if(Min > 0) { if(textDate.length > 0){ textDate += " " }; textDate = textDate + Min + " Minutes"; } if(tmp > 0) { if(textDate.length > 0){ textDate += " " }; textDate = textDate + tmp + " Seconds"; } return textDate; }
alessandropa Inserita: 2 febbraio 2019 Segnala Inserita: 2 febbraio 2019 Non so se possa funzionare ma, se tu alla data che imposti da pannello(ammessa che sia futura), sottrai la data attuale del plc la variabile risultato è il tuo countdown. Non lo posso provare sto solo pensando.
Gabrcatt Inserita: 5 febbraio 2019 Autore Segnala Inserita: 5 febbraio 2019 Ciao @alessandropa, però bisogna purtroppo tenere conto dell'anno bisestile ecc... Temo che ci sarà molto da sudare!
Gabrcatt Inserita: 5 febbraio 2019 Autore Segnala Inserita: 5 febbraio 2019 il 2/2/2019 at 08:17 , ifachsoftware scrisse: Ciao , io avevo fatto un programma per convertire il formato Time di un Timer.ET nei minuti mancanti come da immagine allegata . Invece in questo esempio in Javascript (lo puoi facilmente convertire in ST) ti mostra come convertire un numero in secondi in Giorni , Ore , minuti e secondi) function SecondsToString(sec) { var tmp = sec; var Days = Math.floor(tmp / 86400); tmp -= Days * 86400; var Hours = Math.floor(tmp / 3600); tmp -= Hours * 3600; var Min = Math.floor(tmp / 60); tmp -= Min * 60; var textDate = ""; if(Days > 0) { textDate = textDate + Days + " Days"; } if(Hours > 0) { if(textDate.length > 0){ textDate += " " }; textDate = textDate + Hours + " Hours"; } if(Min > 0) { if(textDate.length > 0){ textDate += " " }; textDate = textDate + Min + " Minutes"; } if(tmp > 0) { if(textDate.length > 0){ textDate += " " }; textDate = textDate + tmp + " Seconds"; } return textDate; } Ciao! Purtroppo ho capito che bisogna considerare anno bisestile ecc.... esce fuori un casino nulla dovrò orientarmi su altro! Grrazie mille a tutti comunque!
ifachsoftware Inserita: 5 febbraio 2019 Segnala Inserita: 5 febbraio 2019 (modificato) ((anno % 4 == 0 && anno % 100 != 0) || anno % 400 == 0) In C col codice sopra indicato ti indica se l'anno passato è Bisestile .... (considera che % in C vuol dire fare il modulo ossia puoi utilizzare la funzione del PLC MOD) Ti ho allegato sotto il codice in ST Modificato: 5 febbraio 2019 da ifachsoftware
Livio Orsini Inserita: 5 febbraio 2019 Segnala Inserita: 5 febbraio 2019 (modificato) 18 minuti fa, ifachsoftware scrisse: In C col codice sopra indicato ti indica se l'anno passato è Bisestile .... Almeno sino al prossimo millennio. (Gli anni millenerari non possono essere bisestili, così dopo il 1996 l'anno bisestile seguente non fu il 2000, ma il 2004) Modificato: 5 febbraio 2019 da Livio Orsini
Gabrcatt Inserita: 5 febbraio 2019 Autore Segnala Inserita: 5 febbraio 2019 51 minuti fa, Livio Orsini scrisse: Almeno sino al prossimo millennio. (Gli anni millenerari non possono essere bisestili, così dopo il 1996 l'anno bisestile seguente non fu il 2000, ma il 2004) Ciao Livio in che senso? che tipo gli anni 2000, 3000, 4000 ecc... non avranno il 29 a febbraio? 1 ora fa, ifachsoftware scrisse: ((anno % 4 == 0 && anno % 100 != 0) || anno % 400 == 0) In C col codice sopra indicato ti indica se l'anno passato è Bisestile .... (considera che % in C vuol dire fare il modulo ossia puoi utilizzare la funzione del PLC MOD) Ti ho allegato sotto il codice in ST Ci provo e ti dico Grazie mille ancora!
batta Inserita: 5 febbraio 2019 Segnala Inserita: 5 febbraio 2019 Quote Gli anni millenerari non possono essere bisestili Se mi ricordo bene, a non essere bisestili non sono gli anni "millenari", ma ogni 4 secoli. Non è stato bisestile il 1600, non è stato bisestile il 2000, non sarà bisestile il 2400. Ma non credo che, per noi, questo rappresenti un grosso problema ;-)
Gabrcatt Inserita: 5 febbraio 2019 Autore Segnala Inserita: 5 febbraio 2019 1 ora fa, batta scrisse: Se mi ricordo bene, a non essere bisestili non sono gli anni "millenari", ma ogni 4 secoli. Non è stato bisestile il 1600, non è stato bisestile il 2000, non sarà bisestile il 2400. Ma non credo che, per noi, questo rappresenti un grosso problema 😉 Su questo concordo
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