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.

vbcommcontrol

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 :

  1. Mengadakan hubungan dengan serial port PC
  2. Berhubungan dengan alat komunikasi lain (contoh : modem)
  3. Melakukan pertukaran data
  4. 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 :

  1. Membuka serial port
  2. Mengatur serial device
  3. Setting Receive and Transmit Buffer Properties
  4. 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.

vbscada

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

Creative Commons License You may share this document under Creative Commons License – Terima kasih telah membaca tulisan ini. © 2011 Ari Sulistiono, Indonesian Electrical Engineer.