Antarmuka IED dengan PC melalui MsComm VB6.0
23 November 2009, 17.02
Diposting Oleh: Ari Sulistiono | lokasi Tag: Komunikasi Data
Pada artikel kali ini saya akan coba mengulas teknik dasar komunikasi peralatan IED (Intelligent Electronic Device) seperti PLC, Digital Meter, Protective Relay, dengan komputer (PC) menggunakan Visual Basic 6.0. Dalam ulasan ini saya hanya membahas penggunaan dan fungsi MSComm yang terdapat dalam Visual Basic 6.0 agar dapat dipakai sebagai fasilitas komunikasi data serial. Untuk protokol komunikasi data akan diulas pada artikel berikutnya karena cakupan bahasan akan menjadi terlalu lebar untuk dibahas.
Pendahuluan
Microsoft Visual Basic 6.0, biasa dikenal dengan VB6.0, merupakan sebuah bahasa pemrograman berbahasa tingkat tinggi yang disertai visualisasi tampilan windows di dalamnya. Sesuai dengan namanya, aplikasi ini hanya bekerja di dalam sistem operasi keluaran Microsoft saja. VB6.0 mulai dikenal banyak orang karena bahasa pemrograman dan GUI (Graphical User Interface) yang disediakan cukup memudahkan seorang pemula dalam membuat sebuah program berbasis Windows.
Meskipun ringan dan sederhana, aplikasi perangkat lunak ini sudah cukup mumpuni untuk digunakan sebagai sebuah antarmuka antara komputer dengan perangkat kontrol elektronik seperti PLC dlsb. Untuk dapat berkomunikasi dengan dunia luar, VB6.0 sudah dilengkapi dengan fasilitas MS Comm Control 6.0. MS Comm Control ini berfungsi untuk mengakomodir jalanya komunikasi dan transfer data dari komputer ke peralatan elektronik berprosesor ataupun sebaliknya.
Aplikasi
Apabila di dalam komputer anda saat ini sudah terinstal VB6.0 ada dapat langsung mencoba bereksperimen dengan fasilitas ini. Caranya, pertama-tama buatlah File >> “New Project”. Kemudian pergi ke Menu “Project” >> “Components”. Sesaat setelah itu seharusnya ada menemui layar seperti dibawah ini.
Gulung (scroll) slidebar ke bawah sampai anda menjumpai “Microsoft Comm Control 6.0” dan centang (check) kotak yang ada disampingnya.
Microsoft Comm Control 6.0 ini berfungsi untuk :
- Mengadakan hubungan dengan serial port PC
- Berhubungan dengan alat komunikasi lain (contoh : modem)
- Melakukan pertukaran data
- Memonitor dan merespon event dan error yang terjadi pada hubungan serial
Untuk melakukan sebuah sambungan komunikasi serial antara 2 peralatan (PC-IED atau PC-PC), harus dilakukan langkah – langkah sebagai berikut :
- Membuka serial port
- Mengatur serial device
- Setting Receive and Transmit Buffer Properties
- Managing Receive and Transmit Buffer
Penjelasan masing – masing langkah akan diberikan di bawah.
1. Membuka Serial Port
Pada komunikasi serial, bit – bit data yang masuk dari dunia luar ke dalam komputer melalui serial port akan ditampung dulu di receive buffer sebelum akan dieksekusi oleh main controller. Demikian pula sebelum dikirim ke luar, data akan ditampung dulu di transmit buffer. Skema lengkapnya dapat di lihat pada gambar di bawah.
Sebelum membuka serial port, dilakukan pengaturan protokol komunikasi serial dengan property MSComm berikut :
- CommPort : menentukan nomor port komunikasi
- Setting : menentukan baud rate, parity, data bits, stop bits dalam string
Untuk membuka serial port cukup dengan property :
- PortOpen : membuka dan menutup port
Sehingga kode program akan tertulis sebagai berikut :
MSComm1.ComPort = 2 MSComm1.Settings = “9600,N,8,1” MSComm1.PortOpen = True
2. Mengatur Serial Device
Pada tahap ini kita perlu memastikan bahwa pengaturan protokol komunikasi serial yang digunakan pada peralatan lain yang kita akses (misal : PLC, modem, mikrokontroler) sesuai dengan pengaturan pada komputer yang kita pakai.
3. Setting Receive and Transmit Buffer Properties
Ada beberapa property dari receive buffer dan transmit buffer (property dari MS Comm) yang perlu kita atur.
- InBufferSize : mengatur ukuran receive buffer
- OutBufferSize : mengatur ukuran transmit buffer
- Rthreshold : menentukan jumlah karakter yang diterima oleh receive buffer sebelum OnComm event dipicu
- Sthreshold : menentukan jumlah karakter yang diterima oleh transmit buffer sebelum OnComm event dipicu
- Jika bernilai 0 berarti tidak pernah dipicu
- Jika bernilai 1 berarti dipicu setiap satu karakter
- InputLen : menentukan jumlah karakter yang dibaca CPU dari receive buffer
- Jika bernilai “ 0 “, maka seluruh isi receive buffer akan dibaca CPU
- InputMode : menentukan tipe data input yang akan dibaca CPU
- comInputModeText : untuk data string/teks
- comInputModeBinary : untuk data biner
4. Managing Receive and Transmit Buffer
Untuk menampilkan data dari peralatan lain ke dalam aplikasi VB, digunakan properti : Input. Sehingga kode akan berbentuk :
TxtDisplay.Text = MSComm1.Input
Untuk mengirim data dari aplikasi VB ke peralatan lain digunakn properti : Output. Sehingga kode akan berbentuk :
MSComm1.Output = “Ini nilai string”
Untuk mengawasi jumlah bit yang ada di transmit buffer dan receive buffer, property berikut dapat ditampilkan.
- InBufferCount
- OutBufferCount
MSComm hanya memiliki 1 event, yaitu OnComm. Event ini akan terjadi jika properti dari CommEvent berubah, yaitu saat terjadi :
- Event komunikasi
- Error
Contoh dari event komunikasi OnComm :
- comEvSend : mengirim sejumlah karakter ke transmit buffer
- comEvReceive : menerima sejumlah karater di receive buffer
- etc
Sedang contoh dari error pada OnComm :
- comEventBreak : sinyal break diterima
- comEventFrame : ada kesalahan framing
- comEventRxOver : receive buffer mengalami overflow
- comEventTXFull : transmit buffer penuh
- etc
You may share this document under Creative Commons License – Terima kasih telah membaca tulisan ini. © 2011 Ari Sulistiono, Indonesian Electrical Engineer.
Tags: Komunikasi Data