NightWatch Konfigürasyon Yapısı
NightWatch, veri toplama ve dağıtım işlemlerini gerçekleştirmek için konfigürasyon bilgisine ihtiyaç duyar. NightWatch konfigürasyonu json formatındadır ve farklı (dosya, EasyThings, özel REST API) kaynaklardan yüklenebilir.
EK BİLGİ
NightWatch konfigürasyon dosyanızı JSON CRACK sitesini kullanarak görselleştirebilirsiniz.
Konfigürasyon Tipi
NightWatch ile aşağıdaki donanım, protokol ve sistemler kullanılarak veri okunabilir.
- OPC UA
- OPC DA
- trexDCAS IoT Box
- MODBUS TCP
- Siemens S7 PLC
- Mitsubishi PLC, Allen-Bradley PLC, Omron PLC, Rockwell PLC
- Seri Port (COM)
- MQTT, Rabbit MQ ve Redis
Bu donanım, protokol ve sistemlerin her biri bir konfigürasyon tipidir ve NightWatch ile herhangi bir anda sadece tek bir konfigürasyon kullanılarak veri okunabilir. Örneğin, aynı anda aynı NightWatch prosesi ile hem OPC UA hem de MODBUS TCP protokolü kullanılarak veri okunamaz. Ancak, tek bir NightWatch prosesi ile aynı konfigürasyon içinde birden fazla OPC UA bağlantısı tanımlanabilir ve birden çok OPC UA kaynağından veri okunabilir.
NightWatch konfigürasyonunun tipi ilk oluşturma anında seçilir ve sonrasında değiştirilemez. Aşağıda ayrıntılarına yer verdiğimiz Device, Unit ve Reading Definition konfigürasyon birimlerinin tanımları seçilen konfigürasyon tipi ile doğrudan ilişkilidir.
Konfigürasyon tipi değiştirilmesi gerektiğinde yeni bir konfigürasyon oluşturulmalıdır.
Konfigürasyon Başlık Bilgileri Örneği
Bağlantı ve Tanım Hiyerarşisi
Konfigürasyon yapısının en önemliği kavramlarından bir tanesi makine/sensör bağlantılarını ve okunacak sinyallerin tanımlarını içeren hiyerarşik yapıdır. Bu yapı aşağıdaki şekilde özetlenebilir.
Bağlantı ve Tanım Hiyerarşisi
Device Group
Makine/sensör bağlantılarının gruplandırılması için kullanılır. Örneğin bir fabrikada A Hattında bulunan tüm makine/sensör bağlatıları tek bir Device Group altına tanımlanabilir. Konfigürasyonda birden fazla Device Group tanımlanabilir.
Device
Makine/sensör bağlantılarının tanımlanması için kullanılır. Her bir makine/sensör bağlantısı için bir veya birden fazla Device tanımı yapılabilir. Konfigürasyon yapısındaki en karmaşık yapılardan birisidir, çünkü seçilen makine/sensör ve protokole göre Device tanımı içinde hangi değerlerin girilmesi gerekli olduğu değişmektedir. Örneğin bir makine/sensör bağlantısı için Modbus TCP protokolü kullanılıyorsa Device tanımı içinde IP adresi, port numarası gibi değerlerin girilmesi gerekirken, MQTT protokolü kullanılıyorsa broker adresi, port numarası, topic gibi değerlerin girilmesi gerekir.
NightWatch uygulaması her bir Device tanımı için arka planda fiziksel olarak bir bağlantı oluşturup o bağlantıyı yönetir. Çok fazla sayıda sinyalin okunması gereken senaryolarda aynı makine/sensör için birden fazla Device tanımı yapılmasını öneriyoruz. Bu durumda NightWatch eş zamanlı olarak birden fazla fiziksel bağlantı açıp yönetecektir.
Bir Device Group altında birden fazla Device tanımlanabilir.
Unit Group
Device Group tanımına benzer şekilde sadece bir gruplama tanımıdır. Örneğin tek bir OPC UA bağlantısı (Device) ile birden fazla enerji analizöründen veri okunan bir konfigürasyonda analizörlerin her biri birer unit group olarak tanımlanabilir. Bir Device altında birden fazla Unit Group tanımlanabilir.
Unit
Unit Group tanımına benzer şekilde genel olarak bir gruplama tanımıdır. Ancak, MODBUS TCP bağlantılarında protokole özgü ve zorunlu bir bilgi olan Unit Id (Slave Id) bilgisi Unit üzerinde tanımlanmalıdır. Örneğin MODBUS TCP (Device) ile veri okunan bir enerji analizörü (Unit Group) içindeki her bir enerji ölçüm kanalı (Unit) için birer Unit tanımı yapılmalıdır. Bir Unit Group altında birden fazla Unit tanımlanabilir.
Reading Definition
Makine ve sensörlerden okunacak sinyallerin tanımlanması için kullanılan konfigürasyon birimidir. NightWatch konfigürasyon yapısındaki en karmaşık birimlerden birisidir. Çünkü, kullanılan makine, sensör ve protokole göre yapılması gereken tanımlar dinamik olarak değişmektedir. Örneğin, OPC UA protokolü ile okunan bir sinyal için StartNodeId tanımı yapılırken, MODBUS TCP ile okunan bir sinyal için Address tanımı yapılmalıdır.
Reading Definition tanımının kullanılan makine/sensör ve protokollerden bağımsız olarak barındırdığı en önemli tanım bilgileri şunlarıdır;
-
Name: Kullanılan protokole göre okunan sinyalin makine veya sensördeki tanımlayıcısı.
-
Address: MODBUS TCP protokolüne özgü sinyal verisinin yer aldığı bellek alanının başlangıç adresi.
-
Measurement Unit : Okunan sinyalin ölçü birimi.
-
Data Type : Okunan sinyalin veri tipi. Kullanılan makine/sensör ve protokole göre geçerli veri tipleri dinamik olarak değişmektedir
-
ArrayStartIdx/ArrayEndIdx: Dizi tipinden veri destekleyen makine, sensör ve protokoller için sinyalin okunacağı dizi elemanlarının başlangıç ve bitiş indeksleri.
-
VariableName: Okunan ham sinyallerin dinamik olarak tanımlanan scriptler ile işlenmesi ve yeni sinyallerin oluşturulması için kullanılan değişken isimleri.
-
AdvancedEvaluatorMethodName: Device üzerinde tanımlı sinyal işleme methodlarından birisinin seçilmesi ve bu method ile sinyal işleme scriptinin çalıştırılması için kullanılan tanımlayıcı.
Formül ve Ölçü Birimleri
NightWatch, okunan bir sinyal üzerinde çalışma zamanında çarpan ve bölen bilgisi verilerek tanımlanan basit nümerik formüllerin kullanımını destekler. Örneğin, bir sinyalin okunan değeri 100 ile çarpılıp 10 ile bölünerek aynı sinyal için yeni bir değer oluşturulabilir.
Nümerik Formüller ve Ölçü Birimleri
Tanımlanan nümerik formüller yukarıda bahsettiğimiz Reading Definition (sinyal) tanımı ile ilişkilendirilerek tek bir ham sinyal için basit formülasyonlar ile birden çok ölçü biriminde değer oluşturulması sağlanabilir.
Alarm Tanımları
Nümerik Formüller ve Ölçü Birimleri
Sink Tanımları
Sinkler, verinin dolaşıma sokulması ve hedef sistemlere gönderimini sağlayan konfigürasyon birimleridir. NightWatch, veri toplama ve dağıtım işlemlerini gerçekleştirmek için aşağıdaki sink tiplerini destekler.
- Database (PostgreSQL, Microsoft SQL Server, MySQL, SQLite)
- MQTT, Redis, Rabbit MQ
- InfluxDB
- EasyThings Platform
- Webhook
- OPC UA
- trexDCAS Energy
- trexDCAS Operator Panel
Bir konfigürasyon içinde aynı tipten veya farklı tiplerden birden fazla sink tanımı kullanılabilir. NightWatch sink tanımlarını kullanarak birden fazla hedef sisteme eş zamanlı olarak veri gönderebilir.
Sink Tanımları