各位帮忙看看
VB调用Usb7kC.dll程序是一个桌球坊的用于控制台桌的开关灯
原先用的是PC灯控卡,现在增加了一个USB的控制卡从33号以后就是USB卡控制的,相应的33桌对应的是USB控制卡的1号线路
我开灯是好了,程序如下:Dim Id As CurrencyId = CCur(TableID)
If Id < 20 Then
nZTPCI.lCode = 0
nZTPCI.nCh = Id
nZTPCI.lData = 1
Call ZT8407DO(nZTPCI)
Else
Id = Id - 19
nZTUSB.lCode = 1
nZTUSB.nCh = Id
nZTUSB.lData = 1
Call USB7408DI(nZTUSB)
End If
关灯程序关不多如下:Dim Id As Currency
Id = CCur(TableID)
If Id < 20 Then
nZTPCI.lCode = 0
nZTPCI.nCh = Id
nZTPCI.lData = 0
Call ZT8407DO(nZTPCI)
Else
Id = Id - 19
nZTUSB.lCode = 1
nZTUSB.nCh = Id
nZTUSB.lData = 0
Call USB7408DI(nZTUSB)
End If现在出现问题,USB卡能控制开灯,但是不能关灯,只能手动的去关灯
而且手动关灯后改为自动的时候,灯还是会亮各位高手帮忙看看,急!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    33号以后,也就是ID>33了?为什么却是ID=ID-19?不明白楼主的意思。
      

  2.   

    真是不好意思我太着急给发错了是If Id <33 Then 
      ... 
    Else 
      Id= Id-32
      ... 
    End If
    不好意思,各位,帮忙看看,为什么我能控制开灯不能关灯啊而且就算我改为手动关掉灯后,改成自动,它好像记忆了又开灯了?
    如要看程序解答的加我QQ540255090谢谢各位,急!!!!!!!
      

  3.   

    1)检查 USB7408DI 的接口声明
    2)检查变量 nZTUSB、nZTPCI 对应的结构定义是否正确
    3)硬件连线是否正确
      

  4.   

    我这个里面有两个usb7408DI的接口声明
    一个是usb7408DI,一个是usb7408DO
    我不知道应该用那个版权的
    如果能开灯的话应该不会是硬件的问题吧
      

  5.   

    声明和结构如下
    Public Declare Function OpenUSB7kC Lib "usb7kC.dll" (nZT_USBBOARD As ZT_USBBOARD) As Long
    Public Declare Function USB7408DO Lib "usb7kC.dll" (nZT_USBBOARD As ZT_USBBOARD) As Long
    Public Declare Function CloseUSB7kC Lib "usb7kC.dll" (nZT_USBBOARD As ZT_USBBOARD) As LongPublic Type ZT_USBBOARD
     
      lIndex As Long
      hHandle As Long
      nCh As Integer
      lData As Long
      pldata As Long
      lCode As Long
    End Type有没有啥问题设了一个全局Public nZTPCI As ZT_PCIBOARD
    Public nZTUSB As ZT_USBBOARD
      

  6.   

    关灯时有没有调用 OpenUSB7kC ?