Home › Forum › Programmazione IEC 61131 (LogicLab) › Errore nell’utilizzo FB SNTPRequest
- Questo topic ha 1 risposta, 1 partecipante ed è stato aggiornato l'ultima volta 2 anni, 4 mesi fa da Sergio Bertana.
-
AutorePost
-
Dicembre 23, 2021 alle 4:40 pm #62893PaoloPartecipante
Sto provando ad utilizzare il FB SNTPRequest ma senza successo. Ho attivato lo spionaggio sul FB e ottengo l’errore 10052200 che da manuale lo riporta come ‘errore nelle sequenze di gestione’.
Per completezza:
Il progetto è un progetto XUnified compilato temporaneamente per XTarget con l’importazione della libreria eLLabXTargerAdjLib. E’ una versione solo di test in attesa dei plc finali. questo è il codice utilizzato ridotto all’osso.Per avviare la richiesta e testarne la funzionalità, imposto SNTPReq.QUERY a TRUE manualmente da LogicLab:
IF (SysFirstLoop) THEN SNTPReq.SpyOn:=TRUE; //Spy On SNTPReq.NTPServer:=ADR(SNTPServerIP); //NTP server END_IF; SNTPReq(); IF (SNTPReq.Done) THEN SNTPReq.Query:=FALSE; (* Query On *) IF (SNTPReq.Ok) THEN i:=SysSetUTCDateTime(SNTPReq.UTCTime); END_IF; END_IF;
qualche idea?
Dicembre 23, 2021 alle 4:41 pm #62936Sergio BertanaAmministratore del forumL’errore 10052200 come vedi indica che non si è ricevuta risposta dal server. Ora immagino che tu abbia inzializzato la stringa SNTPServerIP con l’URL del server da contattare vedi il mio esempio.
VAR i : UDINT; (* Auxiliary variable *) SNTPServerIP : STRING[ 32 ] := '0.pool.ntp.org'; (* UTC Date/Time reference *) SNTPReq : SNTPRequest; (* NTP request *) END_VAR IF (SysFirstLoop) THEN SNTPReq.SpyOn:=TRUE; //Spy On SNTPReq.NTPServer:=ADR(SNTPServerIP); //NTP server END_IF; SNTPReq(); IF (SNTPReq.Done) THEN SNTPReq.Query:=FALSE; (* Query On *) IF (SNTPReq.Ok) THEN i:=SysSetUTCDateTime(SNTPReq.UTCTime); END_IF; END_IF;
Importante il program deve essere eseguito nella task di Back.
Se vedi lo spionaggio dovresti vedere qualcosa di simile:
[Admin]> SpyData Spy data active, type "Ctrl-C" to exit... 18:12:29.152433|SNTPRequest:Lg|-------------------------------------------[Start NTP request]- 18:12:29.182338|SNTPRequest:Tx|1B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... 00 18:12:29.195978|SNTPRequest:Rx|1C 02 00 E7 00 00 00 A7 00 00 00 17 C1 CC 72 E9 E5 6F 17 82 EA ... 94 18:12:29.197057|SNTPRequest:Lg|RT Delay:13.606 (mS) 18:12:29.197475|SNTPRequest:Lg|---------------------------------------------[End NTP request]-
Naturalmente se il server non risponde non avrai il report di ricezione ma dovresti avere quello di trasmissione.
Sei sicuro di avere impostato correttamente nello SlimLine sia l’indirizzo IP del gateway e del server DNS?
Puoi verificare se lo SlimLine può accedere ad Internet eseguendo da una connessione Telnet un comando di ping verso un server noto.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.