Pemrograman Serial RS232 Menggunakan MSCOMM32.OCX Pada VB.NET 2005


mscomm32_vbnet2005

MSCOMM32 adalah komponen ActiveX bawaan Visual Studio 6. Pemrogram Visual Basic 6 yang pernah bereksperimen maupun membuat aplikasi pemrograman serial RS232 pasti akrab dengan komponen MSCOMM32.

MSCOMM32 sangat mudah digunakan. MSCOMM32 hanya memiliki sebuah event yakni OnComm yang akan aktif ketika:

    1. Communication Errors, seperti: BREAK, FRAMING ERROR, RX BUFFER OVERFLOW, TX BUFFER FULL, dan lain-lain.
    2. Communication Events, seperti: TRANSMIT BUFFER AVAILABLE, RX RECEIVE, CTS, DSR, dan lain-lain.

Pada tulisan ini akan saya bahas sekilas tentang proses instalasi komponen ActiveX MSCOMM32 dan menampilkan demo program sederhana pemrograman serial RS232 menggunakan komponen tersebut pada VB.NET 2005 Express Edition.

Semoga tulisan ini dapat ‘menjembatani’ para pengguna produk-produk driver relay serial yang menggunakan pemrograman VB6.

Langkah 1: Mengunduh komponen MSCOMM32.OCX
Banyak download link yang tersedia ketika kita mencari di Google, namun akan saya berikan satu link saja yang sudah terbukti berfungsi dan telah saya aplikasikan pada Windows 7 dan Windows XP. Silakan mengunduh MSCOMM32.OCX menggunakan link berikut ini…

MSCOMM32.OCX

( ~102KB )

Setelah Anda mendapatkan file MSCOMM32.OCX, copy file MSCOMM32.OCX ke dalam direktori (folder) C:\WINDOWS\SYSTEM32.

Langkah 2: Registrasi Komponen MSCOMM32.OCX
Langkah selanjutnya adalah meregistrasi komponen MSCOMM32.OCX. Buka window DOS Command dengan meng-klik: Start Menu –> Run… –> Ketik: cmd –> Tekan ENTER.

Selanjutnya ketik perintah: REGSVR32 MSCOMM32.OCX <ENTER>

Berikut adalah tampilan windows DOS Command yang saya maksudkan…

mscomm32_regsvr32

Langkah 3: Instalasi MSCOMM32.OCX pada VB.NET 2005
Klik menu Tools –> Choose Toolbox Item… –> Pilih Tab COM Components

Cari dan pilih komponen MSCOMM32.OCX seperti ditunjukkan pada gambar berikut ini, lalu klik Tombol OK.

mscomm32_tools

Jika proses berjalan lancar, maka akan muncul icon komponen MSCOMM32 pada Toolbox VB.NET 2005 yang kita gunakan seperti ditunjukkan pada gambar berikut ini.

mscomm32_toolbox_vbnet

Langkah 4: Testing
Langkah terakhir adalah membuat program demo untuk menguji komponen ActiveX MSCOMM32.OCX untuk berkomunikasi dengan piranti serial yang lain. Dalam hal ini saya menggunakan Starduino Board yang terhubung ke komputer melalui port serial COM1. Berikut adalah screenshot program demo tersebut.

mscomm32_vbnet_demo

Secara periodik, Starduino Board mengirimkan data berupa string yang menyatakan kondisi dari LED indikator pada board Starduino sesuai dengan kondisi LED secara fisik.

Dari hasil pengujian dapat disimpulkan bahwa komponen ActiveX MSCOMM32.OCX berfungsi dengan baik pada program VB.NET 2005. Demo program tersebut lengkap dengan source-code dapat Anda download menggunakan link berikut ini:

MSCOMM32-1 + Sourcecode.Zip

( 78.4 KB )

Kelebihan MSCOMM32 dibandingkan class SerialPort yang tersedia di .NET adalah kita dapat meng-update properti window lain di dalam rutin event MSCOMM32. Hal ini berbeda dengan class SerialPort .NET yang karena aktif sebagai thread tersendiri, maka untuk meng-update properti window lain tidak dapat dilakukan secara langsung, tapi harus memanggil rutin khusus untuk melakukan hal tersebut.

Demikian dan semoga bermanfaat.

Selamat berkarya!

😀

2 comments

  1. heru · Juli 11, 2012

    mantap gan, lanjutkan

  2. Sutikno · September 25, 2012

    Mas Chandra, mau tanya dong. Saya pakai VB6 dan comm dengan beberapa form. Comm diload di form dan berhasil komunikasi dengan MCU, tapi di form1, form2 dan form yang lain, tidak bisa komunikasi dengan mcu, setiap kirim data ke mcu muncul message “operation valid only when the port is open”, padahal saat pindah ke form1 atau form lainnya, portnya tetap open. Setting apa yang harus ditambahakan supaya bisa diakses di semua form ?
    Thanks banget untuk bantuannya.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s