“Merhaba NightWatch!” başlıklı ilk yazımızda NightWatch’un veri toplama ve veri dağıtımı yeteneklerinden bahsetmiştik. Bu yazımızda ise NightWatch’un gerçek zamanlı olarak alarm durumlarını yakalama ve dağıtma yeteneklerini ele alıyoruz.
Gerçek Zamanlı Alarm Nedir?
Makinelerden ve sensörlerden toplanan verinin toplandığı anda kullanıcı tanımlı koşullara göre işlenmesi ve alarm koşulları gerçekleştiyse yine kullanıcı tanımlı kanallar üzerinden alarm bilgisinin dış sistemler, e-posta veya anlık mesajlaşma servislerine gönderiminin sağlanmasıdır. Dikkat ettiyseniz yukarıdaki tanımımızda “verinin toplandığı anda işlenmesi” yani NightWatch’un ilgili makine ve sensör verisini kaynaktan aldığı anda işlediğini belirtiyoruz. Bu durumda NightWatch’un sahip olduğu gerçek zamanlı alarm özellikleri aslında tanımlar ile belirlenen ve neredeyse gerçek zamanlı özellikler olarak değerlendirilmelidir.
Alarmların Kullanım Alanları
Gerçek zamanlı makine ve sensör izlemesi yapılan ortamlarda alarm koşullarının yakından takip edilmesini gerektirebilecek çok farklı senaryodan bahsedebiliriz. Bu senaryolardan ilk aklımıza gelenler aşağıdaki gibi özetleyebiliriz.
İnsan Sağlığını Etkileyebilecek Koşulların Tespiti
Üretim yapılan bazı ortamlarda ham madde olarak kullanılan bazı malzemeler veya üretimde kullanılan makine ve teçhizatın ürettiği atıklar üretimde çalışan personelin zehirlenme, işitme kaybı gibi İSG açısından bir kısmı kalıcı bir kısmı da geçici negatif etkilere neden olabilir. Bu tür ortamlarda ilgili makine veya sensörlerden toplanan veri üzerinde belirlenen eşik değerler veya daha karmaşık modeller ile gerçek zamanlı olarak alarm durumları tespit edilerek sesli uyarı sistemlerinin tetiklenmesi, havalandırma veya atık bertaraf sistemlerinin otomatik olarak devreye alınması gibi uygulamalar yapılabilir. NightWatch ile alarm durum tespiti sonrasında bahsedilen dış sistemlere alarm oluşma bildirimleri rahatlıkla yapılabilir.
Makine ve Ekipman için RUL Uygulamaları
RUL (Remaining Useful Life - Kalan Faydalı Kullanım Ömrü), üretimde kullanılan makine ve ekipmanlar için tüm bakım ekiplerinin ve işletmelerin yakından ilgilenip takip ettikleri bir kavramdır. RUL, bir makine veya ekipmanın tamire ihtiyaç duymadan veya yenisinin alınması gerekmeden aktif olarak üretimde kullanabileceği ömrü (devir, kullanım süresi gibi makineye ve kullanıma özgü değerler) ifade eder. Makine ve ekipmanlarının RUL değerlerini takip etmeyen işletmeler üretim kaybı, kalite kaybı ve maliyet artışları gibi bir çok soruna maruz kalabilmektedir.
Makine ve ekipmanların RUL değerleri üreticiler tarafından tanımlanan ve genelde normal koşullardaki kullanıma göre belirlenir. Tanımlı RUL değerleri üretim ortamı, üretim operasyonu ve operatör kullanımı gibi faktörlere göre değişen oranlarda zaman içinde ciddi farklılıklar gösterebilir. Örneğin, bir ekipmanın RUL değeri üreticisi tarafından 10000 devir olarak tanımlanmış olmasına rağmen yaz/kış farkı, olarak operatör kullanım alışkanlıkları gibi nedenlere bağlı olarak zaman içinde 9000, 5000 devir gibi değerlere düşebilir. Eğer sadece üreticinin belirttiği 10000 devir değerini takip ediyorsanız ekipmanınızın 5000 devir sonra arıza çıkaracağından haberdar olamazsınız ve nihayetinde arıza meydana geldiğinde üretim kaybı ve kalite kaybı gibi negatif durumlar ile karşılaşabilirsiniz.
Özetle, makine ve ekipmanlarınızın üretici tanımlı normal kullanım koşullarındaki RUL değerlerini referans olarak alıp sensörler vasıtasıyla toplanan normal dışı kullanım verilerini de işleyerek dinamik bir RUL değeri elde etmelisiniz. Bu sayede yukarıdaki örneğimizde 10000 devir olan RUL değerinin zaman içinde daha düşük değerlere indiğini tespit ederek bahsettiğimiz olası kayıpların önüne geçebilirsiniz.
NightWatch ile makine ve ekipmanların RUL değerini değiştirebilecek sensör verileri için eşik değerler veya daha karmaşık formülasyonlar ile alarmlar oluşturup dinamik RUL değerlerinin hesaplandığı dış sistemlere tespit edilen alarmların gerçek zamanlı olarak iletilmesini sağlayabilirsiniz.
Bakım Personeli Çağırıları ve Bakım Operasyonu
Makine ve ekipmanlar üzerinde yer alan ve bakım ihtiyacını önceden veya anlık olarak tespit edilmesini sağlayan sensör verilerini kullanarak,
- Anlık değer aşımı/düşümü durumlarında sesli uyarı sistemleri veya mesajlaşma uygulamaları üzerinden bakım personeli çağırıları oluşturulabilir
- Zorlanma, besleme, şebeke akımındaki ani değişimi gibi durumlarda ilgili makine veya ekipman otomatik durdurulup alarm ortadan kalktığında otomatik olarak tekrar çalıştırılması sağlanabilir
- Planlı bakım ihtiyacını belirten sensör değerlerine göre oluşturulan alarmlar ile bakım iş emirlerinin otomatik oluşturulması sağlanabilir
Yukarıda bahsettiğimiz uygulamaların tamamı ve daha fazlasını NightWatch’un anlık alarm yeteneklerini kullanarak kendi koşullarınıza göre geliştirebilirsiniz.
NightWatch Alarmları Tasarım Prensipleri
Açık bir platform olarak tasarlanan ve geliştirilen NightWatch’un alarm özellikleri aşağıdaki prensiplere göre kurgulanmıştır.
- Alarm koşullarını basit bir şekilde tanımlanabilmeli
- Alarm koşulları makine ve sensörlerden akan ham veri üzerinde gerçek zamanlı olarak çalıştırılabilmeli
- Alarm koşulları aynı zamanda ham veriden karmaşık hesaplamalar ile gerçek zamanlı olarak hesaplanan üretilmiş veri üzerinde de çalıştırılabilmeli
- Alarm koşulları oluştuğunda tanımlı kanallar üzerinden bildirimler gönderilebilmeli
- Alarm koşulları oluştuğunda, alarm bilgisi sinkler üzerinden dış sistemlere dağıtılabilmeli
- Alarm koşulları oluştuğunda, alarma neden olan sensör verisinin geçmiş değerleri hem bilgi olarak hem de istenirse grafik olarak kanallar veya sinkler üzerinden dağıtılabilmeli
NightWatch İle Alarm Tespiti
NightWatch’un alarm tespit mekanizması aşağıdaki temel kavramlar üzerine inşa edilmiştir
- Makine veya sensörlerden okunan gerçek zamanlı ham veri
- Karmaşık veya basit hesaplamalar ile gerçek zamanlı olarak üretilen veri
- Konfigürasyon ile tanımlanan veri izleme penceresi
- Konfigürasyon ile tanımlanan alarm koşulları
Ham ve Üretilen Veri
Ham veri, makine ve sensörlerden toplanan ve üzerinde birim dönüşümü yapılmış veridir.
Üretilen veri ise NightWatch içinde yer alan script desteği kullanılarak ham veriden gelişmiş veya basit işlemler ile üretilen veridir.
Veri İzleme Penceresi
NightWatch, ham ve üretilen veriyi gerçek zamanlı olarak alarm aktörleri vasıtasıyla sürekli izler. Ancak, izlenen veride alarm koşulunun oluşup oluşmadığı kullanıcı tarafından süre olarak konfigüre edilen izleme penceresi dikkate alınarak karar verilir. Örneğin, “10 saniyelik bir izleme penceresinde X değerinde değişim olmaması” şeklinde bir alarm koşulu için 10 saniyelik bir zaman penceresi dikkate alınır ve her 10 saniyede bir pencere süresi yeniden başlatılır.
Alarm Koşulları
NightWatch, konfigürasyon tabanlı olarak aşağıdaki alarm koşullarını destekler
- Veri değeri limit üstü
- Veri değeri limit altı
- Veri değeri yok
- Veri değerinde değişiklik yok
NightWatch’un konfigüre edilebilen scriptleri ile tanımlanabilen gerçek zamanlı türetilmiş veri oluşturma yetenekleri ve yukarıdaki dört koşul kullanılarak Alarm Kullanım Alanları başlığı altında ele aldığımız senaryolar ve daha fazlası için NightWatch ile alarm uygulamaları geliştirilebilir.
NightWatch Alarm Bildirimleri
NightWatch, gerçek zamanlı alarm bildirimlerini iki temel yöntem kullanarak dış sistemlere veya aktörlere gönderebilir.
Alarm tespit edildiğinde, NightWatch eş zamanlı olarak konfigüre edilmiş bir veya daha fazla tipte ve sayıda kanala alarm bilgisi ve alarma konu verinin geçmiş veri bilgisi ve grafiğini mesaj olarak iletebilir. Bu yazının yazıldığı tarihte NightWatch ile hazır olarak E-Posta, Telegram, Microsoft Teams ve AWS SNS tipinden kanallar desteklenmektedir. Bu iki tipteki kanalın kullanımı için yapmanız gereken tek şey alarmlarınızı tanımlayıp mesaj şablonu ve alıcıları konfigüre etmenizdir.
Kanallar
Alarm tespit edildiğinde, NightWatch eş zamanlı olarak konfigüre edilmiş bir veya daha fazla tipte ve sayıda kanala alarm bilgisi ve alarma konu verinin geçmiş veri bilgisi ve grafiğini mesaj olarak iletebilir.
Bu yazının yazıldığı tarihte NightWatch ile hazır olarak E-Posta ve Telegram tipinden kanallar desteklenmektedir. Bu iki tipteki kanalın kullanımı için yapmanız gereken tek şey alarmlarınızı tanımlayıp mesaj şablonu ve alıcıları konfigüre etmenizdir.
### Sinkler
Sinkler, NightWatch’un dış sistemlere veri gönderimini sağlayan bileşenlerine verdiğimiz genel isimdir. Bir sinkin türü NightWatch içindeki kullanım amacını belirlerken, bir sinkin tipi veri gönderilecek dış sistemi belirler.
NightWatch içinde sink türü olarak
- Entegrasyon ve
- Alarm
olmak üzere sinklerin iki kullanım amacı olabilir. Alarm türünden sinkler NightWatch’un gerçek zamanlı olarak tespit ettiği alarm verisini dış sistemler ile paylaşabilmesi için kullanılabilir.
Özel Geliştirmeler
Alarm bilgisinin , örneğin, Slack veya Microsoft Teams gibi mesajlaşma sistemleri üzerinden bildirimini sağlamak için NightWatch ile hazır olarak gelen sinkleri (MQTT, RabbitMQ, Redis vb) kullanabilirsiniz. Tercih ettiğiniz sinke NightWatch tarafından JSON formatında iletilen alarm mesajlarını okuyup ilgili mesajlaşma servislerine gönderen programlar geliştirebilirsiniz.
Kapanış
Bu yazımızda NightWatch’un gerçek zamanlı alarm yapısı, alarm kullanım alanları ve alarm yapısını geliştiririken uyguladığımız prensiplerden bahsettik. NightWatch’un gerçek zamanlı alarmları ile dış sistemlerinize alarm oluştuğu anda alarm verisini gönderebilieceğiniz gibi NightWatch ile hazır olarak gelen E-Posta, Telegram, Microsoft Teams, AWS SNS kanallarını sadece konfigüre ederek de kullanabilirsiniz.
Bu yazıyı beğendiyseniz Twitter’da takipçilerinizle paylaşabilir veya beni Twitter’da takip edebilirsiniz.