smsmsms Inserito: 4 gennaio 2005 Segnala Share Inserito: 4 gennaio 2005 Tramite un OP7 l'operatore inserisce dei tempi (es. 100 = 100 msec ecc...)Ora, mi interesserebbe convertire tale valore intero in S5T per associarlo ad un timer.Ho provato a definire il DB su cui vado a scrivere di tipo S5T e da pannello (utilizzando il simbolico)mi crea una variabile di tipo timer ma quando scrivo ottengo un valore non conforme a quello da me atteso.Qualcuno ha qualche idea? La conversione deve essere effettuata sul pannello o sul plc? Sto utilizzando una 314e non ho trovato alcun FC/FB di sistema per convertire un valore INT in S5T?Grazie Link al commento Condividi su altri siti More sharing options...
SuperD Inserita: 4 gennaio 2005 Segnala Share Inserita: 4 gennaio 2005 Ti consiglio di guardare il manuale di programmazione di S7, e noterai di come è composto la variabile S5T, mi sembra che i primi 12 bit sono il valore del timer in bcd, gli ultimi due bit indicano il formato del tempo. Comunque per essere sicuro di questo guarda nel manualeCiao Link al commento Condividi su altri siti More sharing options...
jumpier Inserita: 4 gennaio 2005 Segnala Share Inserita: 4 gennaio 2005 Prova a guardare questa discussionehttp://www.PLCForum.it/forums/index.php?sh...esso+analogico#Ciao Link al commento Condividi su altri siti More sharing options...
Matteo Montanari Inserita: 4 gennaio 2005 Segnala Share Inserita: 4 gennaio 2005 (modificato) Ho provato a definire il DB su cui vado a scrivere di tipo S5T e da pannello (utilizzando il simbolico)mi crea una variabile di tipo timer ma quando scrivo ottengo un valore non conforme a quello da me atteso.dipende dal valore che ti attendi tu? e diepnde se il valore che ti attendi è quello che "gusta" anche al PLC.la procedura che hai descritto è corretta e normalmente si utilizza quella per scrivere un valore al timer. conta che la variabile è "definita" in millisecondi.in alternativa utilizza quello che è scitto nel post che ti hanno suggerito:L valore tempo (INT dal tuo pannello) ITB // converti intero in BCDL w#16#2000 // base tempo in secondi (in questo caso)( oppure L w#16#0000 // base tempo in secondi * 0.01 (centesimi di secono)L w#16#1000 // base tempo in secondi * 0.1 (decimi di secondo)L w#16#2000 // base tempo in secondi * 1 (secondi)L w#16#3000 // base tempo in secondi * 10 i timer non hanno una risoluzione inferiore ai 10 millesimi di secondo)OW // esegui l'OR di wordT preset temporizzatore // otterrai il tuo preset Modificato: 4 gennaio 2005 da keosmm Link al commento Condividi su altri siti More sharing options...
oiuytr Inserita: 4 gennaio 2005 Segnala Share Inserita: 4 gennaio 2005 Se definisci la variabile come "TIMER" anziche' INT, ci pensa l'OP7 a scrivere la variabile in modo corretto. La cosa che non poi cambiare e' la rappresentazione sul display, che e' sempre in secondi; per immettere 100ms devi scrivere 0.1, per immettere 1 ora deviscrivere 3600 Link al commento Condividi su altri siti More sharing options...
smsmsms Inserita: 5 gennaio 2005 Autore Segnala Share Inserita: 5 gennaio 2005 Grazie per le info. Ho guardato il links di jumpier e seguito i suggerimenti postati dopo ed ho risolto.Il DB lo lascio in INT e poi mi faccio la conversione in BCD.Grazie e ciao Link al commento Condividi su altri siti More sharing options...
dakka Inserita: 31 agosto 2006 Segnala Share Inserita: 31 agosto 2006 Scusate l'ignoranza,mi trovo nella condizione di visualizzare su un OP7 il valore di un tempo s5t da un acpu s7-315.Che tipo di conversione formato devo utilizzare?Avevo pensato di prendere il valore del s5t e fare una or ex a word x rimuovere il valore base tempi e poter visualizzare almeno il numero da 32nnn a zero che scorre.Qualcuno mi puo' dare qualche dritta?Grazie in anticipo. 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