Evenimente, alarme și istoric
Valorile vă spun ce se întâmplă acum; evenimentele și istoricul vă spun ce s-a întâmplat și de ce. Acest curs acoperă ierarhia de alarme din Part 9, filtrele de evenimente care întorc doar ce aveți nevoie, clasele de condiții ca fiind coduri de motiv citibile de mașină și agregatele calculate pe server.
| Lecții | 10 |
|---|---|
| Timp | circa 72 de minute |
| Cerințe prealabile | A4 |
| Cost | Gratuit: lecțiile scrise sunt deschise, video și laboratoarele cer un cont gratuit |
Ce veți fi capabil să faceți
- Vă puteți abona la evenimente cu o clauză select și una where scrise de dumneavoastră.
- Puteți folosi ConditionClassId ca un cod portabil de motiv de oprire.
- Puteți citi istoricul fără a extrage mai mult decât aveți nevoie.
- Puteți cere serverului o medie ponderată în timp, în loc să o calculați în aval.
Programă
-
1
Abonați-vă la evenimente, nu la valori8 min
Notificatorul de evenimente, ierarhia tipurilor de evenimente și de ce un motiv de oprire ar trebui să sosească drept eveniment cu marcaj de timp, nu să fie dedus dintr-un boolean eșantionat.
Resursă Un abonament la evenimente care tipărește evenimente reale de la serverul demo Milo
-
2
Scrieți o clauză select8 min
Alegerea câmpurilor pe care le doriți: Time, SourceNode, Severity, Message, ConditionClassId. Selecția implicită este rareori cea de care aveți nevoie.
Resursă Aceleași evenimente cu o clauză select implicită și una scrisă de mână, cu ambele ieșiri afișate
-
3
Scrieți o clauză where8 min
Filtrarea pe server, astfel încât zgomotul să nu ajungă niciodată la dumneavoastră. Operatori, operanzi și erorile pe care le produce un filtru greșit format.
Livrabil Trei clauze where, dintre care una eșuează, cu codul de stare pe care îl întoarce
-
4
Navigați ierarhia din Part 97 min
De la BaseEventType în jos, prin ConditionType, AcknowledgeableConditionType și AlarmConditionType. Ce este o condiție și nu este un eveniment.
Resursă Arborele tipurilor de evenimente parcurs de pe un server viu, cu câmpurile moștenite la fiecare nivel
-
5
Tratați acknowledge și confirm6 min
Tratarea alarmelor în două etape, cine are voie să o facă și ce face mașina de stări între timp.
Resursă O alarmă confirmată și validată prin OPC UA, cu tranzițiile de stare înregistrate
-
6
Reîmprospătați condițiile după o reconectare6 min
ConditionRefresh și de ce un client care se reconectează fără el crede că fabrica este sănătoasă.
Resursă O reconectare cu și fără ConditionRefresh, arătând alarmele active ratate
-
7
Folosiți ConditionClassId drept cod de motiv7 min
Mecanismul care face motivele de oprire portabile între mașini și producători și cum se conectează la el clasele de condiții din MachineTool.
Livrabil Un tabel cu clasele de condiție MachineTool mapate pe o taxonomie de motive de oprire
-
8
Citiți istoricul brut7 min
HistoryReadRawModified, valori de delimitare, puncte de continuare și ce înseamnă un gol în istoric.
Resursă O citire de istoric brut peste un gol, cu valorile de delimitare returnate
-
9
Cereți în schimb agregate8 min
TimeAverage, DurationGood, PercentGood și Count calculate pe server. Mult mai ieftin decât transmiterea datelor brute și agregarea în aval.
Resursă Același schimb rezumat prin agregat calculat pe server și prin calcul în client, cu ambele costuri
-
10
Verificați dacă serverul poate face ceva din toate acestea7 min
Facets-urile HistoricalRawData2022 și AggregateHistorical2022 și cum aflați acest lucru înainte de a proiecta în jurul lor.
Resursă ServerProfileArray de pe trei servere, care arată ce facets de istoric pretinde fiecare
Laborator
Necesită cont gratuit
Abonați-vă la evenimente pe opc.tcp://milo.digitalpetri.com:62541/milo cu o clauză where care returnează doar severitate peste 500, apoi citiți o oră de istoric pentru un nod și cereți serverului media sa ponderată în timp.
Deblocați laboratorul →Verificat ultima dată la 7 septembrie 2026 față de OPC UA 1.05.07. OPC UA Connect este o resursă educațională și nu este afiliată cu OPC Foundation.