Dibutuhkan suatu cara agar VB bisa melakukan akses perangkat keras. Salah satunya dengan pustaka io.dll, yang bisa didownload dari http://www.geekhideout.com/iodll.shtml (juga dengan
dokumentasi lengkap, bagi programmer Delphi silahkan jenguk website tersebut) secara gratis, yang harus disimpan atau ditempatkan pada folder <drive>:/windows/system32 pada komputer
Anda.
Cara penggunaannya sangat mudah, Pertama definisikan terlebih dahulu fungsi dan prosedur untuk akses masukan maupun keluaran perangkat keras pada bagian modul khusus VB sebagai berikut:
Public Declare Sub PortOut Lib "io.dll" _
(ByVal Port As Integer, ByVal Data As Byte)
Public Declare Sub PortWordOut Lib "io.dll" _
(ByVal Port As Integer, ByVal Data As Integer)
Public Declare Sub PortDWordOut Lib "io.dll" _
(ByVal Port As Integer, ByVal Data As Long)
Public Declare Function PortIn Lib "io.dll" _
(ByVal Port As Integer) As Byte
Public Declare Function PortWordIn Lib "io.dll" _
(ByVal Port As Integer) As Integer
Public Declare Function PortDWordIn Lib "io.dll" _
(ByVal Port As Integer) As Long
Public Declare Sub SetPortBit Lib "io.dll" _
(ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Sub ClrPortBit Lib "io.dll" _
(ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Sub NotPortBit Lib "io.dll" _
(ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Function GetPortBit Lib "io.dll" _
(ByVal Port As Integer, ByVal Bit As Byte) As Boolean
Public Declare Function RightPortShift Lib "io.dll" _
(ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Public Declare Function LeftPortShift Lib "io.dll" _
(ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Public Declare Function IsDriverInstalled Lib "io.dll" () As Boolean
Kedua gunakan fungsi dan prosedur tersebut secara biasa, fungsi PortIn membutuhkan dua parameter yaitu alamat perangkat keras dan variabel hasil pembacaan data dari perangkat keras dengan tipe data byte. Sedangkan prosedur PortOut membutuhkan dua parameter juga, yaitu alamat perangkat keras dan nilai atau variabel yang menyimpan nilai yang akan dikirimkan ke perangkat keras yang bersangkutan.
- PortOut : Mengirim data dalam format byte (8-bit) ke port tertentu.
- PortWordOut : Mengirim data dalam format word (16-bit) ke port tertentu.
- PortDWordOut : Mengirim data dalam format double word (32-bit) ke port tertentu.
- PortIn : Membaca data falam format byte (8-bit) dari port tertentu.
- PortWordIn : Membaca data falam format word (16-bit) dari port tertentu.
- PortDWordIn : Membaca data falam format double word (32-bit) dari port tertentu.
- GetPortBit : Membaca status dari bit tertentu.
- SetPortBit : Set bit (=1) pada port tertentu.
- ClrPortBit : Reset bit (=0) pada port tertentu.
- NotPortBit : Lakukan inversi (NOT) bit pada port tertentu
- RightPortShift : Geser bit dari port tertentu ke kanan, LSB -> MSB.
- LeftPortShift : Geser bit dari port tertentu ke kiri, MSB -> LSB.
- IsDriverInstalled : Akan memberikan nilai bukan-NOL jika io.dll sudah terinstal dan berfungsi. Tujuan utama dari fungsi ini adalah untuk memastikan bahwa penggerak mode kernel pada NT/2000/XP telah diinstal dan dapat diakses.
Informasi selengkapnya bisa diunduh DISINI. Sedangkan informasi buku ANTARMUKA disini.
Tags: antarmuka, port paralel, visual basic
March 13th, 2009 at 1:05 pm
Peserta kuliah antarmuka (otomasi sistem) silahkan mengunduh bahan2 kuliah dari artikel ini, terima kasih…
March 27th, 2009 at 10:57 pm
om, kok port serial librarynya banyak da inpout32.dll, ada userport.dll, ada io.dll?
apa pendeklarasiannya sama??
klo yang make tipe biner bukan desimal yang make apa??
kan enakan outnya pake biner lebih bisa dimengerti port mana yang keluar..
June 24th, 2009 at 8:41 pm
saya saat ini sdang mnggunakan VB sbgi HMI (scada) untuk tampilan boiler dgn snsor suhu dn level…yg jadi masalah adalah bagaimana caranya memperoleh alamat yang berasal dari PLC kemudian di terima dan disimpan secara real time pada VB…(akuisisi datanya)
mohon bantuannya dalam hal ini…..adakah coding khusus….??
thanx….
Balas
November 15th, 2009 at 2:56 am
saya saat ini sedang mengerjakan sebuah program kontrol relay dengan ATmega 32 dan vb6 sebagai aplikasinya. Yang ingin saya tanyakan gimana agar aplikasi saya dapat berjalan di vista 64bit. Saya sudah mencoba cari2 library mscomm-nya, tp g dpt2. Tolong bantuannya…..
thanks…….
November 25th, 2009 at 1:09 pm
mas mohon saya dikirimi source code lengkap nya untk contoh akses port LPT dengan VB…
khususnya untuk cara penggunaan perintah # PortOut : Mengirim data dalam format byte (8-bit) ke port tertentu.
# PortWordOut : Mengirim data dalam format word (16-bit) ke port tertentu.
# PortDWordOut : Mengirim data dalam format double word (32-bit) ke port tertentu.
# PortIn : Membaca data falam format byte (8-bit) dari port tertentu.
# PortWordIn : Membaca data falam format word (16-bit) dari port tertentu.
# PortDWordIn : Membaca data falam format double word (32-bit) dari port tertentu.
# GetPortBit : Membaca status dari bit tertentu.
# SetPortBit : Set bit (=1) pada port tertentu.
# ClrPortBit : Reset bit (=0) pada port tertentu.
# NotPortBit : Lakukan inversi (NOT) bit pada port tertentu
terimakasih
best regard
taufikadi@yahoo.co.id
November 26th, 2009 at 9:03 am
@habib:
maaf saya belum pernah coba di vista 64bit
@taufikandi:
silahkan unduh PDF yang ada di halaman ini (di bagian akhir artikel), disana dijelaskan bagaimana cara akses pake VB… trims
March 3rd, 2010 at 11:53 am
pak file pdf nya nggak ketemu, katanya salah link pak,…
March 3rd, 2010 at 12:27 pm
@dani:
link sudah diperbaiki, terimakasih..
March 5th, 2010 at 12:38 pm
halo pak..
sy mu tnya buat dimmer menggunakan AT89S51 gmna?cara menset lampu nyala 50% lwat mikrokontroller gmn?tlg ksi cntoh source codenya…thank’s
April 19th, 2010 at 6:53 am
Askum.
Pagi pak Agfi.Saya ada tugas Akhir melakukan monitoring suhu melalui port USB.Mohon dengan sangat bantuan dari Pak Agfi.Gimana caranya dan komponen yang harus saya pakai.Saya memakai delphi 7 untuk programnya. Dan saya juga membuat konverter serial to USB.Cuma gak tau cara dan komponen apa yang digunakan untuk Interfacenya.Terima kasih banyak.
Waskum.
July 23rd, 2010 at 6:20 pm
asslam
pak saya mw bwt modul tentang akusisi data tentang ecg memakai ADC o8o4 dengan paralel port melalui komputer…Dan mw memakai program delphi…Komponennya apa aja n cara komunikasinya gimana pak…
mohon bantuannya pak..
trima kasih
July 26th, 2010 at 8:41 am
@ryssa:
komponen yang dibutuhkan adalah membuat antarmuka port paralel ke ADC0804, untuk itu saya sarankan untuk membaca datasheet dari adc0804 guna mengetahui cara kerja dan rangkaian antarmuka-nya…
untuk Delphi, coba lihat artikel saya di http://agfi.staff.ugm.ac.id/bl.....-basic-60/ - konsepnya sama spt VB…
October 27th, 2010 at 9:57 am
salam..
pak, saya mo tanya gmana cranya interfacing dari VB 6.0 ke codevision ATMEGA 128, saya ingin mngontrol tegangan panel surya dan hasil pembacaannya ditampilkan di VB 6.0.
mhon bantuannya ke hamasah_0k@yahoo.com
trimakasih pak..
November 15th, 2010 at 1:17 pm
tolong donk kirimkan saya contoh program untuk mendalikan hadwere
March 31st, 2011 at 10:31 am
Terima Kasih Materinya
June 13th, 2011 at 6:11 am
salam. om… saya sedang mempersiapkan program kontrol dengan visual basic. bisa kirimkan beberapa contoh aplikasi ke hardware.Terima kasih.
Email saya : yasunagamall@yahoo.co.id
October 24th, 2011 at 11:53 am
pak, saya mau tanya?
bagaimana cara membuat program timer agar bisa menjalankan atau menghidupkan sesuatu secara otomatis.
yaitu agar alat tersebut dapat hidup dan mati secara otomatis.mhn bantuannya pak
March 30th, 2013 at 5:12 pm
Salam,
bisa minta pdf visual basic untuk port paralel,
link diatas sudah nggak bisa lagi, kirim ke marskal71@hotmail.com
terima kasih
April 23rd, 2015 at 8:30 am
Bisakah kalo dari USB menggunakan konverter ke DB25?
May 6th, 2015 at 3:03 pm
@Didi: menggunakan USB to serial yang sudah banyak dijual, setahu saya ke DB9 bukan DB25, terima kasih
April 13th, 2018 at 2:09 pm
terimakasih telah berbagi pak
May 16th, 2018 at 3:12 pm
thank you for sharing it’s so helpful
December 13th, 2018 at 2:03 pm
its good thing to share, thank you.