Cours B1 ·Construire

É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çons10
Timeenviron 72 minutes
PrérequisA4
CoûtGratuit: 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. 1
    S'abonner aux événements, pas aux valeurs

    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

    8 min
  2. 2
    Écrire une clause select

    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

    8 min
  3. 3
    Écrire une clause where

    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

    8 min
  4. 4
    Naviguer dans la hiérarchie de la Part 9

    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

    7 min
  5. 5
    Gérer l'acquittement et la confirmation

    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 min
  6. 6
    Rafraîchir les conditions après une reconnexion

    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

    6 min
  7. 7
    Utiliser ConditionClassId comme code motif

    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

    7 min
  8. 8
    Lire l'historique brut

    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

    7 min
  9. 9
    Demander des agrégats à la place

    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

    8 min
  10. 10
    Vérifier que le serveur en est capable

    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

    7 min

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 →
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