Adresleme — Genel
Her sürücünün kendi adres biçimi vardır. Geçersiz adres yazan tag reddedilir (referans sunucuyla aynı kurallar). Gerçek OPC sunucu JSON export'ları import edilebilir; sürücü adları ve adres biçimleri birebir korunur.
Modbus (TCP / RTU / ASCII)
Sürücüler: Modbus TCP/IP Ethernet, Modbus RTU Serial, Modbus ASCII Serial.
| 0xxxx | Coil (okuma/yazma bit) — F01/F05/F15 |
| 1xxxx | Discrete Input (salt-okunur bit) — F02 |
| 3xxxx | Input Register (salt-okunur word) — F04 |
| 4xxxx | Holding Register (okuma/yazma word) — F03/F06/F16 |
Adres = alan öneki + ofset (5–7 hane; 6-digit adreslemede 4000011 gibi 7 hane kabul edilir). Word içi bit (40001.3) ve string (40001.10H = 10 karakter, H=HiLo/L=LoHi) desteklenir. Register biti yazımı FC22 Mask-Write (atomik) kullanır. Byte order (First Word/DWord Low, Modicon bit sırası, Treat Longs as Decimals), blok boyutu (64/125 register), IP Protocol (TCP/UDP), Timeout'ta Soketi Kapat ve Illegal Address'te tag pasifleştirme ayarlanabilir. Çıplak IP cihaz kimliği ve unit'siz <IP> desteklenir.
Siemens S7
Sürücü: Siemens S7 TCP/IP (S7-300/400/1200/1500, ISO-on-TCP / RFC1006). Cihaz kimliğinde IP + Rack/Slot (1200/1500 için tipik Rack 0, Slot 1).
DBn,type offset | Data block. Ör. DB1,DBW20 (word), DB1,DBD8 (dword/real), DB1,DBX0.3 (bit) |
M / MB / MW / MD | Merker (bit/byte/word/dword). Ör. M10.3, MW14 |
I / E, Q / A | Giriş / çıkış. Ör. I0.0, Q2.1 |
T / C | Timer / Counter |
{ "common.ALLTYPES_NAME":"Sicaklik", "servermain.TAG_ADDRESS":"DB1,DBD8",
"servermain.TAG_DATA_TYPE":"Float" }OMRON (FINS / NJ CIP)
İki sürücü:
| OMRON FINS Ethernet | CS/CJ/CP serisi. Alanlar: CIO, W, H, D, A. Ör. D100, CIO0.05 (bit), W20. FINS SA1/DA1 ve FirstWordLow ayarları kanal/cihazda. |
| OMRON NJ Ethernet | NJ/NX serisi. EtherNet/IP CIP sembolik — PLC'deki sembol adıyla erişim (UTF-8, Türkçe ad destekli). Ör. adres = Pompa1.Debi. |
DNP3
Sürücü: DNP Client Ethernet. Adres biçimi grup.varyasyon.index (g.v.i).
1.x.i · BIi | Binary Input (i = index) |
10.x.i · BOi | Binary Output (yazılabilir, kontrol) |
30.x.i · AIi | Analog Input |
40.x.i · AOi | Analog Output (yazılabilir) |
DS0.1 · DA250 | Data Set üyesi · Device Attribute (g0) |
Kısa mnemonik (AI0) ve DNP3 g.v.i biçimleri birlikte kabul edilir. Cihaz ID yalnız IP'dir; master/outstation adresi + port cihaz/kanal özellikleridir.
Wire edilen endüstri-parite özellikleri: Operate Mode (Direct / SBO / No-Ack, operate STATUS doğrulamalı — sahte-Good yok), sınıf tarama (Class 0/1/2/3) + integrity, unsolicited (mode 1/2/3), zaman senkronizasyonu (UTC/DST/Honor/LAN·Serial), Event Playback (olay tamponu + oynatma), Data Sets (g85–88), Device Attributes (g0), File Control (g70), Secure Authentication (IEC 62351-5 / SAv5) ve yol yedekliliği (Redundancy). CRC/çerçeve doğrulaması dahili.
IEC 60870-5-104
BETA Bu sürücü henüz tam saha testinden geçmedi; üretimde dikkatli kullanın.
Sürücü: IEC 60870-5-104 Client. Adres biçimi TYPE.IOA.attr — TypeID + Information Object Address.
M_SP.IOA | Tek nokta bilgi (telesignal) |
M_ME.IOA | Ölçülen değer (telemetri) |
C_SC.IOA | Tek komut (telekumanda, yazma) |
Cihaz ID: IP:2404,commonAddress. ASDU/APCI katmanı, k/w pencere, t1-t3 zamanlayıcıları dahili. Başlangıçta ve periyodik Genel Sorgu (GI) ile tüm noktalar okunur. Komut/set-point yazımı (C_SC/C_DC/C_SE) ACT → ACT-CON onay el sıkışmasını yürütür: cihaz olumsuz onay (COT P/N) dönerse tag Bad olur, sahte-Good yazılmaz.
IEC 61850 (MMS)
Sürücü: IEC 61850 MMS Client. Tam ISO yığını (MMS/ACSE/Presentation/Session/COTP/TPKT). Adres = nesne referans yolu:
LD/LN.DO.DA → ör. RELAY/MMXU1.TotW.mag.f (aktif güç)
RELAY/XCBR1.Pos.stVal (kesici durumu)
Mantıksal cihaz (LD) → mantıksal düğüm (LN) → veri nesnesi (DO) → veri özniteliği (DA). Cihaz ID: IP:102. Okuma LN/DO/DA seviyelerinde desteklenir. Kontrol yazımı tam kontrol modeliyle (orCat / orIdent / ctlNum / Test / Check) select→operate el sıkışmasını yürütür ve IED'nin AddCause yanıtını doğrular — reddedilirse tag Bad döner (sahte-Good yazılmaz). SCL/ICD içe aktarma + AP-Title/TSEL seçici kimlik doğrulaması desteklenir.
MQTT Client
Sürücü: MQTT Client (3.1.1 / 5.0). Bir MQTT broker'a abone olup gelen topic/payload'ı tag olarak okur ("MQTT'yi Modbus gibi kullan"). Yeni model (104 paritesi): broker bağlantısı (host/port, TLS 1883/8883, CA + istemci sertifikası, QoS, kullanıcı/parola, Client ID) KANAL seviyesindedir; aynı kanaldaki cihazlar tek paylaşılan broker soketini kullanır. Cihaz yalnız topic kümesidir — Cihaz ID opsiyoneldir (boş ya da etiket). Cihaz ayrıca canlılık (Arrival Watchdog: beklenen periyot × 1.5 → Uncertain, × 3 → Bad; reconnect grace) ve tag keşif ayarlarını taşır.
Adres = topic + payload çözümü. Tag özellik editöründe ham adres yerine sihirbaz çıkar (Okuma + ayrı Yazma alanları); adres dizesini arka planda o kurar:
| Çıplak değer | values/debi — payload doğrudan sayı/metin (45 / 45,7 / ON) |
| JSON alanı | telem:/flow/max — / ile alt alanlara inilir; dizi: /data/0/x |
| Anahtar-değer | raw;key=debimetre — "debimetre: 45" metninden çeker |
| Ayraçlı (CSV) | csv;idx=2;sep=; — "10;20;30" → 30 · sep= TEK karakter: : # tab space |
| XML / Regex / İkili | xml=data/flow · re=debi=([0-9.]+) · bin=f32le@0 |
| Joker | sens/+/temp (tek seviye), # (çok seviye) |
| Yazma | ;w=cmd/sp (farklı topic), ;wp=/set (JSON'a göm), ;wr=1 (retain), ;wbool=1 (true/false) |
Akıllı keşif: "Cihazdan Tag Üret" gelen payload'ı parçalar (JSON/XML/CSV/anahtar-değer) ve JSON-pointer'lı tag'ler önerir; derin/devasa payload'larda 500+ yaprak tag çıkarabilir.
Simulator
Sürücü: Simulator. Donanımsız sentetik veri — test, demo ve SCADA/alarm doğrulaması için. Ağ/soket kullanmaz; cihaz ID'si IP değil düz numaradır (1–999).
SINE:10:0:100 | Sinüs — periyot 10 sn, 0..100 arası |
RAMP:5:0:100 | Testere/rampa (0..100) |
SQUARE:2:0:1 | Kare dalga (Boolean) |
RANDOM:0:100 | Rastgele 0..100 |
COUNTER | Sürekli artan sayaç |
Adres biçimi FONKSİYON:periyot:min:max. Simulator import'u ile uyumludur (R/K/B/S register'ları).
MergenHub