Proje üç seviyeli bir ağaçtır: kanal → cihaz → tag. Diğer her şey (alarmlar, log grupları, virtual tag'ler, ekranlar) tag'lere tam yollarıyla Kanal.Cihaz.Tag biçiminde başvurur.

Kanallar
Kanal, taşıma ayarlarıyla birlikte bir sürücü örneğidir. Fiziksel bağlantı başına bir kanal açın:
| Sürücü ailesi | Kanal başına… |
|---|---|
| Modbus TCP, S7, OMRON, DNP3, IEC 104, IEC 61850, OPC UA istemci | ağ segmenti ya da izole tutmak istediğiniz cihaz grubu |
| Modbus RTU/ASCII | seri port (COM1, COM2 …) ya da Ethernet-encapsulation geçidi |
| MQTT | broker bağlantısı |
| Simülatör | istediğiniz kadar |
Kanal ayarları: ağ adaptörü, bağlantı/istek zaman aşımı, yeniden deneme sayısı, istekler arası bekleme ve sürücüye özel seçenekler (Modbus blok boyutu, S7 PDU boyutu vb.). Kanallar izoledir: yanıt vermeyen bir cihaz başka kanaldaki cihazları asla yavaşlatmaz.
Cihazlar
Cihaz; bir PLC, RTU, IED, sayaç ya da broker konu kümesidir. Önemli ayarlar:
- ID / adres — IP:port ve unit ID (Modbus), IP + rack/slot (S7), IED adresi (61850), istasyon adresleri (DNP3/104), konu kökü (MQTT).
- Tarama hızı — cihazın kaç ms'de bir sorgulanacağı. Tag'ler değiştirmezse bunu devralır.
- Tarama modu — istemci hızına saygı (OPC UA aboneleri daha hızlı/yavaş isteyebilir), sabit ya da istemci güdümlü.
- Zaman aşımı ve yeniden deneme — ayarlanan başarısızlıktan sonra cihaz Bad işaretlenir ve artan aralıklarla yeniden denenir; kendiliğinden toparlanır.
- Talep güdümlü tarama — cihaz yalnız bir tüketici tag'lerini istediği sürece sorgulanır; boştaki cihazlara dokunulmaz (GSM/telsiz hatlarında bant genişliği kazandırır).
- Teşhis — hex istek/yanıt izi, sayaçlar, son hata.
- Kopyala — cihazı tüm tag'leriyle çoğaltır (adresler kaydırılabilir).

Tag'ler
Tag, cihazdaki bir adresi tipli bir değere eşler:
| Alan | Anlamı |
|---|---|
| Ad | cihaz içinde benzersiz; OPC UA node id'lerinde ve REST yollarında kullanılır |
| Adres | sürücüye özel (40001, DB10.DBD24, D100, ns=2;s=…, AI:3, IOA 1001, LD0/MMXU1.TotW.mag.f, tesis/hat1/sicaklik) — ? biçimleri gösterir |
| Veri tipi | Boolean, Byte, Short, Word, Long, DWord, LLong, QWord, Float, Double, String, Date, BCD/LBCD, sürücü destekliyorsa diziler |
| Okuma/Yazma | salt okunur ya da okuma/yazma (yazmalar hemen cihaza gider ve denetime düşer) |
| Ölçekleme | ham/ölçekli aralıklarla doğrusal ya da karekök ölçekleme, sınırlama; yazmalar ters ölçeklenir |
| Tarama hızı | cihaz hızının isteğe bağlı üzerine yazımı |
| Açıklama / birim | OPC UA'da (Description, EngineeringUnits) ve arayüzde görünür |
Tag grupları büyük cihazları klasörlere böler ve OPC UA'da klasör olarak görünür.
Toplu tag oluşturma
- Tag üret — adres aralığından (başlangıç, adet, adım, adlandırma deseni).
- Çevrimiçi tarama — tag listesini cihazdan okur: OPC UA sunucuları, IEC 61850 (SCL/ICD içe aktarma ya da canlı GVA yürüyüşü), DNP3 integrity poll, IEC 104 genel sorgulama, OMRON NJ/NX sembolleri, JSON işaretçili MQTT konu keşfi.
- İçe aktar — Kepware ya da MergenHub JSON dışa aktarımları; tag tablosunun içe aktarma düğmesiyle CSV.
Kalite ve zaman damgası
Her değer bir OPC kalitesi taşır: Good, Bad (cihaz ulaşılamaz, hata ya da deneme penceresi dolmuş), Uncertain (bayat/önbellek). Hem kaynak zaman damgası (varsa cihaz saati) hem sunucu zaman damgası tutulur ve OPC UA'da sunulur.
Alias'lar
Eklentiler › Alias'lar bir tag'i ikinci, daha anlaşılır bir adla yayınlar (ör. Modbus_1.RTU_3.AI_40011 yerine Tesis.Giris.Debi). Alias'lar OPC UA ve REST'te normal tag gibi görünür.
Sistem tag'leri
Her cihazın haberleşme sağlığını bildiren _System tag'leri vardır (_Error, _NoError, _LastRead, _SuccessfulReads, _Enabled …); loglanabilir ve alarmlanabilir. _Enabled yazılarak cihaz duraklatılabilir.
MergenHub