Accueil > Forum > Programmation IEC 61131 (LogicLab) > Synchronisation avec le serveur NTP
- Ce sujet a 1 réponses, 2 participants et a été mis à jour pour la dernière fois 4 années, 6 mois da Sergio Bertana.
-
auteurPost
-
June 13, 2019 à 8: 56 am #48136Enrico VivianiPartecipante
Bonjour, j'essaie de synchroniser un système d'exécution Mps046_XTarget_12_0: 1.10.3 avec un serveur NTP, mais je ne parviens pas à obtenir de résultats. J'ai essayé tous les serveurs it.ntp.pool.org inrim.it europe.pool.ntp.org sans succès, voici le code que j'utilise.
SNTPReq(NTPServer:=ADR(server),Query:=LookFor AND EnableNTP,SpyOn:=TRUE); IF (SNTPReq.Done) THEN IF (SNTPReq.Ok) THEN i:=SysSetUTCDateTime(SNTPReq.UTCTime); LookFor:=FALSE; bFound:=TRUE; END_IF; IF (SNTPReq.Fault) THEN LookFor:=FALSE; changeserver:=TRUE; END_IF; END_IF;
Voici le résultat de l'espion:
10:25:24(9999)|Lg|-------------------------------------------[Start NTP request]- 10:25:39(9999)|Er|UDP Client error:09943135 10:25:39(0014)|Er|Error:10052110
Septembre 25, 2019 à 7: 22 am #49998Sergio BertanaAdministrateur du forumJe réponds en retard car le message était terminé en SPAM, mais la question pourrait être utile à d'autres.
9943135 Erreur de résolution d'adresse, indiquant que le client UDP ne peut pas résoudre l'adresse IP à laquelle se connecter. En fait, d'après ce que vous écrivez, il semble que vous transmettez l'URL du serveur, mais sur les systèmes ARM comme le MPS046, le système d'exploitation n'a pas de gestion DNS et ne peut pas résoudre les URL.
La gestion du serveur DNS a été introduite sur les systèmes CortexM7, sur les systèmes ARM il faut passer l'adresse IP, il est possible par programme d'utiliser le FB DNSRequest exécuter la demande sur le serveur de résolution d'URL DNS, puis basculer vers le FB SNTPRequest l'adresse IP renvoyée.
-
auteurPost
- Vous devez être connecté pour répondre à ce sujet.