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çons | 11 |
|---|---|
| Time | environ 84 minutes |
| Prérequis | A3 |
| Coût | Gratuit: 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
S'abonner plutôt que scruter6 min
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
-
2
Séparer intervalle de publication et intervalle d'échantillonnage9 min
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
-
3
Héritez l'intervalle de publication quand c'est possible6 min
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
-
4
Lire les valeurs révisées que renvoie le serveur7 min
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
-
5
Tuer le bruit par bande morte à la source9 min
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
-
6
Choisir un DataChangeTrigger7 min
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
Dimensionner la file et détecter le débordement10 min
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
-
8
Ajouter un heartbeat8 min
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é
-
9
Limitez le nombre d'intervalles distincts8 min
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
-
10
Récupérer un abonnement après une coupure9 min
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
-
11
Régler pour une usine, pas pour une démo5 min
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
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 →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.