Programmierung
in Visual Basic
Der Baustein meldet sich unter der Vendor-ID 0A2C (=Modul-Bus)
und der Product-ID 0008 (= USBport). Beim ersten Start
muss der Treiber geladen werden. Die passenden Dateien
sind USBport.inf und USBport.sys. Der Treiber ist
kompatibel zum CompuLAB-USB-Treiber von Modul-Bus. Es
werden mehrere Controller am USB zugelassen.
Das folgende
Programmbeispiel in Visual Basic demonstriert die
Ansteuerung des Treibers. Der virtuelle Treibername
für das erste Gerät ist:
sFileName =
"\\.\CompuLABusb_0"
Für das zweite
Gerät lautete der Name
sFileName =
"\\.\CompuLABusb_1"
usw.
Allgemeine Portzugriffe mit
Visual Basic
Programmbeispiel für den ersten
angeschlossenen Portbaustein
Dim sFileName As String
Dim htemp As Long
Dim lIn As Long, lInSize As Long, lOut As Long, lOutSize As Long, lSize As Long
Dim lTemp As Long
Sub USB_IO()
sFileName = "\\.\CompuLABusb_0"
hgDrvrHnd = CreateFile(sFileName, GENERIC_WRITE Or GENERIC_READ,
FILE_SHARE_WRITE Or FILE_SHARE_READ, Security, OPEN_EXISTING, 0, 0)
lTemp = DeviceIoControl(hgDrvrHnd, 4&, lIn, lInSize, lOut, lOutSize, lSize, gOverlapped)
htemp = CloseHandle(hgDrvrHnd)
End Sub
Function RdPort0() As Integer
lIn = 0 * 256 + 20
lInSize = 2
lOutSize = 2
USB_IO
RdPort0 = (lOut / 256) And 255
End Function
Function RdPort1() As Integer
lIn = 1 * 256 + 20
lInSize = 2
lOutSize = 2
USB_IO
RdPort1 = (lOut / 256) And 255
End Function
Sub WrPort0(Wert)
lIn = 65536 * Wert + 0 * 256 + 21
lInSize = 3
lOutSize = 1
USB_IO
End Sub
Sub WrPort1(Wert)
lIn = 65536 * Wert + 1 * 256 + 21
lInSize = 3
lOutSize = 1
USB_IO
End Sub
Private Sub Form_Load()
End Sub
Private Sub HScroll1_Change()
Wert = HScroll1.Value
WrPort0 Wert
Label3.Caption = Str$(Wert)
End Sub
Private Sub HScroll2_Change()
Wert = HScroll2.Value
WrPort1 Wert
Label4.Caption = Str$(Wert)
End Sub
Private Sub Timer1_Timer()
Label6.Caption = Str$(RdPort0)
Label8.Caption = Str$(RdPort1)
End Sub
Literaturhinweis:
B.Kainka, Messen, Steuern
und Regeln mit USB, Franzis-Verlag 2000
|