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: , ,

23 Responses to “Akses Port Paralel (Menggunakan Visual BASIC 6.0)”

  1. Peserta kuliah antarmuka (otomasi sistem) silahkan mengunduh bahan2 kuliah dari artikel ini, terima kasih…

  2. 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..

  3. 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

  4. 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…….

  5. 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

  6. @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

  7. pak file pdf nya nggak ketemu, katanya salah link pak,…

  8. @dani:
    link sudah diperbaiki, terimakasih..

  9. 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

  10. 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.

  11. 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

  12. @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…

  13. 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..

  14. tolong donk kirimkan saya contoh program untuk mendalikan hadwere

  15. Terima Kasih Materinya

  16. 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

  17. 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

  18. Salam,
    bisa minta pdf visual basic untuk port paralel,
    link diatas sudah nggak bisa lagi, kirim ke marskal71@hotmail.com

    terima kasih

  19. Bisakah kalo dari USB menggunakan konverter ke DB25?

  20. @Didi: menggunakan USB to serial yang sudah banyak dijual, setahu saya ke DB9 bukan DB25, terima kasih

  21. terimakasih telah berbagi pak

  22. thank you for sharing it’s so helpful

  23. its good thing to share, thank you.

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>