Événements, alarmes et historique
Les valeurs vous disent ce qui se passe maintenant ; les événements et l'historique vous disent ce qui s'est passé et pourquoi. Ce cours couvre la hiérarchie d'alarmes de la Part 9, les filtres d'événements qui ne renvoient que ce dont vous avez besoin, les classes de condition comme codes motif exploitables par machine, et les agrégats côté serveur.
| Leçons | 10 |
|---|---|
| Time | environ 72 minutes |
| Prérequis | A4 |
| Coût | Gratuit: leçons écrites ouvertes, vidéo et labs sur compte gratuit |
Ce que vous saurez faire
- Vous savez vous abonner à des événements avec une clause select et where que vous avez écrite vous-même.
- Vous savez utiliser ConditionClassId comme code de motif d'arrêt portable.
- Vous savez lire l'historique sans tirer plus que nécessaire.
- Vous savez demander au serveur une moyenne pondérée par le temps au lieu de la calculer en aval.
Programme
-
1
S'abonner aux événements, pas aux valeurs8 min
Le notificateur d'événements, la hiérarchie des types d'événements, et pourquoi un motif d'arrêt doit arriver sous forme d'événement horodaté plutôt que d'être déduit d'un booléen échantillonné.
Ressource Un abonnement à des événements affichant de vrais événements du serveur de démonstration Milo
-
2
Écrire une clause select8 min
Choisir les champs que vous voulez : Time, SourceNode, Severity, Message, ConditionClassId. La sélection par défaut est rarement celle dont vous avez besoin.
Ressource Les mêmes événements avec une clause select par défaut puis écrite à la main, les deux sorties affichées
-
3
Écrire une clause where8 min
Filtrer côté serveur pour que le bruit ne vous parvienne jamais. Opérateurs, opérandes et les erreurs que produit un filtre mal formé.
Livrable Trois clauses where, dont une échoue, avec le code de statut qu'elle renvoie
-
4
Naviguer dans la hiérarchie de la Part 97 min
De BaseEventType jusqu'à ConditionType, AcknowledgeableConditionType et AlarmConditionType. Ce qu'une condition est et qu'un événement n'est pas.
Ressource L'arbre des types d'événements parcouru depuis un serveur en service, avec les champs hérités à chaque niveau
-
5
Gérer l'acquittement et la confirmation6 min
Le traitement des alarmes en deux temps, qui a le droit de le faire, et ce que fait la machine d'état entre les deux.
Ressource Une alarme acquittée et confirmée via OPC UA, avec les transitions d'état consignées
-
6
Rafraîchir les conditions après une reconnexion6 min
ConditionRefresh et pourquoi un client qui se reconnecte sans lui croit l'usine en bonne santé.
Ressource Une reconnexion avec et sans ConditionRefresh, montrant les alarmes actives manquées
-
7
Utiliser ConditionClassId comme code motif7 min
Le mécanisme qui rend les motifs d'arrêt portables d'une machine et d'un fournisseur à l'autre, et la façon dont les classes de condition de MachineTool s'y raccordent.
Livrable Un tableau des classes de condition MachineTool mappées sur une taxonomie de motifs d'arrêt
-
8
Lire l'historique brut7 min
HistoryReadRawModified, valeurs de bornage, points de continuation, et ce que signifie un trou dans l'historique.
Ressource Une lecture d'historique brute traversant un trou, avec les valeurs de bornage renvoyées
-
9
Demander des agrégats à la place8 min
TimeAverage, DurationGood, PercentGood et Count calculés côté serveur. Bien moins coûteux que de streamer les données brutes et d'agréger en aval.
Ressource Le même poste résumé par agrégat côté serveur puis par calcul côté client, avec le coût des deux
-
10
Vérifier que le serveur en est capable7 min
Les facettes HistoricalRawData2022 et AggregateHistorical2022, et comment le savoir avant de concevoir votre architecture autour.
Ressource Le ServerProfileArray de trois serveurs, montrant quelles facettes d'historique chacun revendique
Lab
Compte gratuit requis
Abonnez-vous aux événements sur opc.tcp://milo.digitalpetri.com:62541/milo avec une clause where qui ne renvoie que les sévérités supérieures à 500, puis lisez une heure d'historique pour un nœud et demandez au serveur sa moyenne pondérée par le temps.
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.