Catatan: Bagian-2 (klik disini untuk membaca Bagian-1) ini ditulis dengan asumsi Anda sudah pernah minimal membuat program sederhana menggunakan Visual Basic 6.0. Jika belum, disarankan untuk belajar dengan tingkat dasar dulu, buku2 atau tutorialnya sudah banyak sekali.
Menggunakan Simulator port Serial yang telah dibahas sebelumnya, akan kita gunakan untuk belajar membuat program dalam Visual Basic 6.0 untuk membaca ID dari board, dalam hal ini simulator port serial yang telah dibahas sebelumnya. Jika Anda belum mengetahui protokol simulator ini silahkan baca kembali artikel sebelumnya. Klik disini untuk mengunduh simulator port serial.
Baiklah…
Yang harus dilakukan pertama adalah instalasi Visual Basic 6.0 terlebih dulu (kecuali sudah ada di komputer Anda). Selain itu tidak dibutuhkan fasilitas port apapun di komputer Anda, karena ini adalah simulator port serial dan bahkan, boleh percaya atau tidak, saat Anda mengaktifkan simulator serial pada software ini, komputer akan memberikan indikator bunyi seakan-akan ada alat USB yang ditancapkan, demikian juga pada saat dinon-aktifkan. Sebagaimana telah dicoba pada artikel/tutorial Bagian-1.
Aktifkan VB6 dan buatlah proyek baru (EXE), perhatikan Gambar 1.
Gambar 1. Perhatikan kotak merah (Standard EXE)
Sertakan juga komponen Microsoft COMM Control 6.0 (perhatikan Gambar 2). Untuk mengaktifkan jendela ini (Gambar 2), gunakan menu Project -> Components.. (atau tekan Ctrl+T), sehingga ditampilkan jendela seperti pada Gambar 2.
Gambar 2
Centang pada komponen Microsoft COMM Control 6.0 (Gambar 2) kemudian klik Ok, sehingga pada bagian koponen VB6.0 akan ditambahkan komponen tersebut (Gambar 3).
Gambar 3
Ok… selanjutnya kita buat GUI-nya atau Form-nya mengikuti Gambar 4, masing-masing objek nama-namanya sudah ada di Gambar 4 tersebut, ingat juga untuk menempatkan komponen COMM-nya juga (saya beri tanda kotak merah dan dengan nama MSComm1).
Gambar 4
Inti dari program VB ini adalah mengirimkan id alat saja, artinya saat tombol Open ditekan, maka program VB akan langsung mengirimkan perintah “id” pada simulator port serial (dalam hal ini menggantikan board yang terpasang di lapangan, misalnya).
Untuk itu disiapkan sebuah subrutin yang nantiya digunakan untuk melakukan hal tersebut, namanya subrutin kirim_id(), sebagai berikut…
Private Sub kirim_id() Dim pj As Byte On Error GoTo salah MSComm1.Output = "id" & vbCr buffer = "" Do DoEvents buffer = buffer & MSComm1.Input Loop Until InStr(buffer, vbCr) pj = Len(buffer) Text1.Text = Mid(buffer, 1, pj - 2) Exit Sub salah: MsgBox "Ada kesalahan kirim data", vbOKOnly, "Peringatan" End Sub
Sedangkan variabel buffer sebaiknya dituliskan di baris paling atas dari listing VB..
Dim buffer As Variant
Artinya panjang buffer-nya menyesuaikan.
Subrutin kirim_id() diawali dengan pendefinisian variabel pj sebagai byte, yang digunakan untuk menyimpan panjang data yang diterima dari port serial. Informasi panjang string inilah yang akan digunakan untuk memotong string agar dapat ditampilkan melalui objek Text1.Text dengan tepat (tanpa adanya karakter Cr (carriage return) dan Lf (line feed) alias ENTER, perhatikan instruksi Mid(buffer,1,pj-2) yang digunakan untuk memotong dua karakter terakhir yaitu Cr dan Lf).
Dengan asumsi port serial sudah dibuka (open), diawali dengan jebakan jika terjadi kesalahan selama berkomunikiasi dengan port serial (perhatikan pernyataan On Error), maka dialihkan ke label “salah:”, yaitu menampilkan pesan kesalahan “Ada kesalahan kirim data”. Langkah selanjutnya adalah mengirimkan perintah “id” yang diikuti dengan karakter Cr ke port serial (perhatikan instruksi MSComm1.Output).
Instruksi yang ada di dalam Do..Loop merupakan serangkaian instruksi yang digunakan untuk menangkap data dari port serial yang kemudian disimpan kedalam variabel buffer hingga diterima karakter Cr (saja). Baru kemudian dilakukan penghitungan panjang string yang diterima (instruksi pj=Len(buffer)) dan pemotongan string seperti dijelaskan sebelumnya.
Pada saat pertama kali dijalankan program dijalankan, VB akan mengisi pilihan COM terlebih dahulu melalui subrutin…
Private Sub Form_Load() Dim i As Byte For i = 1 To 16 Combo1.AddItem (i) Next i cmdTutup.Enabled = False End Sub
Untuk tombol “Buka COM” dituliskan subrutin…
Private Sub cmdBuka_Click() Dim pj As Byte On Error GoTo salah MSComm1.CommPort = Combo1.ListIndex + 1 MSComm1.Settings = "9600,N,8,1" MSComm1.PortOpen = True Call kirim_id cmdTutup.Enabled = True cmdBuka.Enabled = False Exit Sub salah: MsgBox "Ada yang salah di COM" & Combo1.ListIndex + 1, _ vbOKOnly, "Peringatan!" End Sub
Anda perhatikan cara pengaturan port serial, port berapa yang akan dibuka (MSComm1.CommPort), kecepatan dan seting bitnya apa saja (MSComm1.Settings), kemudian proses membuka port (MSComm1.PortOpen). Dilanjutkan mengirim perintah “id” dan mengaktifkan tombol Close dan mematikan tombol Open.
Sedangkan untuk tombol “Tutup COM” menggunakan subrutin…
Private Sub cmdTutup_Click() On Error GoTo salah MSComm1.PortOpen = False cmdTutup.Enabled = False cmdBuka.Enabled = True Text1.Text = "id Alat" Exit Sub salah: MsgBox "Tidak bisa menutup COM", vbOKOnly, "Peringatan!" End Sub
Cukup sederhana bukan? Silahkan mencoba dan silahkan berdiskusi melalui komentar di artikel ini, terima kasih!
Tags: antarmuka, interfacing, komputer, pc, port serial, serial port, visual basic
May 17th, 2011 at 7:08 am
salam kenal pak…
saya ingin mencoba rangkaian decoder sinyal dengan handphone melalui dtmf mt8870
boleh minta gambar rangkaianya pak???
apa it butuh penguat op-amp juga??
saya sudah buat dengan banyak referensi tapi tak ada yang jadi…
tlong bantuannya…
trimakasih sblumnya
June 1st, 2011 at 8:08 pm
Tolong gimana caranya kita bisa membuat card add on dan drivernya?
May 19th, 2012 at 11:44 pm
pak agfi, kalo untuk di bagian mikronya sendiri bagaimana? perintah untuk mengirim dam membaca perintah dari master (PC).
terimakasih sebelumnya.
June 8th, 2012 at 10:03 am
Salam kenal Pakagfi,…
pak, gmn cara buat antarmuka untuk pengendali seperti port paralel, tpi ini menggunakan port serial..
krm ke email saya aja pak…
trimakasih sblm nya
November 13th, 2012 at 10:46 am
Salam kenal pak.
saya mau tanya kalau membaca data ADC dan ditampil ke PC dengan VB.6 codingnya gmn y pak?
terima kasih
January 20th, 2015 at 12:48 pm
Program Monitoring PLC CJ1M-CPU 11 dan VB
Siang pak …..minta bantuanya,,,saya sedang membuat semacam andon untuk monitoring,,,saya menggunakan vb.6 dan plc yang dipakai adalah CJ1M-CPU11–
saya kesulitam untuk membaca proses/address PLC…
saya coba menggunaka mscomm tetapi tidak bisa konek,,monon bantuanya pak..terimakasih
March 21st, 2018 at 3:01 pm
sangat bermanfaat pak
April 18th, 2018 at 10:25 am
terima kasih pak sangat membantu tugas saya
May 16th, 2018 at 1:55 pm
thank you for sharing it’s so helpful
December 8th, 2018 at 11:20 pm
i like this article, thank you for sharing.
December 11th, 2018 at 2:05 pm
The best Transport company in Taif and Imher carpenters in the dismantling and installation of furniture