I terminali serie MT500 dispongono di un orologio real time che funziona anche a terminale spento grazie ad una batteria interna. I valori di data e di ora sono disponibili su variabili interne.
RW 60000 valore secondi (Da 0 a 59) RW 60001 valore minuti (Da 0 a 59) RW 60002 valore ore (Da 0 a 23) RW 60003 valore giorno (Da 1 a 31) RW 60004 valore mese (Da 1 a 12) RW 60005 valore anno (Da 1980 a 2079) RW 60006 valore giorno settimana (Da 1 a 7)
Utilizzando oggetti Numeric input extend è possibile visualizzare e modificare i valori dell'orologio. Attenzione a non impostare valori al di fuori dal range definito perchè possono provocare malfunzionamenti dell'orologio.
Quando viene utilizzato il simulatore del terminale su PC come riferimento di tempo viene utilizzato l'orologio del PC, per evitare di modificarne inavvertitamente le impostazioni tutte le operazioni di scrittura sono disabilitate.
Ho un programma che visualizza il valore del Real Time Clock, quando sono in simulazione su PC il valore dell'orologio è corretto ed avanza regolarmente con il passare dei secondi.
Quando trasferisco il programma sul terminale il valore dell'orologio è fermo. Esiste qualche abilitazione per il funzionamento del Real Time Clock ?
Come discusso precedentemente quando viene utilizzato il simulatore del terminale su PC come riferimento di tempo viene utilizzato l'orologio del PC, mentre quando il programma è in esecuzione sul terminale viene utilizzato il Real Time Clock interno.
Non esistono abilitazioni, il valore è sempre disponibile, il fatto che non sia visualizzato potrebbe dipendere dalla sorgente impostata nei System Parameters Settings di progetto. E' infatti possibile sotto la scheda General impostare RTC Source scegliendo tra due opzioni, Internal RTC e Local Word. Per poter utilizzare l'RTC interno al terminale scegliere l'opzione Internal RTC.
Attenzione! Il terminale entry level della gamma, MT505 non ha la gestione del real time clock e della memoria ritentiva, cosi come indicato in questo post.