Events, alarms en historie
Waarden vertellen u wat er nu gebeurt; events en historie vertellen u wat er is gebeurd en waarom. Deze cursus behandelt de alarmhiërarchie uit Part 9, eventfilters die alleen teruggeven wat u nodig hebt, condition classes als machineleesbare redencodes, en aggregaten aan serverzijde.
| Lessen | 10 |
|---|---|
| Tijd | ongeveer 72 minuten |
| Vereisten | A4 |
| Kosten | Gratis: geschreven lessen open, video en labs vereisen een gratis account |
Wat u zult kunnen
- U kunt zich abonneren op events met een select- en where-clause die u zelf schreef.
- U kunt ConditionClassId gebruiken als overdraagbare stilstandsredencode.
- U kunt historie lezen zonder meer op te halen dan u nodig hebt.
- U kunt de server om een tijdgewogen gemiddelde vragen in plaats van het stroomafwaarts te berekenen.
Syllabus
-
1
Abonneer op events, niet op waarden8 min
De event notifier, de hiërarchie van eventtypes, en waarom een stilstandsreden als event met tijdstempel moet binnenkomen in plaats van te worden afgeleid uit een bemonsterde boolean.
Asset Een event-subscription die echte events uit de Milo-demoserver afdrukt
-
2
Schrijf een select clause8 min
De velden kiezen die u wilt: Time, SourceNode, Severity, Message, ConditionClassId. De standaardselectie is zelden wat u nodig hebt.
Asset Dezelfde events met een standaard en een handgeschreven select clause, beide outputs getoond
-
3
Een where-clause schrijven8 min
Aan serverzijde filteren zodat de ruis u nooit bereikt. Operatoren, operanden en de fouten die een ongeldig filter oplevert.
Asset Drie where clauses, waarvan er één faalt, met de statuscode die hij teruggeeft
-
4
Navigeer door de hiërarchie van Part 97 min
BaseEventType via ConditionType, AcknowledgeableConditionType en AlarmConditionType. Wat een condition is dat een event niet is.
Asset De boom met eventtypes gebrowst vanaf een live server, met de geërfde velden op elk niveau
-
5
Acknowledge en confirm afhandelen6 min
Alarmafhandeling in twee fasen, wie het mag doen, en wat de state machine er tussenin doet.
Asset Een alarm dat over OPC UA is acknowledged en confirmed, met de toestandsovergangen gelogd
-
6
Ververs conditions na een reconnect6 min
ConditionRefresh en waarom een client die zonder dat herverbindt, denkt dat de fabriek gezond is.
Asset Een reconnect met en zonder ConditionRefresh, die de gemiste actieve alarmen toont
-
7
Gebruik ConditionClassId als redencode7 min
Het mechanisme dat stilstandsredenen overdraagbaar maakt tussen machines en leveranciers, en hoe de condition classes van MachineTool erop aansluiten.
Asset Een tabel met MachineTool condition classes gemapt op een taxonomie van stilstandsredenen
-
8
Lees ruwe historie7 min
HistoryReadRawModified, bounding values, continuation points, en wat een gat in de historie betekent.
Asset Een ruwe historieread over een gat heen, met de teruggegeven bounding values
-
9
Vraag in plaats daarvan om aggregaten8 min
TimeAverage, DurationGood, PercentGood en Count serverzijdig berekend. Veel goedkoper dan ruwe data streamen en verderop aggregeren.
Asset Dezelfde ploeg samengevat via een aggregaat aan serverzijde en via berekening aan clientzijde, met beide kosten
-
10
Controleer of de server dit alles kan7 min
De facets HistoricalRawData2022 en AggregateHistorical2022, en hoe u dat uitzoekt voordat u er een ontwerp omheen maakt.
Asset ServerProfileArray van drie servers, met welke history-facets elk claimt
Lab
Gratis account vereist
Abonneer op events op opc.tcp://milo.digitalpetri.com:62541/milo met een where-clause die alleen severity boven 500 teruggeeft, lees vervolgens één uur historie voor een node en vraag de server om het tijdgewogen gemiddelde ervan.
Ontgrendel het lab →Laatst geverifieerd op 7 september 2026 tegen OPC UA 1.05.07. OPC UA Connect is een educatieve bron en is niet gelieerd aan de OPC Foundation.