dani68 Inserito: 13 marzo 2011 Segnala Inserito: 13 marzo 2011 Buongiorno a tuttisto facendo un po' di pratica nella programmazione dell'HPLC e ho riscontrato questo problema.Ho realizzato un conta-ore con tre counter in cascata e un clock programmato a 1 HZ.il primo conta i secondi, il secondo i minuti con il THRESHOLD del primo e l'ultimo conta le ore con il THRESHOL del secondo.Il problema è che il tempo contato non corrisponde al tempo reale. Per contare 10 minuti ne occorrono 11.Allora per curosità ho provato a utilizzare un DELAY per ritardare l'attivazione di un uscita. Il risultato è il seguente: imposto un ritardo di 10 minuti e l'uscita si attiva dopo 10 minuti e 40 secondi.cosa mi sfugge?
RealTime Inserita: 13 marzo 2011 Segnala Inserita: 13 marzo 2011 dani68,Le tempistiche relative agli oggetti tipo CLOCK/DELAY/TON/TOF etc sono soggette a tolleranze che possono dipendere dalla complessita' del programma e da altre variabili.Per tempi relativamente lunghi è piu' opportuno usare il RTC integrato accessibile mediante il componente WKTIMER (Week-Timer)L'errore che tu riscontri è un pochino abbondante rispetto alla media ... RealTime
del_user_56966 Inserita: 13 marzo 2011 Segnala Inserita: 13 marzo 2011 In effetti se vuoi mettere poco codice nel programma e avere la massima precisionesarebbe più opportuno usare l'RTC nella tabella dei registri e flag ci sono i registri per accedereall'RTC sia come secondi/minuti/ore..quindi se ti serve un conta-ore inutile avere la risoluzione di un secondo, prendi per dato l'incremento dei minuti dell'RTCe quando scatta il minuto successivo incrementi il tuo contatore!penso che l'RTC comporti l'errore di qualche secondo al giorno (o al mese?) non di più?
dani68 Inserita: 14 marzo 2011 Autore Segnala Inserita: 14 marzo 2011 sarebbe più opportuno usare l'RTC nella tabella dei registri e flag ci sono i registri per accedereall'RTC sia come secondi/minuti/ore..quindi se ti serve un conta-ore inutile avere la risoluzione di un secondo, prendi per dato l'incremento dei minuti dell'RTCe quando scatta il minuto successivo incrementi il tuo contatore!Ho fatto due prove.La prima ho preso questa Flag %MX848.13 e l'ho messa al posto del clock ma il risulato non cambia. Rimane sempre il ritardo nel conteggio.Allora ho pensato di dovermi rivolgere a questi registri %MW7716,%MW7715.Ma non sono riuscito a capire come fare per riconoscere l'incremento del minuto in modo da poter poi sollecitare il counter.Domani ci sbatto la testa ancora.Grazie mille
aretusa Inserita: 14 marzo 2011 Segnala Inserita: 14 marzo 2011 In quei flag hai già il conteggio del tempo... perchè vuoi realizzare un contatore del tempo via ladder?Tu hai usato un bit di quei registri pensando che quelli debbano essere precisi per forza giusto?Secondo me il problema non riguarda la libreria clock in sè, ma l'esecuzione stessa del programma... cioè sicuramente se prendi i flag RTC e li leggi manterranno l'ora, e probabilmente anche la libreria CLOCK in sè cammina giusta di per sè, il problema di ritardo io credo sia dovuta ai tempi con cui l'hplc esegue i vari cicli, o comunque sia dovuta all'esecuzione del programma.... probabilmente l'hplc non è nato per fare stadi contatempo
del_user_56966 Inserita: 14 marzo 2011 Segnala Inserita: 14 marzo 2011 (modificato) Non ho provato un conta ore, però dato che di solito si contano le ore e non i secondi....se prendi il clock che scatta ogni minuto... ovvero il %MX848.15tramite quello (con fronte positivo) incrementi un contatore, dato che quello si attiva tramite RTCnon dovresti aver ritardi... se ho tempo domani faccio una prova... Modificato: 14 marzo 2011 da Aleandro2008
dani68 Inserita: 14 marzo 2011 Autore Segnala Inserita: 14 marzo 2011 Pensavo ad un conta ore di poduzione per generare degli allarmi di manutenzione ma in realtà stavo facendo un po' di ditattica per approfondire le conoscenze del sistema.Immagino che un buon conta ore lo si possa realizzare da supervisione. Ma comunque volevo provare ugualmente da hplc.Per quanto riguarda il registro %MX848.15 lo provo subito ma avento provato prima il %MX848.13 (che scatta ogni secondo ed è pilotato dallo stesso RTC) e avendo riscontrato il medesimo ritardo ho pensato che usare i %MX848.11, %MX848.12, %MX848.13, %MX848.14, %MX848.15 non fosse corretto.Grazie a tutti.Se scopro qualcosa vi faccio sapere
del_user_56966 Inserita: 14 marzo 2011 Segnala Inserita: 14 marzo 2011 Io proverei col registro che si attiva ogni minuto, tramite quello incrementi un contatore e il tuoconta-ore... con risoluzione al minuto è pronto!...fammi sapere!...
dani68 Inserita: 15 marzo 2011 Autore Segnala Inserita: 15 marzo 2011 E picchia la testa contro il monitor E picchia la testa contro il monitor una strada l'ho trovata... Con i registri %MX848.11 /12 /13 /14 /15 non c'è storia. Riscontro sempre un ritardo del 10%. Per fare 10 minuti occorrono 11 min (circa).Allora ho pensato di prendere la word %MW7715 che segna ora e minuti. Poichè i minuti sono fatti con i lower bits ho preso il bit 0 e il gioco è fatto. Il bit compie un ciclo intero in due secondi precisi. Linkato al counter spacca il secondo.Beh non so se mi servirà ma ho capito qualcosa in più.... Ciao a tutti e buonanotte
del_user_56966 Inserita: 15 marzo 2011 Segnala Inserita: 15 marzo 2011 L'uso dell'RTC hardware è sicuramente molto più preciso che non quello legato al software...
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