Antarmuka IED dengan PC melalui MsComm VB6.0

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

ORDER VIA CHAT

Produk : Antarmuka IED dengan PC melalui MsComm VB6.0

Harga :

http://www.arisulistiono.com/2009/11/antarmuka-ied-dengan-pc-melalui-mscomm.html

ORDER VIA MARKETPLACE

Diskusi (16)

  1. Ri ada cnth programnya ga,gw lg mo coba2 lg...

    BalasHapus
  2. Oh, ada day..
    Ntar gw posting di blog sama link downloadnya juga.
    Tapi gw cari dulu di HDD lama, daripada ngetik program baru :D

    BalasHapus
  3. Mohon kalau ada contoh source nya dikirimkan ke email donk Boss..
    saya lagi belajar membuat program dengan menggunakan interface serial comm

    Trims

    BalasHapus
  4. Sobat @Adenko, waduh link email agan tidak terdeteksi oleh saya. :D
    Anyway, nanti saya akan posting sample Commport (RS232) usage + souce codenya deh. Please be patient ya.. ;)

    BalasHapus
  5. Udah ada di artikel Modbus day.. heppy reading :D

    BalasHapus
  6. Alow mas Ari..
    Pernah gak membuat Aplikasi VB yang tersambung ke Indikator Timbangan ???
    Boleh Minta YM gak mas ??

    BalasHapus
  7. mas kalo bisal dari data yang dibaca satu per satu bacanya bagaimana? contoh data yand dikirim * 2DC*A5B. yang dibaca * dulu lalu tampil kemudian D tampil dst.
     

    BalasHapus
  8. sob bisa kasih contohnya pakai bahasa c, untuk on/off led antara pc dengan mikro  dengan menggunakan aplikasi vb

    BalasHapus
  9. nama saya yudi
    sob bisa kasih contohnya pakai bahasa c, untuk on/off
    led sederhana antara pc dengan mikro  dengan menggunakan aplikasi vb
    (yudi_themaster@yahoo.com)

    BalasHapus
  10.  Di Split pake MID(char,hurufpertama,hurufdipenggal) kalau pake VB6

    BalasHapus
  11.  Indikator timbangan nya pake interface apa? Kalau interface timbangannya ready protokol Modbus, DNP, IEC tinggal baca register address nya aja. Kalo ga ada ya harus bikin ADC-Micro-Serial-PC

    BalasHapus
  12.  Contohnya belum bisa posting sementara karena kesibukan di site, maaf ya. Untuk bisa mengintrol On/Off micro lewat PC serial port (pake VB/C/dll). Si komputer harus kirim karakter tertentu, misal huruf "A" dikirim ke mikro terus si Mikro kalo itu "A" bit lampu jadi 0/nyala. Terus kirim "B" lampu jadi 1/mati. Seperti itu seterusnya. Ini adalah contoh awal dari framing protokol.

    BalasHapus
  13. Mohon minta contoh source code donk, sy lagi belajar buat tugas akhir. Terimakasih pak.

    BalasHapus
  14. Kalo memindahkan sms dengan mscomm, dipindahkan ke database ada contoh source code nya ? soalnya di mscomm hanya ada onComm, itu berfungsi ketika ada sms masuk saja

    BalasHapus
  15. gma ya klu LCD n VB.6 ??

    BalasHapus