PANGAKSESAN PORT SERIAL PADA VISUAL BASIC MENGGUNAKAN MSCOMM Blog Adi Sanjaya Global Techno Solution - AS-GTS

PANGAKSESAN PORT SERIAL PADA VISUAL BASIC MENGGUNAKAN MSCOMM Blog Adi Sanjaya Global Techno Solution - AS-GTS

Size
Price:

Read more



    PANGAKSESAN PORT SERIAL PADA VISUAL BASIC MENGGUNAKAN MSCOMM
Untuk pengaksesan port serial, kita dapat menggunakan kotnrol MSComm yang telah disediakan Visual Basic.
Kontrol MSComm menyediakan fasilitas komunikasi antara program aplikasi yang kita buat dengan port serial untuk mengirim atau menerima data melalui port serial. Setiap MSComm hanya menangani satu port serial sehingga jika kita ingin menggunakan lebih dari satu port serial maka kita juga harus menggunakan MSComm sebanyak port serial yang kita pakai.

Properti MSComm
Jumlah properti pada MSComm sangat banyak sehingga kita tidak akan membahas seluruhnya. Kita hanya akan membahas beberapa property yang mana property ini perlu kita ketahui sebelum menggunakan MSComm. Properti-properti yang sering dipakai antara lain:

CommPort    :    Digunakan untuk menentukan nomor port serial yang akan dipakai.
Setting          :    Digunakan untuk mengeset nilai baud rate, parity, jumlah bit data, dan jumlah bit stop.
PortOpen      :    Digunakan untuk membuka atau menutup port serial yang dihubungkan dengan MSComm.
Input            :    Digunakan untuk mengambil data string yang ada pada buffer penerima.
Output          :    Digunakan untuk menulis data string pada buffer kirim.

Berikut adalah contoh penggunaan property di atas untuk komunikasi menggunakan modem:

Private Sub Form_Load ()
MSComm1.CommPort = 1
MSComm1.Settings = “9600,N,8,1”
MSComm1.PortOpen = True
MSComm1.Output = “ATV1Q0” & Chr$(13)
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer $, “OK” & vbCRLF)
MSComm1.PortOpen = False
End Sub

Kode-kode program pada prosedur di atas akan melakukan aksi sebagai berikut:

·         Port serial yang digunakan adalah COM1.
·         Setting MSComm adalah baud rate 9600, tanpa paritas, jumlah data 8 bit, dan jumlah bit stop adalah 1 bit.
·         Memerintahkan control MSComm membaca seluruh isi buffer ketika penggunaan perintah Input (MSComm1.InputLen = 0)
·         Membuka port serial.
·         Mengirim perintah “ATV1Q0” diikuti ASCII 13 (enter) ke modem.
·         Menunggu modem mengirimkan jawaban “OK” ke komputer.
·         Menutup port serial.

Event pada MSComm

MSComm hanya mempunyai satu event saja, yaitu event OnComm. Even Oncomm dibangkitkan jika nilai property dari CommEvent berubah, yang mengindikasikan telah terjadi event pada port serial, baik event komunikasi maupun event error. TABEL 3.10 dan TABEL 3.11 berikut adalah nilai-nilai dari property CommEvent di mana nilai property ini tidak tersedia pada saat design time tetapi hanya dapat dibaca pada saat run time.






TABEL 3.10 Nilai-nilai property event error pada CommEvent

Konstanta
Keterangan
comEventFrame
Hardware mendeteksi adanya kesalahan framing.
comEventRxParity
Hardware mendeteksi adanya kesalahan pariti.
comEventRxOver
Buffer penerima mengalami over flow, tidak ada ruang kosong lagi pada buffer penerima.
comEventTxFull
Buffer kirim penuh.
comEventBreak
Sinyal break diterima
ComEventDCB
Mendapatkan kembali Device Control Block (DCB) dari port serial.


TABEL 3.11 Nilai-nilai properti event komunikasi pada CommEvent

Konstanta
Keterangan
comEvSend
Jumlah karakter pada buffer kirim lebih sedikit daripada nilai properti Sthreshold. Even ini akan dibangkitkan jika nilai pada property Sthreshold tidak diisi ‘0’.
comEvReceive
Telah diterima karakter sebanyak nilai property Rthreshold. Even ini akan dibangkitkan terus-menerus sampai data diambil dari buffer penerima dengan menggunakan perintah Input. Even ini akan dibangkitkan jika nilai pada property Rthreshold tidak diisi ‘0’. 
comEvCTS
Terjadi perubahan pada saluran Clear to Send.
comEvDSR
Terjadi perubahan pada saluran Data Set Ready.
comEvCD
Terjadi perubahan pada saluran Carier Detect.
comEvRing
Terdeteksi adanya sinyal ring.
comEvEOF
Karakter End of File diterima.

Berikut adalah contoh penggunaan event OnComm untuk komunikasi menggunakan mikrokontroler. Akan dibaca hanya event comEvReceive saja, event yang lain diabaikan.

Private Static Sub MSComm1_OnComm()
Dim Buffer As Variant
Select Case MSComm1.CommEvent
Case comEvReceive
If MSComm1.InBufferCount >= 3 then
Buffer = CStr (MSComm1.Input)
If Mid(Buffer, 1, 1) = “0” Then
If Mid(Buffer, 2, 1) = “K” T then
StatusBarl.Panels(“Value”).Text =
“Value : “ & Asc (Mid(Buffer, 3, 1))
StatusBarl.Panels (“Status”).Text =
“Status : Conect”
End If
End If
End If
End Select
End Sub

Kode-kode program pada prosedur di atas akan melakukan aksi  sebagai berikut:
·           Mendeteksi event comEvReceive, kemudian menentukan apakah sudah diterima tiga buah karakter pada buffer penerima.
·           Menentukan apakah karakter yang diterima adalah karakter ‘OK’, jika nilai karakter yang diterima adalah karakter ‘OK’  maka akan diubah nilai ‘Value’ dan nilai ‘Status’ pada propergi panel control StatusBar1.

Contact Person : Taufik Adi Sanjaya
No HP / Whats App : 0823 2613 3990
PIN BBM 5983E244
Alamat : Jalan Imogiri Timur KM 11, 
Blawong 1 , RT 01, Trimulyo, Jetis, Bantul 55781.

Anda membutuhkan komponen elektronik , Arduino, Sensor, Tutorial(paket belajar), jasa pembuatan alat berbasis mikrokontroler, kendali lampu via jaringan LAN, dan sebagainya ? anda dapat membelinya di www.kedaiarduino.com
 www.kedaiarduino.com

1 Reviews

Silakan dikomentari

Contact form

Name

Email *

Message *