Distributed Network Protocol – DNP3 merupakan sebuah open protokol dalam industri untuk komunikasi SCADA. Protokol sendiri merupakan sebuah standar yang digunakan untuk device berbicara dengan device lainnya. DNP3 protokol mentransmisikan data dari poin A ke B menggunakan komunikasi serial dan dapat juga menggunakan komunikasi IP. Dan DNP3 ini telah digunakan pada peralatan seperti industri pengolahan air, gas dan tenaga listrik, tetapi dapat digunakan pula di Industri lainnya.
DNP3 mengunakan istilah outstation untuk menunjukkan Device remote di lapangan. Dan istilah master digunakan untuk Device di pusat kendali.
DNP3 Topology
DNP3 mendukung komunikasi multidrop, peer-to-peer dan multi-master. Pada topologi yang terletak diatas dikenal sebagai direct atau one-on-one yang mana memiliki satu master dan satu outstation.
Multidrop dimana satu master menghandle banyak outstation. Komunikasi terjadi antara satu master dan satu outstation pada suatu waktu. Sehingga pada topologi multidrop, Master meminta data pada satu outstation pertama, kemudian berpindah ke outstation selanjutnya untuk mendapatkan data.
Topologi Hierarchical dimana satu device berfungsi sebagai outstation pada master yang diatasnya dan sebagai master pada outstation dibawahnya. Device yang berada ditengah biasanya disebut sebagai sub-master.
Sedangkan tipe data concentrator yaitu sebuah sub-master yang mana mengumpulkan beberapa outstation dibawahnya.
Master and Outstation Database
Sebuah barisan persegi blok di outstation menggambarkan data yang tersimpan dalam database. Berbagai jenis data DNP3 diorganisir sebagai array. Array dari binary input menyatakan state dari logical boolean device. Nilai di dalam array analog input menyatakan nilai yang diukur atau dihitung oleh outstation, contohnya nilai Flow dan pressure . Array dari counters menyatakan nilai hitungan, seperti kWh. Control outputs diorganisir sebagai array yang menyatakan logical on-off untuk kontrol. Dan terakhir, array dari analog output menyatakan nilai analog yang digunakan seperti setpoint.
Elemen dari Array di labeli 0 hingga N-1 dimana N adalah jumlah dari block untuk masing-masing tipe data. Di dalam terminologi DNP3, nomor elemen dikenal sebagai index. Index pada DNP3 berbasis 0, dimana nilai terkecil dari elemen selalu dimulai dari 0.
Pada Master station juga memiliki database yang sama dengan outstation, dan nilai-nilai pada master ini digunakan untuk menampilkan dalam sebuah tampilan.
Static and event data
Pada DNP3 terdapat beberapa jenis data disediakan: static data, event data dan class.
Static data digunakan untuk menyatakan nilai saat ini. Jadi static binary input berisikan status off/on dari boolean device saat ini. Static analog input menyatakan nilai dari analog yang ditransmisikan saat ini.
Event data berkaitan dengan perubahan sesuatu yang terjadi secara signifikan. Contohnya yaitu perubahan state, nilai yang melebih dari threshold, transient data dan informasi baru. sebuah event yang terjadi ketika binary input berubah dari state on ke off atau ketika perubahan nilai analog yang melebihi deadband limit konfigurasi.
Event data pada DNP3 dibagi ke dalam 3 class berdasarkan prioritas dalam mentrasmisikan data. Event data class 1 memiliki prioritas lebih tinggi dari class 2 dan class 2 lebih tinggi dari class 3.
Variations
DNP3 memiliki ketentuan dalam menyatakan data dalam format yang berbeda. Format berbeda didapat dinyatakan dari nilai static, present value, analog data dengan diikuti nomor variation sebagai berikut:
- 32-bit integer value with flag
- 16-bit integer value with flag
- 32-bit integer value
- 16-bit integer value
- 32-bit floating point value with flag
- 64-bit floating point value with flag
tidak semua device DNP3 dapat mengirimkan atau menyediakan seluruh 6 variation. Untuk variation akan berbeda dengan jenis data dan event data, untuk detail bisa kita check di https://www.dnp.org/
Groups
Groups pada DNP3 menyatakan jenis data. Berikut tabel dari Groups:
Unsolicited Responses
Unsolicited Responses merupakan salah satu mode operasi dimana outstation spontan mentransmisikan sebuah response tanpa menerima request data dari master. Tidak semua outstation memiliki kemampuan ini. Mode akan sangat berguna ketika sistem memiliki banyak outstation dan master menuntut notifikasi sesegera mungkin setelah terjadi sebuah perubahan.
Sebelum mengimplementasikan unsolicited response pada system perlu diperhatikan spontan transmisi yang akan sering terjadi, jika tidak akan terjadi konflik.
Tag
kemudian terakhir bagaimana cara penulisan tag untuk membaca data dari DNP3.
berikut sekilas pengenalan DNP3 protokol.