Ücretsiz Yazılım İndirme Merkezi
Endüstriyel veri toplama,
izleme ve analiz için yazılımlar.
DNP3, ilk olarak elektrik dağıtım ve telekontrol uygulamalarındaki RTU–master haberleşme ihtiyaçları için geliştirilmiş, daha sonra elektrik üretimi, iletimi, dağıtımı, su ve diğer kritik altyapı uygulamalarında yaygınlaşmış bir protokoldür. DNP Users Group'a göre protokolün geliştirilmesi 1993 yılında DNP Users Group'a devredilmiş, DNP3 ise 2010 yılında IEEE 1815 olarak standardize edilmiştir. IEEE 1815 standardı protokol yapısını, fonksiyonlarını ve birlikte çalışabilir uygulama seçeneklerini tanımlar.
Temel yaklaşım: DNP3, SCADA haberleşmesinde yalnızca "değer oku" yaklaşımından daha zengin bir veri modeli sunar. Bir veri noktasının türü, variation'ı, index'i, statik/event niteliği, class'ı ve gerektiğinde zaman damgası birlikte değerlendirilebilir.
DNP3 günümüzde IEEE 1815 ailesi ile ilişkilidir. IEEE'nin mevcut çalışma sayfasında P1815, IEEE 1815-2012'nin yerini alacak yeni çalışma olarak gösterilmektedir; IEEE 1815-2012 ise 2023 yılında inaktif-rezerv statüsüne alınmıştır. Bu nedenle bir proje dokümanında "DNP3" ifadesinin yanında kullanılan standardın ve cihazın desteklediği sürüm/profile bilgisinin ayrıca belirtilmesi doğru bir mühendislik yaklaşımıdır.
| Doküman | Konu | Önemi |
|---|---|---|
| IEEE 1815-2012 | DNP3 protokol yapısı, fonksiyonları ve interoperable application options | Klasik DNP3 uygulamalarının temel IEEE standardı. |
| IEEE P1815 | DNP3 için yeni standardizasyon çalışması | IEEE'nin güncel çalışma alanını gösterir. |
| IEEE 1815.1 | DNP3 ile IEC 61850 arasında bilgi değişimi/mapping | İki protokol ailesinin gateway ile birlikte kullanılmasına temel sağlar. |
| IEEE 1815.2-2025 | DER'ler için IEEE 1815/DNP3 standard profile | Dağıtık enerji kaynakları ve inverter tabanlı kaynaklar için güncel profile yaklaşımı. |
IEEE 1815.2-2025, 5 Şubat 2026 tarihinde yayımlanmış güncel bir DNP3 profil standardıdır. DER veri modelini IEC 61850-7-420'den seçilen nesnelerle ilişkilendirerek DNP3 üzerinden farklı üreticilere ait DER sistemleriyle birlikte çalışabilirliği hedefler.
DNP3 klasik olarak OSI'nin tüm yedi katmanını ayrı ayrı uygulamak yerine özellikle application, data link ve physical katmanlarını kullanan katmanlı bir yapı olarak tanımlanmıştır. DNP3 over TCP/IP kullanıldığında TCP/IP, DNP3 link/application katmanlarının altında taşıma altyapısı sağlar. DNP Users Group, DNP3'ün application layer, data link layer ve physical layer yaklaşımını açıkça belirtmektedir.
┌──────────────────────────────────────┐
│ DNP3 Application Layer │
│ Objects • Variations • Function Code │
│ Class • Events • Controls • Time │
├──────────────────────────────────────┤
│ DNP3 Data Link Layer │
│ Link Header • Source/Destination │
│ Length • Control • CRC │
├──────────────────────────────────────┤
│ Transport / TCP-IP (DNP3 over IP) │
├──────────────────────────────────────┤
│ Physical / Serial / Ethernet │
└──────────────────────────────────────┘
| Katman | Görev |
|---|---|
| Application | Veri nesneleri, object group/variation, function code, confirmations, events ve controls. |
| Transport | Application fragment'larının link layer frame'lerine taşınmasını düzenler. |
| Data Link | Kaynak/hedef adres, link control, length ve CRC ile güvenilir frame aktarımı. |
| Physical | Seri haberleşme veya IP/Ethernet gibi fiziksel/alt taşıma ortamı. |
DNP3 mimarisinde klasik olarak master, haberleşmeyi başlatan ve outstation'lardan veri isteyen taraftır. Outstation ise saha cihazı, RTU, IED veya benzeri uzak istasyon tarafıdır. Güncel uygulamalarda cihazların desteklediği fonksiyonlara göre daha karmaşık mimariler görülebilir; ancak SCADA entegrasyonunun temel modeli master/outstation ilişkisidir.
| Rol | Tipik Sorumluluk |
|---|---|
| Master | Read, write, control, class poll, time synchronization ve unsolicited mesaj yönetimi. |
| Outstation | Veri toplama, event üretme, cevap gönderme ve kontrol komutlarını uygulama. |
| Gateway | DNP3 ile IEC 61850, Modbus veya başka protokoller arasında veri eşleme. |
| SCADA | Master rolüyle outstation verilerinin izlenmesi, arşivlenmesi, alarm ve kumanda işlemleri. |
DNP3'te data point adreslemesi klasik Modbus register yaklaşımından farklıdır. Link layer seviyesinde kaynak ve hedef adresler bulunurken application seviyesinde veri; group, variation ve index bilgileriyle tanımlanır.
Master Address: 1
Outstation Address: 10
Application object:
Group = 30
Variation = 1
Index = 25
Anlam:
Analog Input
32-bit value
Point index 25
Bu nedenle bir DNP3 tag tanımında yalnızca "25 numaralı nokta" demek çoğu zaman yeterli değildir. Noktanın object group'u, variation'ı, index'i ve gerekiyorsa class/event özellikleri birlikte belirlenmelidir.
DNP3 data link layer frame'leri sabit bir başlangıç imzası, uzunluk, link control, kaynak/hedef adresleri ve CRC alanları kullanır. CRC'nin frame içindeki bloklar üzerinde kullanılması, haberleşme hatalarının algılanmasına yardımcı olur.
+--------+--------+--------+--------+--------+--------+
| 0x05 | 0x64 | Length | Link | Dest | Source |
| Start | Start | | Control| | |
+--------+--------+--------+--------+--------+--------+
| CRC | User Data / Transport / Application ... |
+-----------------------------------------------------+
DNP3 frame formatındaki ayrıntılar seri ve IP uygulamasının alt taşıma özelliklerine göre değerlendirilmelidir. Paket analizi yapılırken link layer ile application layer mesajlarının birbirine karıştırılmaması önemlidir.
DNP3 application mesajları gerektiğinde fragment'lara ayrılabilir. Transport layer, application fragment'larının link layer frame'lerine taşınmasında sequence bilgisi kullanır. Bu yapı, özellikle seri hatlar ve sınırlı MTU/bant genişliği koşullarında application mesajlarının taşınmasını mümkün kılar.
Analiz ipucu: Wireshark veya protokol loglarında görülen birden fazla DNP3 frame'in tek bir application transaction'a ait olabileceği unutulmamalıdır. Frame sayısı ile application mesajı sayısı aynı olmak zorunda değildir.
DNP3 application layer, protokolün SCADA açısından en önemli bölümüdür. Application Control alanı fragment, confirmation, unsolicited response ve sequence bilgilerini yönetirken Function Code alanı mesajın ne amaçla gönderildiğini belirtir.
| Alan | Rol |
|---|---|
| Application Control | FIRST/LAST, CON, UNS ve application sequence davranışları. |
| Function Code | Read, Write, Select, Operate, Direct Operate, Confirm vb. işlemin türü. |
| Object Header | Group, Variation ve qualifier/range bilgisi. |
| Object Data | Gerçek data point veya event değerleri. |
DNP3'ün veri modelinin merkezinde Object Group ve Variation kavramları bulunur. Group, verinin hangi tür olduğunu; Variation ise o türün hangi veri formatında/encoding biçiminde taşındığını belirtir. DNP Users Group ve MITRE'nin DNP3 açıklamaları bu modeli temel veri organizasyonu olarak kullanır.
| Group | Tipik Veri | Örnek |
|---|---|---|
| 1 | Binary Input | Kesici/alarma ait tek bit durum. |
| 2 | Binary Input Event | Binary input değişim olayı. |
| 3 | Double-Bit Binary Input | Çift durumlu giriş. |
| 4 | Double-Bit Binary Input Event | Çift durum değişim olayı. |
| 10 | Binary Output Status | Çıkış durumunun okunması. |
| 11 | Binary Output Event | Çıkış durum olayları. |
| 12 | Binary Output Command | Kontrol komutu. |
| 13 | Binary Output Command Event | Kontrol işlemi olayı. |
| 20 | Counter | Enerji/sayaç gibi counter değerleri. |
| 21 | Frozen Counter | Freeze edilmiş sayaç. |
| 22 | Counter Event | Sayaç değişim olayı. |
| 23 | Frozen Counter Event | Freeze sayaç olayları. |
| 30 | Analog Input | Aktif güç, gerilim, frekans vb. |
| 31 | Frozen Analog Input | Freeze edilmiş analog değer. |
| 32 | Analog Input Event | Analog değişim olayı. |
| 33 | Frozen Analog Input Event | Freeze analog olay. |
| 40 | Analog Output Status | Analog çıkışın mevcut durumu. |
| 41 | Analog Output Block | Analog output command. |
Aynı Group farklı Variation'larla farklı veri formatlarında taşınabilir. Bu özellik DNP3'ün farklı cihazların kapasitesine ve veri temsil biçimlerine uyum sağlamasını kolaylaştırır. Örneğin Analog Input grubunda 16-bit integer, 32-bit integer, 32-bit floating point veya zaman etiketli formatlar gibi seçenekler bulunabilir.
| Veri Ailesi | Tipik Variation örnekleri | SCADA Karşılığı |
|---|---|---|
| Binary Input | Packed binary, indexed binary | Digital/Boolean |
| Binary Event | Event + relative/absolute time | Digital event + timestamp |
| Double Bit | Double-bit status | 2-bit state |
| Counter | 16/32/32U/64-bit sayaç biçimleri | Unsigned/integer counter |
| Analog Input | 16-bit, 32-bit, 32-bit float, time-tagged variants | Analog numeric |
| Analog Output Status | Integer veya float status | Analog output feedback |
| Command | CROB / analog output command structures | Control command |
Önemli: Variation numarası tek başına veri tipi değildir. Önce Group belirlenir, ardından o Group içindeki Variation veri biçimini belirler. Bir istemcinin "Group 30" gördüğünde doğrudan tek bir C# veya SCADA veri tipine karar vermesi doğru değildir.
DNP3'te class yapısı, verilerin nasıl sorgulanacağını ve olayların nasıl önceliklendirileceğini belirlemede çok önemlidir. Class 0 statik/current data için; Class 1, Class 2 ve Class 3 ise event data için kullanılır. Bu sınıflar master'ın farklı önceliklerde event polling yapmasına imkân verir.
| Class | Anlam | Tipik Kullanım |
|---|---|---|
| Class 0 | Static data | Outstation'daki mevcut tüm statik değerlerin genel taraması. |
| Class 1 | Event priority 1 | Yüksek öncelikli olaylar. |
| Class 2 | Event priority 2 | Orta öncelikli olaylar. |
| Class 3 | Event priority 3 | Daha düşük öncelikli olaylar. |
Startup:
Class 0 → complete static scan
Normal operation:
Class 1 → high priority events
Class 2 → medium priority events
Class 3 → low priority events
Periodic:
Class 0 → integrity / complete scan
DNP3'ün SCADA açısından güçlü yönlerinden biri event-oriented data modelidir. Bir veri değiştiğinde outstation event object oluşturabilir. Event object, mevcut değeri tekrar tekrar okumak yerine değişimin kendisini master'a taşıyabilir.
Event variation'ları zaman damgası içerebilir. Böylece master, olayın kendi haberleşme zamanından ziyade outstation tarafında oluşan olay zamanını değerlendirebilir. Bu özellik SOE (Sequence of Events), alarm ve olay kayıt uygulamaları için önemlidir.
Klasik polling yaklaşımında master belirli aralıklarla outstation'a veri sorar. DNP3 ise outstation'ın event oluştuğunda master'dan yeni bir poll beklemeden unsolicited response göndermesine izin veren bir mekanizmaya sahiptir.
Polling model:
Master ──Read Class 1──► Outstation
Master ◄──Events──────── Outstation
Unsolicited model:
Outstation ──Event──────► Master
(no new poll required)
Unsolicited response kullanıldığında enable/disable işlemleri, confirmation davranışı, class/event queue kapasitesi ve bağlantı yeniden kurulduğunda event recovery mekanizması birlikte tasarlanmalıdır.
Application layer Function Code, mesajın hangi işlemi gerçekleştirdiğini belirtir. Aynı mesaj içindeki object'ler bu function code'un belirttiği işlem bağlamında ele alınır.
| Function | Tipik Amaç |
|---|---|
| Confirm | Application layer confirmation. |
| Read | Object data okuma. |
| Write | Yazılabilir object'lerin yazılması. |
| Select | Control için Select-Before-Operate aşaması. |
| Operate | Daha önce select edilmiş kontrolün uygulanması. |
| Direct Operate | SBO olmadan doğrudan kontrol. |
| Direct Operate No Ack | Uygulamaya bağlı olarak confirmation gerektirmeyen direct control. |
| Freeze | Counter değerlerinin freeze edilmesi. |
| Freeze and Clear | Counter freeze ve clear işlemleri. |
| Cold/Warm Restart | Outstation restart işlemleri. |
| Enable/Disable Unsolicited | Unsolicited event transmission yönetimi. |
| Assign Class | Data point'lerin class yapılandırmasının değiştirilmesi. |
DNP3 binary control işlemlerinde yaygın olarak Control Relay Output Block (CROB) kullanılır. CROB; operation type, count, on-time, off-time ve kontrol sonucu ile ilişkili alanları içerir.
Binary Output Command
│
▼
CROB
├── Operation Type
├── Count
├── On Time
├── Off Time
└── Status
Common operation:
Select → Operate
Alternative:
Direct Operate
Select-Before-Operate (SBO), kritik kumandalarda yanlış veya istem dışı operasyon riskini azaltmak için kullanılan iki aşamalı bir kontroldür. Master önce Select gönderir, outstation kabul ederse Operate ile gerçek işlemi başlatır.
SCADA güvenliği: DNP3 kontrol komutunda iletişim seviyesinde başarı alınması, saha ekipmanının gerçekten istenen duruma geçtiği anlamına gelmez. Command status, feedback point ve proses interlock'ları ayrıca doğrulanmalıdır.
DNP3 sayaçları; enerji, çalışma sayısı, pulse counter ve benzeri birikimli değerlerin aktarılması için kullanılabilir. Counter ve Frozen Counter grupları birbirinden ayrıdır.
| Group | Veri | Kullanım |
|---|---|---|
| 20 | Counter | Anlık/akümüle sayaç değeri. |
| 21 | Frozen Counter | Freeze anında yakalanan sayaç değeri. |
| 22 | Counter Event | Sayaç olay/değişim bilgisi. |
| 23 | Frozen Counter Event | Freeze counter olayları. |
DNP3 zaman senkronizasyonu; event timestamp'larının doğru yorumlanması ve outstation saatlerinin master ile uyumlu tutulması için önemlidir. DNP3'ün zaman etiketli event variation'ları özellikle olay kayıt sistemlerinde kullanılır.
Proje tasarımında yalnızca DNP3 time synchronization mesajının desteklenmesi değil, outstation saat kaynağı, UTC/local time yaklaşımı, daylight saving uygulaması, saat sapması ve olay zamanının SCADA historian'a nasıl aktarılacağı da tanımlanmalıdır.
DNP3 farklı fiziksel ve taşıma ortamlarında kullanılabilecek şekilde tasarlanmıştır. Seri haberleşme uygulamalarında RS-232/RS-485 gibi arayüzler görülürken, modern SCADA sistemlerinde DNP3 over TCP/IP yaygın olarak kullanılmaktadır.
| Uygulama | Özellik |
|---|---|
| DNP3 Serial | Seri hat, düşük bant genişliği ve RTU uygulamaları. |
| DNP3 over TCP/IP | Ethernet/IP ağları üzerinden SCADA haberleşmesi. |
| DNP3 over UDP | Özel uygulama/cihaz desteğine bağlı taşıma seçeneği. |
Port notu: DNP3 over TCP uygulamalarında yaygın olarak TCP 20000 portu kullanılır. Ancak gerçek projede port numarası cihaz, firewall ve tesis ağ politikası ile birlikte doğrulanmalıdır.
DNP3 Object Header yalnızca Group ve Variation bilgilerini taşımaz. Qualifier/range bilgileri, master'ın hangi object index'lerinin veya kaç object'in işleneceğini belirtir. Bu sayede tek bir point, bir index aralığı, count veya tüm mevcut nesneler istenebilir.
Group 30 / Variation 1
Qualifier:
Start = 0
Stop = 99
Anlam:
Analog Input 0 ... 99 oku
İstemci yazılımında qualifier'ın doğru işlenmesi önemlidir. Aksi durumda outstation'dan doğru veri geliyor olsa bile yalnızca ilk point okunabilir veya beklenmeyen point aralığı sorgulanabilir.
DNP3 response'larında yalnızca data object'ler değil, response status bilgileri de değerlendirilmelidir. Bir istemcinin "paket geldi" sonucunu "işlem başarılı" olarak yorumlaması doğru değildir.
| Kontrol | İncelenecek Durum |
|---|---|
| Link | CRC, source/destination, link reset ve sequence davranışı. |
| Transport | Fragment sequence, FIRST/LAST ve bütünlük. |
| Application | Function code ve application sequence. |
| Response | Object data ile birlikte IIN/status bilgileri. |
| Point | Binary/analog flags ve point quality. |
| Control | CROB/command status ve saha feedback'i. |
DNP3 response'larında Internal Indications (IIN), outstation'ın master'a iletmek istediği önemli durumları belirtir. Örneğin cihazın class event verisi bulunduğu, device restart olduğu veya time synchronization gibi bir işlemin gerekli olduğu durumlar IIN üzerinden bildirilebilir.
Bu nedenle EOS gibi bir DNP3 master/client uygulaması yalnızca object data'yı işlemekle kalmamalı, IIN bitlerini de izleyerek haberleşme ve cihaz durumunu ayrı bir diagnostic katmanında değerlendirmelidir.
DNP3 kritik enerji altyapısında kullanıldığından güvenlik yalnızca IP firewall ile sınırlanmamalıdır. DNP Users Group, DNP3 Secure Authentication'ın uygulama seviyesinde güvenlik sağlayan mekanizmalardan biri olduğunu belirtmektedir. DNP3-SA sürüm 5, IEEE 1815-2012 kapsamında yer almıştır.
| Güvenlik Katmanı | Yaklaşım |
|---|---|
| Ağ segmentasyonu | SCADA, RTU/IED ve yönetim ağlarının ayrıştırılması. |
| Firewall/ACL | Yalnızca gerekli DNP3 bağlantılarına izin verilmesi. |
| Secure Authentication | Destekleyen cihazlarda DNP3-SA kullanılması. |
| Account management | Master/outstation yönetim erişiminin sınırlandırılması. |
| Monitoring | Beklenmeyen function code, bağlantı, restart ve authentication olaylarının izlenmesi. |
| Configuration control | DNP3 device profile, point map ve güvenlik yapılandırmalarının sürüm kontrollü tutulması. |
Önemli: DNP3'ü internete doğrudan açmak veya yalnızca port numarasını değiştirmek güvenlik sağlamaz. Kritik enerji tesislerinde ağ segmentasyonu, erişim kontrolü, güvenli kimlik doğrulama, izleme ve güvenli uzaktan erişim mimarisi birlikte tasarlanmalıdır.
DNP3 cihazları aynı protokol ailesinin tüm özelliklerini desteklemek zorunda değildir. IEEE 1815, interoperable application options/subset yaklaşımıyla cihazların desteklediği fonksiyonların belirlenmesini sağlar. Bu nedenle bir entegrasyonda "cihaz DNP3 destekliyor" bilgisi tek başına yeterli değildir.
| Kontrol Edilecek Özellik | Örnek |
|---|---|
| Transport | Serial / TCP / UDP |
| Objects | Binary, Analog, Counter, Command |
| Variations | Integer, float, time-tagged |
| Classes | 0 / 1 / 2 / 3 |
| Unsolicited | Enable/disable ve event reporting |
| Controls | CROB, analog output, SBO |
| Time sync | Time write / delay measurement gibi destekler |
| Security | Secure Authentication desteği |
DNP3 ile IEC 61850 birbirinin doğrudan alternatifi olmak zorunda değildir. IEEE 1815.1, DNP3 ve IEC 61850 ağları arasında bilgi alışverişi için standart bir mapping yaklaşımı tanımlar. Bu yaklaşımda DNP3 master ile IEC 61850 remote site veya IEC 61850 master ile DNP3 remote site arasında gateway kullanılabilir.
EOS SCADA
│
DNP3 Master / Client
│
┌──────┴──────┐
│ Gateway │
│ DNP3 ↔ 61850│
└──────┬──────┘
│
IEC 61850 Station Bus
┌──────┼──────┐
IED IED IED
MMS GOOSE SV
DNP3'ün güncel gelişim alanlarından biri DER (Distributed Energy Resources) uygulamalarıdır. IEEE 1815.2-2025, DER iletişimi için DNP3 tabanlı standart bir profile tanımlar. Bu profil, IEC 61850-7-420:2021'den seçilen veri nesnelerini sabit bir DNP3 data point listesine eşleyerek farklı üreticilerin DER tesisleri arasında birlikte çalışabilirliği hedefler.
Bu gelişme, DNP3'ün yalnızca klasik RTU–SCADA protokolü olarak değil; güneş enerjisi, batarya enerji depolama sistemleri, inverter tabanlı kaynaklar ve plant controller uygulamalarında da kullanılmaya devam ettiğini göstermektedir.
EOS SCADA'daki DNP3 istemcisinin temel görevi, DNP3 outstation ile haberleşerek statik değerleri, event verilerini, sayaçları, analog ölçümleri ve kontrol noktalarını EOS tag modeline aktarmaktır.
EOS SCADA
│
▼
EOS DNP3 Client / Master
│
├── Link connection
├── Application requests
├── Class polling
├── Unsolicited responses
├── Time synchronization
└── Controls
│
▼
DNP3 Outstation
├── Binary Inputs
├── Double-Bit Inputs
├── Counters
├── Analog Inputs
├── Binary Outputs
└── Analog Outputs
EOS tarafında tag modelinin en azından station address, group, variation, index, data type, class, timestamp ve quality gibi bilgileri gerektiğinde saklayabilmesi, farklı DNP3 cihazlarının entegrasyonunu kolaylaştırır.
DNP3'te bir tag'in kimliği yalnızca index numarası değildir. EOS SCADA'da aşağıdaki metadata'nın birlikte tutulması önerilebilir:
| Alan | Örnek | Açıklama |
|---|---|---|
| Station / Outstation | 10 | DNP3 outstation address. |
| Group | 30 | Analog Input. |
| Variation | 1 | 32-bit analog format örneği. |
| Index | 25 | Point index. |
| Class | 1 | Event priority. |
| Data Type | Float32 / Int32 / Boolean | EOS iç veri tipi. |
| Timestamp | Source time | Event timestamp. |
| Quality | Online/Comm/Device quality | Point kullanılabilirliği. |
Örnek EOS DNP3 Tag:
Station : 10
Group : 30
Variation: 1
Index : 25
Class : 1
Type : Analog Float
Name : Generator_ActivePower
DNP3 SCADA uygulamalarında polling stratejisi haberleşme performansını doğrudan etkiler. Tüm noktaları sürekli okumak yerine Class 1/2/3 event polling ile değişen verilerin öncelikli alınması ve belirli aralıklarla Class 0 integrity scan yapılması daha verimli bir yaklaşım olabilir.
Bağlantı başlangıcı:
Class 0 → Full scan
Normal çevrim:
Class 1 → sık
Class 2 → orta
Class 3 → seyrek
Periyodik bütünlük:
Class 0 → complete scan
Event yoğunluğu:
Unsolicited → event-driven transfer
DNP3 entegrasyonunda Wireshark, "bağlantı var fakat veri gelmiyor" veya "control gönderiliyor fakat cihaz uygulamıyor" gibi problemlerde çok değerlidir. Analiz katmanlı yapılmalıdır.
| Katman | Kontrol |
|---|---|
| TCP/IP | Handshake, reset, retransmission, port ve bağlantı sürekliliği. |
| DNP3 Link | Start bytes, length, control, source/destination ve CRC. |
| Transport | FIRST/LAST ve sequence. |
| Application | Function code, application control ve object header. |
| Objects | Group, variation, qualifier, index ve gerçek değer. |
| Events | Class, timestamp ve unsolicited davranışı. |
| Belirti | Olası Neden | Kontrol |
|---|---|---|
| TCP bağlantısı yok | IP, port, firewall, routing. | Ping, TCP test, firewall/ACL. |
| Link response yok | Adres veya link state problemi. | Source/destination, link control, CRC. |
| Data geliyor ama yanlış | Group/variation/index yanlış. | Device Profile ve object map. |
| Analog değer anlamsız | Variation veri tipi yanlış yorumlanıyor. | Group 30/variation ve signed/unsigned/float kontrolü. |
| Event gelmiyor | Class, event queue veya polling yanlış. | Class 1/2/3, event object ve Class 0. |
| Unsolicited çalışmıyor | Disable durumda veya confirmation/config problemi. | Enable unsolicited ve application control. |
| Kumanda çalışmıyor | SBO, CROB, status veya interlock. | Select/Operate sequence ve command status. |
| Zaman damgası yanlış | Time sync veya timezone. | Outstation clock, UTC/local ve sync. |
| Bağlantı sık kopuyor | Timeout, reconnect, network veya device load. | TCP logları ve outstation diagnostics. |
| Class poll boş dönüyor | Point class atanmamış veya event oluşmamış. | Device class configuration. |
Büyük DNP3 sistemlerinde performans; yalnızca TCP bant genişliğiyle değil, point sayısı, class dağılımı, event yoğunluğu, polling periyodu, unsolicited trafiği, application fragment sayısı, outstation kapasitesi ve historian yazma yükü ile birlikte değerlendirilir.
| Parametre | Performans Etkisi |
|---|---|
| Point sayısı | Full scan ve database/historian yükünü artırır. |
| Class dağılımı | Event polling frekansını belirler. |
| Variation seçimi | Mesaj boyutunu ve veri işleme maliyetini etkileyebilir. |
| Unsolicited | Polling ihtiyacını azaltabilir ancak event burst oluşturabilir. |
| Fragmentation | Mesajların frame sayısını artırabilir. |
| Reconnect | Toplu bağlantı kaybında traffic storm oluşturabilir. |
| Özellik | DNP3 | IEC 60870-5-104 | IEC 61850 |
|---|---|---|---|
| Temel kullanım | SCADA / RTU / telecontrol | SCADA / telecontrol | Substation / power automation |
| Veri modeli | Object Group / Variation | ASDU / Type ID / IOA | IED / LN / DO / DA / CDC |
| Event sınıfları | Class 1/2/3 | Type ID ve cause of transmission | Report/GOOSE mekanizmaları |
| Unsolicited | Güçlü biçimde desteklenir | Spontaneous transmission | Reporting / GOOSE |
| Kontrol | CROB, SBO | Command ASDU'ları | Control CDC / ACSI |
| Yerel peer-to-peer | Sınırlı/uygulamaya bağlı | Temel amaç değil | GOOSE ile güçlü |
| Engineering model | Device Profile | Genel telecontrol configuration | SCL |
DNP3, özellikle elektrik enerjisi SCADA sistemlerinde uzun yıllardır kullanılan ve olay tabanlı veri aktarımı, zaman damgalı event'ler, class polling, unsolicited response, kontrol işlemleri ve farklı iletişim ortamlarına uyarlanabilmesi sayesinde güçlü bir telekontrol protokolü olmaya devam etmektedir.
DNP3'ü doğru anlamanın anahtarı; Master/Outstation mimarisi ile birlikte Link Layer → Transport → Application → Object Group → Variation → Qualifier → Index → Class zincirini birlikte değerlendirmektir. SCADA uygulamasında buna quality, timestamp, IIN, event queue, control status ve security bilgileri de eklenir.
EOS SCADA açısından DNP3; RTU, IED, enerji üretim tesisleri, dağıtım sistemleri ve gateway uygulamalarında geniş bir entegrasyon alanı sunar. Bununla birlikte gerçek bir projede cihazın desteklediği Group/Variation/function code/profile bilgileri doğrulanmalı, güvenlik mimarisi IEC/IEEE gereksinimleriyle birlikte tasarlanmalı ve devreye alma sırasında gerçek paket trafiği analiz edilmelidir.
Bu dokümanın teknik içeriğinde DNP Users Group, IEEE ve ilgili üretici/uygulama dokümantasyonları esas alınmıştır. Aşağıdaki bağlantılar, DNP3 protokolünün standardizasyon durumu, veri modeli, uygulama seçenekleri, güvenlik, IEC 61850 eşleştirmesi ve DER uygulamaları için doğrudan teknik kaynaklara erişim sağlar.
Kaynak kullanımı: IEEE standartlarının tam metinleri telif hakkıyla korunmaktadır ve bazı dokümanlar satın alma veya üyelik gerektirebilir. Resmî mühendislik, şartname, sertifikasyon ve ürün uyumluluğu çalışmalarında ilgili standardın güncel ve resmî sürümü esas alınmalıdır.
IEEE 1815.2-2025, DNP3'ün yalnızca klasik RTU/SCADA haberleşmesiyle sınırlı olmadığını; güneş, batarya, inverter tabanlı kaynaklar ve diğer DER uygulamalarında standartlaştırılmış veri noktalarıyla kullanılabildiğini göstermektedir. Bu profil, IEC 61850-7-420 tabanlı seçilmiş veri nesnelerini DNP3 veri noktalarıyla ilişkilendirerek farklı üreticiler arasındaki birlikte çalışabilirliği geliştirmeyi amaçlar.
EOS açısından önerilen teknik kaynak sırası:
Önemli: Bir cihazın “DNP3 destekli” olması, bütün Group/Variation, Function Code, Class, unsolicited response, time synchronization veya Secure Authentication özelliklerinin desteklendiği anlamına gelmez. EOS DNP3 istemci entegrasyonunda üreticinin güncel Device Profile, Point List ve gerekiyorsa conformance/test dokümanları ayrıca kontrol edilmelidir.