Prceeding, Industrial Electrnic Seminar 2000 (IES 2000) Graha Institut Teknlgi Sepuluh Npember, Surabaya, Octber 18 th -19 th,2000 Abstract THE DEVELOPMENT OF DATAFLOW CONTROL PROTOCOL (DCP) ON THE ETHERNET NETWORK TO MONITOR PLANT Andre Christant, Lauw Lim Un Tung, Hany Ferdinand Department f Electrical Engineering Petra Christian University Siwalankert 121-131 Surabaya 60236 Phne. (031)8439040, fax. (031)8436418 {tung,hanyf}@petra.ac.id Penggunaan jaringan ethernet untuk kmunikasi data merupakan hal yang umum. Untuk itu dalam jaringan ethernet terdapat berbagai macam prtcl yang disediakan untuk keperluan tersebut. Misalnya, TCP (Transfer Cntrl Prtcl), UDP (User Datagram Prtcl), ICMP (Internet Cntrl Message Prtcl), dll. Prses kmunikasi data yang dilakukan dalam jaringan ethernet mensyaratkan adanya prtkl tersebut. Jika data yang akan dikmunikasikan merupakan data yang sederhana tetapi penting, maka pengguna sulit untuk memilih antara TCP (terlalu rumit jika diimplementasikan pada micrcntrler) atau UDP (data mungkin bisa hilang). Oleh karena itu perlu dikembangkan prtkl baru yang dapat diimplementasikan pada micrcntrller dimana data tidak akan hilang. Karena lebih diaplikasikan untuk pengendalian plant, maka diberi nama DCP (Dataflw Cntrl Prtcl). Prinsip dasarnya adalah UDP yang dikembangkan sehingga dapat melakukan acknwledge dan pemindahan data dengan mudah. Prtkl ini memberikan hasil pengujian yang memuaskan untuk prses pertukaran data antara PC dan minimum sistem via jaringan ethernet. KEYWORDS: UDP, Prtcl, Ethernet 1. Pendahuluan TCP/IP telah menjadi standard pada banyak perangkat yang memanfaatkan teknlgi internet sebagai media kmunikasi data. Bentuk prtcl TCP/IP yang fleksibel dan mudah menjadikan prtcl ini ppuler pada banyak platfrm jaringan kmputer. Pada keadaan nrmal, TCP/IP membutuhkan wrk lad tinggi. Untuk mengirimkan sebuah data, prtcl ini membutuhkan header yang besar dan prses acknwledgement yang rumit. Hal ini dimaksudkan untuk mempertahankan reliability dari prtcl. Wrk lad yang tinggi dapat ditangani dengan mudah leh platfrm dengan CPU yang cepat seperti pada persnal cmputer. Tetapi untuk menerapkan TCP/IP pada sebuah cntrller device dengan lebar bus yang terbatas dan frekuensi kerja yang kecil, wrk lad TCP/IP yang besar ini perlu dipertimbangkan. Dari gambaran tersebut dikembangkan prtkl dengan basis TCP/IP yang mampu menangani masalah tersebut. Prtcl yang dikembangkan diberi nama Dataflw Cntrl Prtcl atau disingkat DCP. DCP dikembangkan untuk prses pengiriman data dalam jumlah kecil tetapi membutuhkan reliability yang tinggi. Aplikasi yang cck untuk DCP ini adalah aplikasi sistem kendali menggunakan micrcntrller. 2. TCP/IP Struktur dasar TCP/IP dapat dilihat pada gambar 1. Gambar 1. Mdel TCP/IP Datalink dan Physical layer berperan pada transfer data antar terminal. Datalink menentukan physical address (MAC Address) hardware ethernet, sedang Physical layer mengubah data tersebut menjadi sinyal listrik untuk ditransmisikan. IP layer bertanggung jawab pada
Prceeding, Industrial Electrnic Seminar 2000 (IES 2000) Graha Institut Teknlgi Sepuluh Npember, Surabaya, Octber 18 th -19 th,2000 pengiriman data antar terminal, di dalamnya termasuk ICMP, ARP, dan RARP. Transprt layer terdiri dari UDP dan TCP. Bagian inilah yang akan menjadi inti dari makalah ini. 3. Peer Cmmunicatin Mdel kmunikasi TCP/IP disebut peer cmmunicatin, dimana masing-masing layer seakan-akan berkmunikasi dengan layer yang sama pada terminal lain. Ilustrasi kmunikasi ini sebagaimana terlihat pada gambar 2. Prinsip dasar pada pengiriman data ada penambahan header-header untuk melengkapi data yang akan ditransmisikan. Sehingga data tersebut akan memuat header sesuai dengan layer yang dilewatinya, mulai dari applicatin layer sampai dengan physical layer. Pada saat data diterima leh physical layer, maka header-header itu akan dibaca dan dikenali leh setiap layer, sampai ke applicatin layer yang kemudian membuka message tersebut dan menggunakannya untuk aplikasi yang bersangkutan. 4. DCP (Dataflw Cntrl Prtcl) Perencanaan prtcl memperhatikan beberapa hal sebagai berikut: Spesifikasi dari prcessr sistem, terkait dengan tipe micrcntrller yang dipergunakan dan kapasitas penyimpanan data Spesifikasi media kmunikasi, dalam percbaan ini dilakukan pada 10BaseT Kebutuhan sistem kmunikasi aplikasi, karena sistem harus dapat diakses dari jarak jauh melalui jaringan kmputer secara real time dan multi user accessable Melihat hal-hal tersebut di atas maka prtcl yang dikembangkan harus memiliki spesifikasi sebagai berikut: Mampu bekerja dengan wrk lad yang tidak terlalu tinggi sehingga tidak mengganggu kinerja sistem kendali. Mampu bekerja pada lebar data bus 8 bit dan frekuensi kerja yang kecil Memiliki dataflw yang teratur. Memiliki fasilitas acknwledge yang lengkap sehingga data yang dibawa terjamin. Dataflw Cntrl Prtcl yang dikembangkan merupakan turunan dari UDP. Hubungan tersebut dapat digambarkan sebagai berikut: Gambar 4. Hirarki DCP Sedangkan frmat header DCP adalah sebagai berikut: Request Type Cnnectin Type Ack. Gambar 5. Frmat Header DCP Data Request Type, terdiri dari dua bentuk data yaitu: Request fr Cnnectin (RfrC=0) dan Request fr Terminate Cnnectin (RfrTC=1). RfrC digunakan pada kneksi nrmal yang bahwa server atau minimum system akan melakukan data yang tipenya pada field Cnnectin Type. digunakan untuk sebuah hubungan nrmal permintaan dari untuk kneksi karena seperti di ini: Client (data requestr) berusaha mengubah nilai SP sebelum membuka hubungan dengan server. Client hendak membuka kneksi dengan server yang telah terhubung dengan client lain Client hendak memutuskan sebuah hubungan yang belum pernah terbentuk sebelumnya atau telah terputus sebelumnya Cnnectin Type, menunjukan tipe dari hubungan yang diinginkan leh client. Ada lima tipe kneksi yang disediakan leh DCP pada aplikasi ini: Data DCP UDP I P Datalink Physical Open Cnnectin (OC=0) digunakan untuk membuka sebuah kneksi. Already Cntrlled (AC=1) digunakan leh server atau minimum system untuk memberitahukan
Prceeding, Industrial Electrnic Seminar 2000 (IES 2000) Graha Institut Teknlgi Sepuluh Npember, Surabaya, Octber 18 th -19 th,2000 kepada client yang mengaksesnya dan ingin membuka sebuah hubungan baru, bahwa minimum system telah dikntrl leh client lain yang nmr IP-nya diberikan pada Change SP Value (SP.CHG=2) digunakan untuk meminta perubahan nilai SP dari sistem kntrl yang nilainya diberikan pada Type ini juga digunakan leh minimum system untuk memberikan respn kepada client yang memintanya bahwa ia telah mengganti nilai SP dengan nilai yang sebelumnya telah diberikan. Request fr SP Value (SP.VAL=3) digunakan untuk meminta nilai SP pada sistem kntrl dan untuk memberikan jawaban atas permintaan nilai SP dari client. Nilai SP yang diminta diletakkan pada Request fr PV Value (PV.VAL=4) digunakan untuk meminta nilai PV dari sistem kntrl dan untuk memberikan jawaban atas permintaan nilai PV dari client. Nilai PV yang diminta diletakkan pada Acknwledge Acknwlegde field memiliki dua fungsi. Selain sebagai acknwledgement terhadap data yang dibawanya, field ini juga digunakan untuk membedakan DCP data yang dibawanya. Apabila field ini bernilai genap maka data yang dibawanya adalah request, tetapi apabila bernilai ganjil maka data yang dibawanya adalah reply atau jawaban dari request yang diminta. 5. Dataflw Dataflw untuk hubungan nrmal dapat dilihat pada gambar 6. Penjelasan mengenai dataflw ini dimulai dari pembukaan hubungan yang dilakukan leh client terhadap server. Jika server dalam kndisi tidak dikntrl leh client manapun (status: nt cntrlled) maka server akan menanggapi request client dengan memberikan reply setuju. dicatat dan dijadikan acuan pada prses access authrity. Client yang telah membuka kneksi memiliki wewenang untuk mengubah nilai Setting Pint (SP). Client dapat melakukan pengubahan terhadap nilai SP dengan mengirimkan request untuk mengubah SP. Request dibalas leh server dengan mengirimkan reply yang disertai nilai SP yang diminta untuk prses acknwledgement leh client. Prses mnitring dilakukan baik leh client yang telah mengntrl atau client yang tidak terkneksi. Permintaan terhadap nilai PV dilakukan dengan mengirimkan request yang berisi permintaan nilai PV pada server. Client dapat memutuskan kneksi yang telah dibuat terhadap server dengan mengirimkan Request fr Terminate Cnnectin (RfrTC). Server akan melihat nmr IP client yang mengirimkan request tersebut dan mencckkannya dengan nmr IP client yang dimilikinya. Bila cck maka server akan mengirimkan reply balik sebagai pertanda server setuju untuk memutuskan hubungan. Saat ini server dalam status nt cntrlled dan dapat membuka kneksi dengan client manapun. Terdapat beberapa kemungkinan server menlak pembukaan kneksi atau pengubahan terhadap nilai SP. Ilustrasi penlakan akses tersebut dapat digambarkan dengan gambar 7. Pada gambar tersebut server dalam status terkntrl leh client dengan nmr IP IP_A. Apabila terdapat client dengan nmr IP IP_B hendak membuka kneksi terhadap server maka server akan menlak dengan mengirimkan Request fr Terminate Cnnectin. Alasan penlakan ini diberikan pada field cnnectin type yaitu bahwa server telah terkneksi pada client lain dengan nmr IP IP_A (AC: Already Cntrlled with IP number IP_A). Bila client ini mencba untuk melakukan pengubahan terhadap nilai SP maka server menlak permintaan ini dengan mengirimkan Request fr Terminate Cnnectin tanpa alasan apapun. Status server berubah menjadi cntrlled leh client tersebut. Nmr IP client yang mengakses
Graha Institut Sepuluh Npember, Surabaya, Octber 18-19 th 6. Hasil N. 1) N. 2) berusaha membuka dengan mengirim dan Ack ( 0 ). Target keadaan tidak dengan hst lain menjawab mengirim RfrC ( 0 ), OC ( 0 ), dan Ack ( 1 ) Hst berusaha mengubah SP menjadi 62. Maka dikirimkan RfrC ( 0 ), SP.CHG ( 2 ), Ack ( 0 ) dan data ( 62 ). Dibalas dengan RfrC ( 0 ), SP.CHG ( 2 ), Ack ( 1 ), dan data ( 62 ) N. 3) Hst membaca SP dari minimum sistem, maka dikirimkan RfrC ( 0 ), SP.VAL ( 3 ), Ack ( 0 ). Dibalas dengan RfrC ( 0 ), SP.VAL ( 3 ), Ack ( 1 ), dan data ( 62 ) N. 4) N. 7) Hst melakukan pemantauan pada plant dengan PV.VAL ( 4 ). Prses ini diulang pada (5) dan (6) Hst berusaha menutup hubungan dengan mengirim RfrTC ( 1 ), Ack ( 0 ). Dibalas leh minimum sistem dengan RfrTC ( 1 ), Ack ( 1 ) Tabel 1. Hasil N. 8) telah memutus mencba mengubah dibalas dengan dan Ack ( 1 ), permintaan ditlak tidak terjadi N. 9) Hst yang memutus hubungan membaca SP, dibalas mengirimkan nilai SP hst N. 10) telah memutus mencba membaca dibalas dengan nilai PV ke 7. Kesimpulan DCP salah satu dalam pengembangan data jaringan ethernet. DCP dapat dikembangkan sistem yang lebih dengan menambah field-field misalnya masalah lebih baik (security) DCP untuk diaplikasikan, masih tergantung dibuat secara Dataflw N. Receive 1 0 0 0 0 0 0 0 0 0 0 1 202 43 254 107 0 2 0 0 62 0 0 0 2 62 0 0 0 0 3 0 0 0 0 3 1 0 0 0 4 4 0 0 0 0 0 1 67 0 0 5 0 0 0 0 0 0 4 68 0 0 0 0 6 0 4 0 0 0 0 0 0 0 4 1 69 0 0 0 0 7 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 8 0 2 0 20 0 0 0 0 1 0 0 0 0 0 0 0 9 0 3 0 0 0 0 0 0 0 3 1 62 0 0 0 0 10 0 4 0 0 0 0 0 0 0 4 1 82 0 0 0 0 Referensi: 1., Cirrus Lgic CS8900A Crystal LAN TM ISA Ethernet Cntrller Data Sheet, Texas: Cirrus Lgic Inc., [http://www.crystal.cm]. 2., MCS 51 Micrcntrller Family User s Manual, USA: Intel Crprtin, 1993. 3. Washburn, K. and JT. Evans. TCP/IP Running A Successful Netwrk. Padstw, Crnwall, Great Britain: Addisn-Wesley Publishing Cmpany, 1994.
Prceeding, Industrial Electrnic Seminar 2000 (IES 2000) Graha Institut Teknlgi Sepuluh Npember, Surabaya, Octber 18 th -19 th,2000 Hst with IP = IP_A Minimum System Initiate a cnnectin Change SP value t Z Read PV RfrC, OC, Request, ~ RfrC, OC, Reply, ~ RfrC, SP.val, Request, Z RfrC, SP.val, Reply, Z RfrC, PV.val, Request, ~ RfrC, PV.val, Reply, C Status: nt cntrlled SP: ~ PV: A OK, I'm free Status: cntrlled SP: ~ PV: B OK, I'll change SP value t Z Status: cntrlled SP: Z PV: C OK, here is my PV Terminate cnnectin RfrTC, ~, Request, ~ RfrTC, ~, Reply, ~ O, yu've bred with me, let's break Status: nt cntrlled SP: Z PV: Q Gambar 6. Nrmal Cnditin Dataflw Hst with IP = IP_B Minimum System Initiate a cnnectin Try t Change SP value Try t read PV RfrC, OC, Request, ~ RfrTC, AC, Request, IP_A RfrC, SP.val, Request, Z RfrTC, ~, Request, ~ RfrC, PV.val, Request, ~ RfrC, PV.val, Reply, A Status: cntrlled with IP_A SP: S PV: A N, I've already cntrlled with IP_A N way, yu dn't have an authrity t change my SP OK, here is my PV Gambar 7. Abnrmal Cnditin Dataflw