Cours A4 ·Foundations

Les abonnements bien faits

Les abonnements sont le point où les projets OPC UA réussissent ou échouent silencieusement. Ce cours sépare l'intervalle de publication de l'intervalle d'échantillonnage, applique bande morte et déclencheurs à la source, dimensionne les files pour que vous cessiez de perdre des échantillons sans le savoir, et ajoute le battement de cœur qui vous dit que la connexion est vivante.

Leçons11
Timeenviron 84 minutes
PrérequisA3
CoûtGratuit: leçons écrites ouvertes, vidéo et labs sur compte gratuit

Ce que vous saurez faire

  • Vous savez expliquer l'intervalle de publication et l'intervalle d'échantillonnage sans les confondre.
  • Vous savez appliquer une bande morte pour que le bruit ne sorte jamais du serveur.
  • Vous savez dimensionner une file et détecter un débordement qui se signale comme Good.
  • Vous savez concevoir un jeu d'abonnements pour une usine, pas pour une démo.
  • Vous savez distinguer « rien n'a changé » de « connexion morte ».

Programme

  1. 1
    S'abonner plutôt que scruter

    Pourquoi interroger un serveur à intervalle régulier est un mauvais réflexe par défaut, et ce qui change quand le serveur pousse.

    Ressource Un client en scrutation et un client abonné lisant les mêmes nœuds, avec les deux traces réseau

    6 min
  2. 2
    Séparer intervalle de publication et intervalle d'échantillonnage

    La paire la plus mal comprise d'OPC UA. Le serveur échantillonne à une cadence et délivre à une autre, et les confondre produit des données qui paraissent justes et ne le sont pas.

    Livrable Un monitored item avec quatre combinaisons d'échantillonnage et de publication, avec les échantillons livrés pour chacune

    9 min
  3. 3
    Héritez l'intervalle de publication quand c'est possible

    Un intervalle d'échantillonnage de -1 et ce que le serveur en fait. Quand des cadences par item valent leur coût.

    Ressource Le même abonnement avec des intervalles d'échantillonnage explicites et hérités, et les valeurs révisées par le serveur

    6 min
  4. 4
    Lire les valeurs révisées que renvoie le serveur

    Vous demandez ; le serveur révise. Ignorer l'intervalle révisé, c'est ainsi qu'un client finit par croire qu'il échantillonne dix fois plus vite qu'en réalité.

    Ressource Une requête et une réponse CreateSubscription montrant les paramètres demandés face aux paramètres révisés

    7 min
  5. 5
    Tuer le bruit par bande morte à la source

    Bande morte absolue et en pourcentage, et le piège de la bande morte en pourcentage qui ne fait silencieusement rien sans EURange sur le nœud.

    Livrable Une valeur analogique bruitée sans bande morte, avec bande morte absolue et avec bande morte en pourcentage, les trois journalisées

    9 min
  6. 6
    Choisir un DataChangeTrigger

    Status, StatusValue ou StatusValueTimestamp. Pourquoi les compteurs demandent un trigger différent des analogiques.

    Livrable Un compteur qui cesse de remonter avec le trigger par défaut, et le changement de trigger qui corrige cela

    7 min
  7. 7
    Dimensionner la file et détecter le débordement

    La QueueSize déduite du rapport publication/échantillonnage, le discard-oldest, et le bit de débordement qui remonte en Good: ce qui explique exactement pourquoi « mes données ont l'air correctes mais des échantillons manquent » se produit.

    Ressource Un débordement de file provoqué délibérément, avec le bit d'overflow visible dans le DataValue et les échantillons perdus

    10 min
  8. 8
    Ajouter un heartbeat

    Sans lui, un flux silencieux est ambigu. Comment rendre « inchangé » et « mort » distinguables, et l'effet de bord de SourceTimestamp périmé auquel s'attendre.

    Ressource Un abonnement avec heartbeat, montrant la valeur réémise et son SourceTimestamp inchangé

    8 min
  9. 9
    Limitez le nombre d'intervalles distincts

    Chaque intervalle de publication distinct impose un abonnement de plus. Un client avec cinquante cadences a cinquante abonnements, et le serveur finira par le faire savoir.

    Livrable Un serveur atteignant sa limite d'abonnements, et les mêmes données livrées en trois abonnements

    8 min
  10. 10
    Récupérer un abonnement après une coupure

    TransferSubscriptions avant de tout recréer, GoodSubscriptionTransferred, et le chien de garde qui remarque qu'un abonnement est devenu silencieux côté serveur.

    Livrable Un client survivant à un redémarrage serveur avec ses abonnements transférés, avec le journal

    9 min
  11. 11
    Régler pour une usine, pas pour une démo

    Toute l'échelle appliquée à deux cents machines : intervalle ajusté au besoin du consommateur, bande morte sur les analogiques, files bornées, connexions échelonnées, et diagnostics désactivés si vous ne les lisez pas.

    Ressource Une feuille de réglage avec de vrais chiffres pour un déploiement de 200 machines et 12 000 tags

    5 min

Lab

Compte gratuit requis

Abonnez-vous à deux valeurs changeantes sur opc.tcp://opcua.umati.app:4840 avec une publication à 1000 ms, puis provoquez volontairement un débordement de file et prouvez à partir du DataValue que vous avez perdu des échantillons alors que tous les statuts indiquaient Good.

Débloquer le lab →
Contexte de la spécification

Dernière vérification le 7 septembre 2026 par rapport à OPC UA 1.05.07. OPC UA Connect est une ressource pédagogique et n'est pas affiliée à l'OPC Foundation.

Téléchargement gratuit
Pack de tests de recette de serveur OPC UA
Un test de recette en 40 points que vous exécutez contre le serveur d'un fournisseur avant la validation de mise en service. Notation pondérée, trois critères éliminatoires, et un verdict d'une page pour la réunion fournisseur.
Obtenir le pack de tests gratuit →
Gratuit, sans cours, sans connexion