Başvuru · Mühendisler için
Kural ifadeleri
Kural koşulunda her olay türü için kullanılabilen alanlar, işleçler ve fonksiyonlar. Örneklerin tamamı kural motorunda test edilmiştir.
Alarm kuralının koşulu tek bir ifadeden oluşur. Edge Gateway bu ifadeyi, kuralın izlediği türdeki her olayda (kuraldaki Olay alanı) kontrol eder ve ifade doğru olduğunda kural tetiklenir. İfadeyi kuralın koşul düzenleyicisinde bir cümle gibi kurabilir ya da İfade altında metin olarak yazabilirsiniz. İki yol da aynı ifadeyi üretir; cümlenin söyleyebildiği bir ifade yazdığınızda düzenleyici cümleye geri dönebilir. Bkz. Alarm kuralı oluşturun.
Aşağıdaki tablolarda, Edge Gateway'in her olayda kurala aktardığı alanlar yer alır. Alan adlarında büyük ve küçük harf ayrımı vardır. Metin değerleri tek tırnak içinde yazılır.
İşleçler ve fonksiyonlar
- Karşılaştırma:
=,==,<>,!=,<,<=,>,>=. - Birleştirme:
AND(ya da&&),OR(ya da||),NOTve parantez( ). - Aritmetik:
+,-,*,/. - Aşağıdaki örneklerde geçen fonksiyonlar:
Contains(Field, 'text'),Abs(x),ToDouble(text). - Liste içinde arama:
[List][condition]ifadesi, listedeki öğelerden en az biri koşulu sağladığında doğru olur.
Veri alındığında
Her mesaj, bir cihazın belirli bir anda gönderdiği değerleri içerir.
| Alan | Açıklama |
|---|---|
Topic | Cihaz kimliği (ID). |
[Payload] | Mesajdaki veri noktası değerlerinin listesi. Her öğede şu alanlar bulunur: Key (veri noktası adı), NumericValue (sayı olarak değer), Value (metin olarak değer), PreviousValue (metin olarak önceki değer), Unit, Type, Quality (Good, Bad, Uncertain), Time ve PreviousValueTime. |
[MetaData] | Cihazın konumu. Öğelerde Key ve Value alanları bulunur. Anahtarlar şunlardır: DeviceId, DeviceName, Enterprise, Site, Area, ProcessCell, EquipmentModule. |
[Attributes] | Cihaza tanımlı öznitelikler. Öğelerde Key ve Value alanları bulunur. |
Veri noktası her zaman [Payload][...] içinde kontrol edilir. Veri noktasının adı ve koşulu aynı köşeli parantezin içine yazılır. Sayıları Value ile değil, NumericValue ile karşılaştırın, çünkü Value metindir. Mesajda yalnızca cihazın o anda okuduğu veri noktaları bulunur. Bu yüzden iki veri noktasına bakan bir koşul, ancak ikisi de aynı mesajdaysa sağlanabilir.
[Payload][Key = 'Temperature' AND NumericValue > 28]Belirli bir aralığın dışına çıkan veri noktası:
[Payload][Key = 'Voltage' AND (NumericValue < 215 OR NumericValue > 245)]Adıyla seçilen tek bir cihaz:
[MetaData][Key = 'DeviceName' AND Value = 'MFB_LYS_TUNNEL_OVEN'] AND [Payload][Key = 'Zone1Temp' AND NumericValue > 200]Adında belirli bir sözcük geçen tüm cihazlar:
[MetaData][Key = 'DeviceName' AND Contains(Value, 'PowerGenerator')] AND [Payload][Key = 'Temperature' AND NumericValue > 85]Önceki okumaya göre 5'ten fazla sıçrama:
[Payload][Key = 'Pressure' AND Abs(NumericValue - ToDouble(PreviousValue)) > 5]Önceki okumaya göre %10'dan fazla artış:
[Payload][Key = 'FillRate' AND ToDouble(PreviousValue) <> 0 AND (NumericValue - ToDouble(PreviousValue)) / ToDouble(PreviousValue) > 0.10]Biri NOT ile tersine çevrilmiş birden çok koşul:
[Topic] = 'Device123' AND [Payload][Key = 'Pressure' AND NumericValue > 100] AND NOT [Payload][Key = 'Temperature' AND NumericValue < 25]İki cihaz özniteliği:
[Attributes][Key = 'Location' AND Value = 'FactoryA'] AND [Attributes][Key = 'Priority' AND Value = 'High']Durum değiştiğinde
| Alan | Açıklama |
|---|---|
DeviceId, DeviceName | Cihaz. |
CurrentConnectionStatus | Unknown, Connected ya da Disconnected (veya 0, 1, 2). |
PreviousConnectionStatus | Değişiklikten önceki durum. |
ConnectionDuration | Önceki durumun saniye cinsinden süresi. |
CurrentConnectionStatus = 'Disconnected'Bağlantısı bir dakikadan kısa süre kopup geri gelen cihaz:
CurrentConnectionStatus = 'Connected' AND PreviousConnectionStatus = 'Disconnected' AND ConnectionDuration < 60Günlük alındığında
| Alan | Açıklama |
|---|---|
Time, Level, Source, Category, Message | Kaydın zamanı, önem düzeyi (örneğin Warning, Error, Critical), kaydı yazan Edge Gateway, Edge Gateway'in ilgili bölümü ve kayıt metni. |
ReasonCode | Olay türünü belirten sabit kod. Yalnızca ürünün kod atadığı olaylarda bulunur. Message metniyle eşleştirmek yerine bu alanı kullanın. |
EventId, CorrelationId, Operation, EntityType, EntityId, Fingerprint, OccurrenceCount, Diagnostic | Varsa ek ayrıntılar. |
Level = 'Critical' OR Level = 'Error'Level == 'Error' && Contains(Category, 'FieldbusActor')Kural motorunun ve bildirim hizmetinin kendi yazdığı günlük kayıtları alarm kurallarına aktarılmaz.
Metrikler alındığında
Bu olay bir cihazın okuma istatistiklerini taşır ve her okuma döngüsünden sonra gönderilir.
| Alan | Açıklama |
|---|---|
Device | Cihaz. |
TotalRequests, SuccessfulRequests, FailedRequests, ResponseCount | O ana kadar yapılan okuma istekleri. |
ReadErrorCount, ConnectionErrorCount, ReadErrorPercentage | O ana kadarki hatalar ve başarısız okumaların yüzdesi. |
AverageResponseTime | Cihazın ortalama yanıt süresi. |
LastCommunicationTime, LastDataReceivedTime | Cihazın en son yanıt verdiği ve en son veri gönderdiği zaman. |
TotalDataReceived, ProcessedDataCount, SleepModeTransitionCount | Sayaçlar. |
DataAccuracy, DataCompleteness, DataFreshness, DataIntegrity, DataConsistency | Veri kalitesi puanları. |
ReadErrorPercentage > 10FailedRequests > 100 && ReadErrorPercentage > 20DataAccuracy < 80Sık yapılan hatalar
| Yazılan | Sorun | Doğrusu |
|---|---|---|
[Temperature] > 80 | Veri noktaları mesajın alanları değildir. | [Payload][Key = 'Temperature' AND NumericValue > 80] |
[Payload][Key = 'Temperature' AND Value > 80] | Value metindir. | NumericValue > 80 |
[Payload][Key = 'A'] AND [Payload][NumericValue > 5] | İki parça, iki farklı veri noktasıyla eşleşebilir. | Adı ve koşulu aynı köşeli paranteze yazın: [Payload][Key = 'A' AND NumericValue > 5] |
Edge Gateway'in çözümleyemediği bir ifade hiçbir zaman eşleşmez. Bu durumda kuralın Günlükler kayıtlarında ölçütlerin derlenemediğini bildiren bir kayıt görünür.
Sonraki adımlar
- Alarm kuralı oluşturun: ifadeyi bir alarm kuralında kullanın.
- Kural eylemi ekleyin: kural tetiklendiğinde bildirim gönderin ya da veriyi iletin.
- Otomasyon sorunlarını giderme: eşleşmeyen ya da tetiklenmeyen kurallar için çözümler.
Bu sayfa işinize yaradı mı?
Proxus'u değerlendiriyor musunuz? 30 dakikalık teknik görüşmede kendi makinelerinizle görün.