MergenHub Envest
Ana sayfa/Dokümanlar/Kullanıcı Kılavuzu (uygulama içi, tam)

Bağlanabilirlik

Kanallar (Channel)

Proje üç seviyeli bir hiyerarşidir. Bir kanal, tek bir iletişim yolunu ve sürücüyü temsil eder; ayarları o kanaldaki tüm cihazlar için ortak ağ/seri parametrelerini taşır.

KanalModbus_1 (sürücü+ağ) CihazPLC / RTU (IP, unit) CihazPLC / RTU Tag 1 (adres+tip)Tag 2 (adres+tip)Tag 3 (adres+tip)
Şekil 2 — Kanal → Cihaz → Tag hiyerarşisi.
SürücüKanalın protokolü (bir kez seçilir).
Yazma optimizasyonuYöntem + duty cycle (tur başına en fazla N yazma).
Soket paylaşımıTek-soket cihazlarda kanal başına tek bağlantı (One-Socket-per-Channel).
Uyarı Aynı sahaya (ör. tek-soket hücresel gateway) hem MergenHub hem başka bir sunucu aynı anda bağlanırsa biri reddedilebilir (ECONNREFUSED). Tek-soket cihazlarda tek istemci kullanın.
Sınır Her sürücüyle açılabilecek kanal sayısı sınırlıdır (ör. Modbus TCP 1024, MQTT 60). Ayrıntı: Kanal ve Cihaz Sınırları.

Cihazlar (Device)

Bir cihaz, kanaldaki fiziksel bir PLC/RTU/gateway'dir. Adres/kimlik (IP, unit id, rack/slot…) ve zamanlama cihaz seviyesindedir.

Data CollectionCihaz taraması aç/kapa (servermain.DEVICE_DATA_COLLECTION).
SimulatedDonanımsız sentetik veri (test).
Tag GenerationSürücü destekliyorsa otomatik tag üretimi (adres doğrulamalı).
KopyalaCihazı tüm tag/gruplarıyla çoğaltma.
SınırBir kanala eklenebilecek cihaz sayısı sürücüye göre sınırlıdır (ör. FINS 32, S7 1024, Modbus TCP 8192) — bkz. Kanal ve Cihaz Sınırları.

Kanal ve Cihaz Sınırları

Her sürücü için açılabilecek en fazla kanal ve bir kanaldaki en fazla cihaz sayısı sınırlıdır. Değerler endüstri standardı OPC sunucusunun sürücü kılavuzlarındaki sınırlarla aynıdır; kanal tavanı ayrıca 1024 ile kapatılmıştır. Sınır sürücü başınadır, proje toplamı değildir: farklı sürücülerle toplamda daha fazla kanal açılabilir.

SürücüEn fazla kanal · kanal başına en fazla cihaz
Modbus TCP/IP Ethernet1024 kanal · 8192 cihaz
Modbus RTU Serial1024 kanal · 255 cihaz
Modbus ASCII Serial100 kanal · 247 cihaz
DNP Client Ethernet1024 kanal · 1024 cihaz
IEC 60870-5-104 Client1024 kanal · 1024 cihaz (istasyon)
IEC 61850 MMS Client256 kanal · 256 cihaz
MQTT Client60 kanal (broker bağlantısı) · 1024 cihaz
OMRON FINS Ethernet512 kanal · 32 cihaz
OMRON NJ Ethernet256 kanal · 1024 cihaz
Siemens S7 TCP/IP1024 kanal · 1024 cihaz
OPC UA Client256 kanal (oturum) · 256 cihaz
Simulator1024 kanal · 999 cihaz

Ne zaman denetlenir: yalnız ekleme sırasında — kanal/cihaz oluşturma (arayüz, REST API, AI asistanı/MCP), kopyalama ve içe aktarma (Kepware JSON, proje paketi, şablon). Sınır doluysa işlem reddedilir, nedeni ekranda yazar ve proje hiç değişmez. Kayıtlı mevcut proje yüklenirken hiçbir şey reddedilmez ya da silinmez; sınırı aşan eski bir proje çalışmaya, düzenlenmeye ve silinmeye devam eder, yalnız o sürücüye yeni ekleme yapılamaz.

Doğrulama: her değer, çalışan bir MergenHub'a karşı protokol simülatörleriyle sınırın kendisinde denendi: tüm tag'ler Good oldu, değerler kesintisiz güncellendi, sınırın bir fazlası reddedildi, silince tüm bağlantılar bırakıldı. Sınırlar sürücü başına olduğundan, tüm sürücüler aynı anda sınırındayken de denendi.

