mazzucconi Inserito: 23 luglio 2008 Segnala Share Inserito: 23 luglio 2008 Buongiorno a tutti,io vorrei sapere se è possibile convertire un tempo in formato simatic in decimale.Ho questa necessità in quanto il programma di supervisione non riconosce il formato Siemens.Grazie Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 23 luglio 2008 Segnala Share Inserita: 23 luglio 2008 c'e' l'istruzione BTI che converte un numero bcd in interoIl tempo simatic S5Time e' un bcd ....Se ti interessa ti posto un codice che ho scritto per convertire da un numero reale a s5timeCi lavori un po intorno , modifichi ed ottieni quello che vuoi ....posti il codice , magari a qualcuno puo interessare L #Tempo_R L 1.000000e+001 *R TRUNC T #App L #App DTB L W#16#1000 OW T #Tempo_S Link al commento Condividi su altri siti More sharing options...
mazzucconi Inserita: 24 luglio 2008 Autore Segnala Share Inserita: 24 luglio 2008 Buongiorno a tutti,ho utilizzato il codice di Walterword e posto il risultato ottenuto.L #tempo_simaticBTDT #appoggio_tempo // (in doppia W)L #appoggio_tempo L L#1000-DT #risultato_intero // (in doppia W)L #risultato_intero // (in doppia W)DTRL 1.000000e+001/RT #risultato_decimaleGrazie. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 luglio 2008 Segnala Share Inserita: 24 luglio 2008 Così funziona solo se la base tempi è di 100ms.Un tempo S5Time è così formato:i 3 digit meno significativi (bit da 0 a 11) contengono il valore in BCD (da 0 a 999)i bit 12 e 13 contengono la base tempi, secondo la seguente codifica:00 = base tempi 10 ms01 = base tempi 100 ms (ecco perché il tuo esempio funziona solo con questa base tempi)10 = base tempi 1000 ms11 = base tempi 10000 ms Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 24 luglio 2008 Segnala Share Inserita: 24 luglio 2008 si lo sappiamo batta il 1000 in esadecimale altro non e' che la rappresentazione degli ultimi due bit del formato da te esposto Comunque bene che si sviluppino le cose in quesot modo , ci si aiuta , si parte da uno spunto , si raggiunge un target e si posta il codice per i meno fantasiosi .Bene anceh batta che ha motivato nei dettagli Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 24 luglio 2008 Segnala Share Inserita: 24 luglio 2008 se invece di mettere in or 1000 si mette 2000 si ottiene un'altra base dei tempiSela necessità e' quella di poter avere ampia scelta , basta scrivere un funzione fc che in base al tempo desiderato selezioni 1000 piuttosto che 2000 , non e' un problema , ma una finezza ..... Link al commento Condividi su altri siti More sharing options...
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