Protocoles et données

Horodatage des mesures : heure de mesure et heure d’arrivée

Mesures : heure source, de collecte ou d’arrivée, étiquette d’intervalle, fuseaux, synchronisation, données tardives et doublons.

Une mesure de capteur peut porter jusqu’à trois instants : celui où la valeur a été mesurée, celui où une passerelle l’a collectée et celui où le système récepteur l’a reçue. En temps normal, quelques secondes les séparent et le choix de l’horodatage à conserver semble sans conséquence. Après une panne réseau, plusieurs heures peuvent les séparer : un système qui conserve le mauvais horodatage place alors la charge d’hier dans l’intervalle d’aujourd’hui.

Ce guide fait partie de la série sur la qualité et la transmission des données.

Trois instants

InstantDéfini parUtilisation
Heure de mesure à la sourceL’appareil ou le compteur, lors de la mesure ou d’un changement de valeurAnalyse, intervalles d’énergie, ordre des événements
Heure de collecteLa passerelle, lors de la lecture ou de la réception de la valeurSanté de l’interrogation ; heure de mesure de référence si l’appareil n’en fournit aucune
Heure d’arrivéeLa plateforme réceptriceSanté de la liaison ; retard des données

Les protocoles ne transportent pas tous les mêmes informations :

  • OPC UA DataValue peut contenir un SourceTimestamp et un ServerTimestamp, comme le définit la partie 4 de la spécification. L’horodatage source peut être absent si la source n’en fournit pas.
  • Les types IEC 60870-5 munis d’une étiquette temporelle transportent l’heure du poste distant ; les autres n’en transportent aucune.
  • Modbus ne transporte aucun horodatage. L’heure de collecte est la meilleure disponible.
  • MQTT ne transporte aucune heure de mesure. Ajoutez-la dans la charge utile.

Pour chaque point, consignez l’horodatage qu’il transporte et sa provenance.

Règles qui évitent la plupart des erreurs

  1. Utilisez UTC ou un décalage explicite. RFC 3339 définit un format tel que 2026-09-23T14:05:00Z ou 2026-09-23T15:05:00+01:00. Une heure locale sans décalage est ambiguë lorsque les horloges reculent chaque automne : en France, la tranche de 02 h 00 à 03 h 00 se produit deux fois.
  2. Étiquetez les intervalles de manière cohérente. Précisez si une valeur sur 15 minutes porte l’heure de début ou de fin de son intervalle et appliquez la même règle dans tous les systèmes. Une discordance décale toutes les valeurs d’un intervalle et place un pic de demande dans le mauvais quart d’heure.
  3. Synchronisez les horloges. Chaque appareil qui définit l’heure de mesure à la source a besoin d’une référence horaire fiable. Consignez laquelle et déclenchez une alerte si son horloge dérive ou perd la synchronisation.
  4. Ne remplacez jamais l’heure de mesure par l’heure d’arrivée. Si une mesure ne comporte aucune heure de mesure à la source, conservez l’heure de collecte et signalez sa provenance.

Données tardives après une panne

Quand une liaison revient, une passerelle qui a mis des mesures en mémoire tampon les envoie en retard. Le récepteur doit placer chacune selon son heure de mesure :

Le guide du stockage et de la retransmission montre le temps nécessaire pour résorber ce retard. Vérifiez ce que fait la plateforme réceptrice des données tardives. Certaines ne les acceptent que pendant une période donnée ; d’autres recalculent les totaux et les alarmes déjà traités ; d’autres les ignorent. Convenez du comportement et testez-le avec une panne planifiée.

Doublons

Les nouvelles tentatives peuvent faire arriver la même mesure deux fois : une fois avant la détection d’une panne, puis depuis la file de retransmission. Donnez à chaque mesure une identité, comme l’identifiant du point associé à l’heure de mesure, pour que le récepteur n’en conserve qu’un exemplaire. Sans cette identité, la retransmission d’un intervalle double son énergie. Le guide QoS MQTT explique pourquoi une livraison « au moins une fois » produit des doublons.

Une valeur inchangée

Une valeur stable n’est pas forcément périmée, et un ancien horodatage source ne signifie pas toujours que la source s’est arrêtée. Un serveur OPC UA peut conserver le SourceTimestamp d’une valeur inchangée tout en la confirmant avec un nouveau ServerTimestamp. Évaluez la fraîcheur d’après la dernière confirmation de la valeur et de son état de qualité par le serveur, ainsi que les heures de mesure et d’arrivée. Un serveur peut confirmer une valeur inchangée sans recevoir de nouveau message de la source. Le guide des données périmées explique quand considérer un point comme périmé.

Définir les horodatages dans un projet

Pour chaque point, consignez :

  • l’horodatage que porte la mesure et le composant qui le définit ;
  • le fuseau horaire et la source de synchronisation de ce composant ;
  • pour une valeur d’intervalle, si l’étiquette indique le début ou la fin ;
  • l’identité utilisée pour supprimer les doublons ;
  • la façon dont le récepteur traite les mesures tardives et le retard maximal admis.

Horodatages avec Edge

Edge, sur le Gateway ZGW-20, horodate chaque mesure et l’envoie avec son horodatage à chaque destination. Lorsqu’une destination en amont tombe en panne et qu’Edge retransmet les mesures plus tard, elles conservent leur horodatage d’origine. Pour les protocoles interrogés comme Modbus, BACnet et OPC UA, l’horodatage est l’heure de lecture. Vérifiez que la plateforme réceptrice classe les mesures tardives selon cet horodatage.

Questions fréquentes

Quelle différence entre heure source et heure d’arrivée ?

L’heure source est celle de la mesure ou du changement de valeur sur l’appareil. L’heure d’arrivée est celle où le système récepteur l’a obtenue. Quelques secondes les séparent normalement ; après une panne réseau, l’écart peut atteindre plusieurs heures. L’analyse doit utiliser l’heure source et la surveillance de la liaison l’heure d’arrivée.

Faut-il horodater les mesures en UTC ?

Oui. Enregistrez et transmettez les heures en UTC, ou avec un décalage explicite comme le permet RFC 3339, et ne les convertissez en heure locale que pour l’affichage. Une heure locale sans décalage est ambiguë pendant une heure chaque automne, lorsque les horloges reculent.

Comment horodater les données d’intervalle ?

Précisez si l’horodatage marque le début ou la fin de l’intervalle et appliquez cette convention dans tous les systèmes. Une valeur sur 15 minutes étiquetée 10 h 15 peut désigner 10 h 00 à 10 h 15 ou 10 h 15 à 10 h 30.