IEC 104 Nedir? IEC 104 Tester ve Simülatör ile Test
IEC 60870-5-104 (kısaca IEC 104), SCADA merkezinin (master) sahadaki RTU, trafo merkezi kontrolörü veya santral kontrolörü (outstation) ile TCP/IP üzerinden, varsayılan olarak 2404 numaralı portta haberleşmesini sağlayan uluslararası telekontrol protokolüdür. Türkiye’de EDAŞ SCADA bağlantısı olan lisanslı GES’lerde, dağıtım otomasyonunda ve trafo merkezlerinde en yaygın protokoldür. Bu yazı protokolü kısaca açıklar, ardından bir IEC 104 tester ve RTU simülatörüyle testin nasıl yapılacağını gösterir.
IEC 104’ün temel kavramları
| Kavram | Anlamı |
|---|---|
| Master / Client | Veriyi isteyen taraf: SCADA, gateway |
| Outstation / Server | Veriyi veren taraf: RTU, kontrolör |
| Common Address (CA) | İstasyonun ASDU adresi. İki tarafta aynı olmalı |
| IOA | Her noktanın adresi (IEC 104’te 3 bayt) |
| Type ID | Noktanın tipi: tekli durum, çift durum, ölçüm, komut |
| COT | Gönderim sebebi: periyodik, spontane, sorgu cevabı, komut onayı |
| GI (genel sorgulama) | Master’ın “tüm noktaları gönder” isteği (C_IC_NA_1) |
Bir IEC 104 oturumu nasıl ilerler?
- Master, outstation’a TCP 2404 üzerinden bağlanır.
- Master STARTDT act gönderir, outstation STARTDT con ile veri akışını başlatır.
- Master genel sorgulama (C_IC_NA_1, tip 100) gönderir. Outstation önce onay (COT 7), sonra tüm noktaları (COT 20), en sonda bitiş (COT 10) yollar.
- Bundan sonra değişen noktalar spontane (COT 3) gelir.
- Hat boşta kalırsa iki taraf TESTFR çerçeveleriyle bağlantının canlı olduğunu kontrol eder.
En sık kullanılan tipler
| Type ID | Kısa ad | Kullanım |
|---|---|---|
| 1 | M_SP_NA_1 | Tekli durum: alarm, kesici bilgisi |
| 3 | M_DP_NA_1 | Çift durum: kesici açık/kapalı |
| 13 | M_ME_NC_1 | Ölçüm (float): güç, gerilim, akım |
| 30 / 31 / 36 | …_TB_1 / …_TF_1 | Zaman etiketli durum ve ölçüm |
| 45 | C_SC_NA_1 | Tekli komut |
| 46 | C_DC_NA_1 | Çift komut: kesici aç/kapat |
| 50 | C_SE_NC_1 | Set değeri (float): güç limiti |
IEC 104 tester ile neden iki yön test edilir?
IEC 104 projesinde iki ayrı soru vardır ve ikisi için de araç gerekir:
- “RTU doğru veri gönderiyor mu?” → Bir client (master) tester RTU’ya bağlanır, GI atar, noktaları ve komutları kontrol eder.
- “SCADA / gateway veriyi doğru yorumluyor mu?” → Bir server (RTU simülatörü), gerçek RTU’nun yerine geçer ve master’a anlaşılan nokta listesini sunar.
İkinci senaryo özellikle değerlidir: EDAŞ veya SCADA tarafı, saha henüz hazır değilken nokta listesini simülatörle test edebilir. Eşleme hatalarının çoğu sahaya gitmeden laboratuvarda ortaya çıkar.
Adım adım: RTU simülatörü ile master testi
- Nokta listesini hazırlayın. CA, her noktanın IOA’sı ve type ID’si. Bu liste RTU üreticisi ile SCADA tarafının anlaştığı belgedir.
- Simülatörü başlatın. Server modunda CA ve noktaları tanımlayıp 2404 portunda dinlemeye geçin.
- Master’ı bağlayın. Master’ın hedef IP’sini simülatörün çalıştığı bilgisayara yönlendirin. Güvenlik duvarında 2404 açık olmalı.
- GI cevabını kontrol edin. Master ekranında tüm noktalar doğru isimle ve doğru değerle görünmeli.
- Değer değiştirin. Simülatörde bir ölçümü veya durumu değiştirip master’da spontane güncellemenin geldiğini görün.
- Komut gönderin. Master’dan komut verip simülatörde doğru IOA’ya ulaştığını doğrulayın.
Adım adım: client ile gerçek RTU testi
- RTU’nun IP adresine 2404 portundan bağlanın. RTU sadece tanımlı master IP’lerini kabul ediyorsa test bilgisayarının IP’sini ekletin.
- Bağlantı kurulunca GI gönderin ve gelen noktaları nokta listesiyle karşılaştırın.
- Type ID’nin listeyle aynı olduğunu kontrol edin. Float beklenen yerde ölçekli değer gelirse sonuç 10’un katları kadar sapar.
- Komutları önce bağlantısı kesilmiş veya test amaçlı bir nesnede deneyin.
Bağlantı hatalarının ayrıntılı listesi için İngilizce IEC 104 bağlantı testi rehberimize bakabilirsiniz.
Sık karşılaşılan sorunlar
| Belirti | Olası sebep |
|---|---|
| TCP bağlanıyor, ~15 sn sonra kopuyor | STARTDT cevabı yok; RTU başka bir master bekliyor |
| Boşta 20–35 sn’de bir kopma | TESTFR bir tarafta cevaplanmıyor |
| GI onaylandı ama nokta yok | Noktalar farklı bir CA’ya tanımlı |
| Değerler 10’un katları kadar yanlış | Float / ölçekli / normalize tip uyuşmazlığı |
| Olay saatleri saatlerce kaymış | Bir taraf yerel saat, diğeri UTC kullanıyor |
Ranaliz iOT Tester: IEC 104 client ve server tek uygulamada
Ranaliz iOT Tester ücretsiz bir masaüstü uygulamasıdır ve IEC 104 tarafında iki modu birlikte sunar:
- Client: RTU’ya bağlanma, genel sorgulama, canlı nokta güncellemeleri ve komut yazma.
- Server: Kendi tanımladığınız noktalarla RTU simülatörü; başlatma ve izleme kontrolleri.
Nokta tipleri M_SP, M_DP, M_ME, C_SC, C_DC, C_SE ve diğerlerini kapsar. Aynı uygulamada Modbus (TCP/UDP/RTU) ve MQTT test araçları da vardır. Bu, Modbus’tan IEC 104’e çeviren gateway’lerde iki tarafı tek bilgisayardan test etmeyi kolaylaştırır. Windows 10/11 ve Apple Silicon macOS için hazır kurulum vardır. Kaynak kodu MIT lisansıyla GitHub’da yayınlanır.
SSS
IEC 104 hangi portu kullanır?
Varsayılan TCP 2404’tür. Bazı kurulumlarda değiştirilebilir, outstation ayarına bakın.
IEC 101 ile IEC 104 farkı nedir?
IEC 101 seri hat üzerinde çalışır. IEC 104 aynı uygulama katmanını TCP/IP üzerinden taşır. IEC 104’te CA genellikle 2, IOA 3 bayttır.
Gerçek RTU olmadan IEC 104 test edilebilir mi?
Evet. Anlaşılan nokta listesiyle bir RTU simülatörü çalıştırıp master’ı ona bağlayın. Eşleme ve komut hatalarının çoğu burada görünür.
IEC 104 tester ücretsiz mi?
Ranaliz iOT Tester tamamen ücretsizdir, lisans anahtarı istemez. Ticari simülatörlerin çoğu ise yalnızca deneme sürümüyle ücretsiz kullanılabilir.
Kaynaklar
- IEC 60870-5-104 — Network access for IEC 60870-5-101 using standard transport profiles
- IEC 60870-5-101 — Companion standard for basic telecontrol tasks