⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module1.vb

📁 多功能数据采集卡上位机完整代码
💻 VB
字号:
Module Module1
    '打开设备,必须在调用其他函数之前调用。放在程序初始化时调用比较恰当,只调用一次
    Public Declare Function ZT8361_OpenDevice Lib "pci8361.dll" (ByVal cardNO As Int32) As Int32 '返回 0 表示打开设备成功,非0 表示失败
    Public Declare Function ZT8361_CloseDevice Lib "pci8361.dll" (ByVal cardNO As Int32) As Int32 '关闭设备,在用户程序结束时调用一次
    Public Declare Function ZT8361_GetLastErr Lib "pci8361.dll" () As Int32 '得到错误号
    Public Declare Sub ZT8361_ClearLastErr Lib "pci8361.dll" () '清除错误号,一旦产生错误,为了使其他函数重新正常运行,必须清除错误号
    '16读端口
    Public Declare Function ZT8361_ReadW Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal nOffset As Int32) As Int32
    '16写端口
    Public Declare Function ZT8361_WriteW Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal nOffset As Int32, ByVal dataWord As Int32) As Int32

    '装入零点满度值
    Public Declare Function ZT8361_LoadADZeroFull Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                                     ByVal AIrange As Int32, _
                                                                     ByVal readFrom As Int32, _
                                                                     ByVal bForceReLoad As Int32) As Int32

    'AD单次采集
    Public Declare Function ZT8361_AIonce Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                             ByVal chMode As Int32, _
                                                             ByVal chNO As Int32, _
                                                             ByVal AIrange As Int32, _
                                                             ByVal ampInx As Int32, _
                                                             ByVal ADoverTime As Int32) As Int32
    '模入部分
    Public Declare Function ZT8361_DisableAD Lib "pci8361.dll" (ByVal cardNO As Int32) As Int32
    Public Declare Function ZT8361_EnableAD Lib "pci8361.dll" (ByVal cardNO As Int32) As Int32
    '设置AD方式控制字,参数说明请看《pci8361.h》
    Public Declare Function ZT8361_AIinit Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                               ByVal chMode As Int32, _
                                                               ByVal chNO As Int32, _
                                                               ByVal AIrange As Int32, _
                                                               ByRef AIAmp As Int32, _
                                                               ByVal ADstartMode As Int32, _
                                                               ByVal ADfreq As Int32, _
                                                               ByVal ADctrlWord As Int32, _
                                                               ByVal ADoverTime As Int32) As Int32

    Public Declare Function ZT8361_ClearHFifo Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal unitType As Int32) As Int32
    Public Declare Function ZT8361_GetHFifoStatus Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal unitType As Int32) As Int32
    Public Declare Function ZT8361_ClearSFifo Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal unitType As Int32) As Int32
    Public Declare Function ZT8361_SetSFifoSize Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal unitType As Int32, ByVal SFifoSize As Int32) As Int32
    Public Declare Function ZT8361_GetSFifoSize Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal unitType As Int32) As Int32
    Public Declare Function ZT8361_DisableSFifo Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal unitType As Int32) As Int32
    Public Declare Function ZT8361_EnableSFifo Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal unitType As Int32) As Int32
    Public Declare Function ZT8361_GetSFifoDataCount Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal unitType As Int32) As Int32
    Public Declare Function ZT8361_SetSFifoThreshold Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal unitType As Int32, ByVal SFifoThreshold As Int32) As Int32
    Public Declare Function ZT8361_GetSFifoThreshold Lib "pci8361.dll" (ByVal cardNO As Int32, ByVal unitType As Int32) As Int32
    '每次采一批数,参数说明请看《pci8361.h》

    Public Declare Function ZT8361_AISFifo Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                              ByVal dataType As Int32, _
                                                              ByRef pFloatResultArr As Single, _
                                                              ByVal wantReadCount As Int32) As Int32

    Public Declare Function ZT8361_OpenIRQ Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                              ByVal hEventSFifo As Int32, _
                                                              ByVal hEventHFifoFewData As Int32, _
                                                              ByVal hEventHFifoHalf As Int32, _
                                                              ByVal hEventEI As Int32, _
                                                              ByVal hEventADFinish As Int32) As Int32
    Public Declare Function ZT8361_CloseIRQ Lib "pci8361.dll" (ByVal cardNO As Int32) As Int32
    Public Declare Function ZT8361_InitIRQ Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                              ByVal irqSource As Int32) As Int32

    '开关量部分
    Public Declare Function ZT8361_DIBit Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                            ByVal groupNO As Int32, _
                                                            ByVal chNO As Int32) As Int32

    Public Declare Function ZT8361_DIAll Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                            ByVal groupNO As Int32) As Int32

    Public Declare Function ZT8361_DOBit Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                            ByVal groupNO As Int32, _
                                                            ByVal chNO As Int32, _
                                                            ByVal nState As Int32) As Int32

    Public Declare Function ZT8361_DOAll Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                            ByVal groupNO As Int32, _
                                                            ByVal nStateAll As Int32) As Int32
    '计数器部分
    Public Declare Function ZT8361_CTStart Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                              ByVal chNO As Int32, _
                                                              ByVal CTMode As Int32, _
                                                              ByVal CTinitVal As Int32) As Int32
    Public Declare Function ZT8361_CTRead Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                             ByVal chNO As Int32, _
                                                             ByVal lockBeforeRead As Int32) As Int32
    Public Declare Function ZT8361_CTStop Lib "pci8361.dll" (ByVal cardNO As Int32, _
                                                             ByVal chNO As Int32, _
                                                             ByVal CTMode As Int32) As Int32


    '建议用枚举类型指定AD量程或DA输出范围,可增加程序的可读性
    Public Enum AI
        'AI方式
        Range_initCode = 0 '原码方式
        'Range_0__5000mV = 1
        Range_0__10000mV = 2
        'Range_1000__5000mV = 3
        'Range_N2500__P2500mV = 4
        'Range_N5000__P5000mV = 5
        Range_N10000__P10000mV = 6
        'Range_0__4000mV = 7
        'Range_N3330__P3330mV = 8
        'Range_0__10000uA = 9
        'Range_0__20000uA = 10
        'Range_4000__20000uA = 11
    End Enum
End Module

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -