Il messaggio di errore User program error indica la comparsa di un errore all’interno di qualche funzione o FB del programma utente. Essendo un errore di programma utente viene considerato come semplice warning dal sistema operativo (Infatti ha il suffisso [W]) e le warnings non sono salvate nel file di log.
Per risalire all’errore devi cercarlo nel Manuale programmazione IEC61131-3, ma siccome alcuni errori fanno parte di un range consiglio di cercare gli errori utilizando solo le prime 4 cifre (Nel tuo caso 9985). Eseguendo la ricerca vedrai che si tratta di un errore relativo al FB SysGetPhrDI, get peripheral digital input. In pratica è definito un modo di acquisisizione non supportato.
In riferimento all’ora di sistema anche se siamo Off-topic ti ricordo che nei nuovi moduli Cortex M7 il real time clock và ordinato come opzione. Se il modulo è connesso ad Internet puoi utilizzare il FB SNTPRequest che aggiorna l’ora interna al modulo utilizzando un server orario.