Tarama süresi Bir kanal cihazlarını sırayla tarar. Sınıra yakın kalabalık bir kanalda tarama turu uzar: testte tek kanalda 8192 Modbus TCP cihazı ~40 sn'de bir tazelendi (tag'in tarama hızı 1 sn olsa bile). Hızlı güncelleme gereken cihazları birden çok kanala bölün — kanallar birbirinden bağımsız ve paralel çalışır (1024 kanallı testlerde her değer ≤1 sn'de tazelendi).
İpucu Bazı sürücüler aynı uca giden bağlantıları birleştirir: IEC 104'te aynı IP:port'taki istasyonlar tek soketi paylaşır (ortak adres her istasyonda farklı olmalı), MQTT'de aynı broker'a giden kanallar tek bağlantı kullanır.

Tag'ler

Bir tag, cihazdaki tek bir adrese bağlı değişkendir. Adres biçimi sürücüye özeldir (bkz. Protokoller).

Veri tipiBoolean, Word, Short, DWord, Long, Float, Double, String…
ErişimRead Only / Read-Write (endüstriyel standart: 0=RO, 1=RW).
Tarama hızıTag/grup bazlı; client-driven da olabilir.
ÖlçeklemeHam cihaz değeri → mühendislik değeri (bkz. Ölçekleme).

Toplu ekleme: tag'ler dizi olarak POST edilebilir (batch). Geçersiz tag atlanır, atlanma raporu tutulur (lenient import).

Tag Grupları

Tag'ler cihaz altında gruplara ("Tag Group") ayrılabilir; gruplar iç içe (nested) olabilir. Her grup OPC UA adres uzayında bir klasör olarak görünür: istemci Kanal.Cihaz.Grup.Tag yolundan erişir.

AmaçBüyük cihazları mantıksal alt-kümelere böler (ör. "Motorlar", "Sıcaklıklar") — 1000'lerce tag'te gezinmeyi kolaylaştırır.
Parent GroupOtomatik tag üretiminde üretilen tag'lerin altına konacağı hedef grup.
Kopyala / taşıGrup, içindeki tüm tag'lerle birlikte çoğaltılabilir.
İpucu Grup adları da OPC yoluna girdiğinden, istemci tarafında adres kararlılığı için grup adlarını erkenden belirleyin — sonradan yeniden adlandırma istemci yollarını kırar (bunun için Aliases kullanın).

Ölçekleme (Scaling)

Ölçekleme, ham cihaz değerini mühendislik birimine çevirir ("Scaling") ve bu tag'i özellik editöründeki Scaling grubunda ayarlanır.

TipYok (ham), Lineer, Karekök (Square-Root — akış/basınç sensörleri).
Raw Lo/HiCihazdan gelen ham aralık (ör. 0–65535 ya da 4–20 mA'nın ham karşılığı).
Scaled Lo/HiMühendislik aralığı (ör. 0–100 m³/h).
Scaled Data Type / Clamp / NegateÖlçekli tip, alt/üst sınırlama (clamp), işaret çevirme.

Lineer: eng = (raw − rawLo)/(rawHi − rawLo) × (engHi − engLo) + engLo. Kapalıysa ham değer kullanılır. Ölçekleme yalnız açık (abone/taranan) tag'lerde uygulanır (performans için slot-bazlı).

İpucu 4–20 mA döngüsünde ham 0–65535 için: Raw Lo/Hi = sensörün 4 mA / 20 mA'daki ham değeri, Scaled Lo/Hi = mühendislik min/maks. Clamp ile aralık dışı gürültü kırpılır.

Zamanlama (Timing)

Cihaz zamanlaması referans sunucuyla birebir:

Request TimeoutTek istek için bekleme (ms). Aşılırsa yeniden dener.
Attempts Before TimeoutBağlantı ve istek denemelerine uygulanır.
Inter-Request Delayİstekler arası nefes; yavaş cihazlar için.
Auto-Demotion / Failure BackoffArd arda hata veren cihazı geçici deviren geri-çekilme.

Tarama Modu: Eager vs Talep-Güdümlü

İki tarama davranışı vardır (Ayarlar → Tarama):

Eager (endüstriyel parite)Tüm etkin kanallar açılışta bağlanır ve sürekli taranır — tüketici olmasa da. Kanallar "hep okur".
Talep-güdümlüCihaz yalnız bir tüketicisi (OPC abonesi / UI / Logger) varken taranır; boşta cihaz soket/CPU/RAM harcamaz.

Tüm tag'e abone olan bir OPC istemcisinde ikisi de kararlı durumda ~aynı sonucu verir; fark açılışta ve tüketicisiz durumdadır. _System._DemandPoll ve bekleyen yazma her iki modda cihazı uyandırır.