📄 pci8613.bas
字号:
Attribute VB_Name = "Driver_Module"
Option Explicit
'#################### AD硬件参数PCI8613_PARA_AD定义 #####################
' 用于AD采样的实际硬件参数
Type PCI8613_PARA_AD
ADMode As Long ' AD模式选择(连续/分组方式)
FirstChannel As Long ' 首通道[0, 15]
LastChannel As Long ' 末通道[0, 15],要求末通道必须大于或等于首通道
Frequency As Long ' 采集频率,单位为Hz, [1, 100000]
GroupInterval As Long ' 分组时的组间间隔(单位:微秒)[1, 419430]
LoopsOfGroup As Long ' 组内循环次数[1, 255]
Gains As Long ' 增益设置
InputRange As Long ' 模拟量输入量程范围
TriggerMode As Long ' 触发模式选择
TriggerSource As Long ' 触发源选择
TriggerType As Long ' 触发类型选择(边沿触发/脉冲触发)
TriggerDir As Long ' 触发方向选择(正向/负向触发)
TrigWindow As Long ' 触发灵敏窗[1, 65535], 单位25纳秒
ClockSource As Long ' 时钟源选择(内/外时钟源)
bClockOutput As Long ' 允许时钟输出到CLKOUT,=TRUE:允许时钟输出, =FALSE:禁止时钟输出
GroundingMode As Long ' 接地方式(单端或双端选择)
TimeoutForNpt As Long ' 非空查询方式下的超时时间,单位秒,取值范围为[0, 3600]
End Type
'***********************************************************
' AD硬件参数PCI8613_PARA_AD中的ADMode所使用工作模式选项
Public Const PCI8613_ADMODE_SEQUENCE = &H0 ' 连续采样
Public Const PCI8613_ADMODE_GROUP = &H1 ' 分组采样
'***********************************************************
' AD硬件参数PCI8613_PARA_AD中的InputRange模拟量输入范围所使用的选项
Public Const PCI8613_INPUT_N10000_P10000mV = &H0 ' ±10000mV
Public Const PCI8613_INPUT_N5000_P5000mV = &H1 ' ±5000mV
Public Const PCI8613_INPUT_0_P10000mV = &H2 ' 0~10000mV
'***********************************************************
' AD参数PCI8613_PARA_AD中的Gains使用的硬件增益选项
Public Const PCI8613_GAINS_1MULT = &H0 ' 1倍增益(使用PGA202或PGA203放大器)
Public Const PCI8613_GAINS_10MULT = &H1 ' 10倍增益(使用PGA202放大器)
Public Const PCI8613_GAINS_100MULT = &H2 ' 100倍增益(使用PGA202放大器)
Public Const PCI8613_GAINS_1000MULT = &H3 ' 1000倍增益(使用PGA202放大器)
Public Const PCI8613_GAINS_2MULT = &H1 ' 2倍增益(使用PGA203放大器)
Public Const PCI8613_GAINS_4MULT = &H2 ' 4倍增益(使用PGA203放大器)
Public Const PCI8613_GAINS_8MULT = &H3 ' 8倍增益(使用PGA203放大器)
'***********************************************************
' AD硬件参数PCI8613_PARA_AD中的TriggerMode成员变量所使用触发模式选项
Public Const PCI8613_TRIGMODE_SOFT = &H0 ' 软件触发(属于内触发)
Public Const PCI8613_TRIGMODE_POST = &H1 ' 硬件后触发(属于外触发)
'***********************************************************
' AD硬件参数PCI8613_PARA_AD中的TriggerSource触发源信号所使用的选项
Public Const PCI8613_TRIGSRC_ATR = &H0 ' 选择外部ATR作为触发源
Public Const PCI8613_TRIGSRC_DTR = &H1 ' 选择外部DTR作为触发源
'***********************************************************
' AD硬件参数PCI8613_PARA_AD中的TriggerType触发类型所使用的选项
Public Const PCI8613_TRIGTYPE_EDGE = &H0 ' 边沿触发
Public Const PCI8613_TRIGTYPE_PULSE = &H1 ' 脉冲触发(电平)
'***********************************************************
' AD硬件参数PCI8613_PARA_AD中的TriggerDir触发方向所使用的选项
Public Const PCI8613_TRIGDIR_NEGATIVE = &H0 ' 负向触发(低脉冲/下降沿触发)
Public Const PCI8613_TRIGDIR_POSITIVE = &H1 ' 正向触发(高脉冲/上升沿触发)
Public Const PCI8613_TRIGDIR_POSIT_NEGAT = &H2 ' 正负向触发(高/低脉冲或上升/下降沿触发)
'***********************************************************
' AD硬件参数PCI8613_PARA_AD中的ClockSource时钟源所使用的选项
Public Const PCI8613_CLOCKSRC_IN = &H0 ' 内部时钟
Public Const PCI8613_CLOCKSRC_OUT = &H1 ' 外部时钟(CLKIN)
'***********************************************************
' AD参数(PCI8613_PARA_AD)中的GroundingMode使用的模拟信号接地方式选项
Public Const PCI8613_GNDMODE_SE = &H0 ' 单端方式(SE:Single end)
Public Const PCI8613_GNDMODE_DI = &H1 ' 双端方式(DI:Differential)
'*************************************************************************************
' 用于AD采样的实际硬件参数
Type PCI8613_STATUS_AD
bNotEmpty As Long ' 板载FIFO存储器的非空标志,=TRUE非空, = FALSE 空
bHalf As Long ' 板载FIFO存储器的半满标志,=TRUE半满以上, = FALSE 半满以下
bDynamic_Overflow As Long ' 板载FIFO存储器的动态溢出标志,= TRUE已发生溢出, = FALSE 未发生溢出
bStatic_Overflow As Long ' 板载FIFO存储器的静态溢出标志,= TRUE已发生溢出, = FALSE 未发生溢出
bConverting As Long ' AD是否正在转换, =TRUE:表示正在转换, =FALS表示转换完成
bTriggerFlag As Long ' 触发标志, =TRUE表示触发事件发生, =FALSE表示触发事件未发生
End Type
'***********************************************************
' DA输出函数InitDeviceDA的模拟量输出范围参数OutputRange所使用的选项
Public Const PCI8613_OUTPUT_0_P5000mV = &H0 ' 0~5000mV
Public Const PCI8613_OUTPUT_0_P10000mV = &H1 ' 0~10000mV
Public Const PCI8613_OUTPUT_N5000_P5000mV = &H2 ' ±5000mV
Public Const PCI8613_OUTPUT_N10000_P10000mV = &H3 ' ±10000mV
'***********************************************************
' 用于计数器的参数结构
Type PCI8613_PARA_CNT
FunctionMode As Long ' 功能模式, 0:计数器模式COUNTER, 2:脉冲发生器模式
ClockSource As Long ' 时钟源选择
GateMode As Long ' 门控模式
bEnableBuffer As Long ' 缓冲计数使能, 0: 禁止缓冲计数,1: 允许缓冲计数
OutputDir As Long ' 计数输出电平方向
bCoutinue As Long ' 溢出后是否继续计数
OutputType As Long ' 定时器脉冲发生方式下有效,输出波形类型。
End Type
'***********************************************************
' 硬件参数PCI8613_PARA_CNT中的FunctionMode功能模式选项
Public Const PCI8613_FUNCMODE_COUNTER = &H0 ' 计数器模式
Public Const PCI8613_FUNCMODE_TIMER = &H1 ' 脉冲发生器模式
'***********************************************************
' 硬件参数PCI8613_PARA_CNT中的ClockSource功能模式选项
Public Const PCI8613_CLOCKSRC_LOCAL_CLK = &H0 ' 板卡局部分频时钟(对40M晶振分频而得,由SetLocalCLKFreq设定)
Public Const PCI8613_CLOCKSRC_CLOCK_IN = &H1 ' 外部时钟信号源输入
'***********************************************************
' 硬件参数PCI8613_PARA_CNT中的ClockDir时钟方向选项
Public Const PCI8613_CLOCKDIR_POSTIVE = &H0 ' 上升沿计数
Public Const PCI8613_CLOCKDIR_NEGATIVE = &H1 ' 下降沿计数
'***********************************************************
' 硬件参数PCI8613_PARA_CNT中的GateMode在门控模式选项
Public Const PCI8613_GATEMODE_UNUSE_0 = &H0 ' COUNTER:不使用门控信号(适用于简单事件计数)
' TIMER:不使用GATE的单次脉冲发生(适用于单次脉冲发生器)
Public Const PCI8613_GATEMODE_RISING_1 = &H1 ' COUNTER:GATE上边沿触发计数,后续边沿无效
' TIMER:GATE上边沿单次触发脉冲发生(适用于单次触发单脉冲发生器)
Public Const PCI8613_GATEMODE_FALLING_2 = &H2 ' COUNTER:GATE下边沿触发,后续边沿无效
' TIMER:GATE下边沿单次触发脉冲发生(适用于单次触发单脉冲发生器)
Public Const PCI8613_GATEMODE_POSITIVE_3 = &H3 ' COUNTER:高电平有效(适用于门控事件计数)
' TIMER:GATE上边沿重复触发脉冲发生(适用于重复触发单脉冲发生器)
Public Const PCI8613_GATEMODE_NEGATIVE_4 = &H4 ' COUNTER:低电平有效(适用于门控事件计数)
' TIMER:GATE下边沿重复触发脉冲发生(适用于重复触发单脉冲发生器)
Public Const PCI8613_GATEMODE_RSTART_FSTOP_5 = &H5 ' COUNTER:上边沿触发计数、下边沿停止计数(适用于单脉冲宽度测量)
' TIMER:GATE上边沿单次触发连续脉冲串发生器
Public Const PCI8613_GATEMODE_FSTART_RSTOP_6 = &H6 ' COUNTER:下边沿触发计数、上边沿停止计数(适用于单脉冲宽度测量)
' TIMER:GATE下边沿单次触发连续脉冲串发生器
Public Const PCI8613_GATEMODE_PSTART_PSTOP_7 = &H7 ' COUNTER:上边沿触发计数、下一个上边沿停止计数(适用于单周期测量)
' TIMER:GATE高电平允许连续脉冲串发生器
Public Const PCI8613_GATEMODE_NSTART_NSTOP_8 = &H8 ' COUNTER:下边沿触发计数、下一个下边沿停止计数(适用于单周期测量)
' TIMER:GATE低电平允许连续脉冲串发生器
'***********************************************************
' 硬件参数PCI8613_PARA_CNT中的OutputDir在输出方向选项
Public Const PCI8613_OUTPUTDIR_NEGATIVE = &H0 ' 禁止计数情况下,输出低电平有效
Public Const PCI8613_OUTPUTDIR_POSITIVE = &H1 ' 禁止计数情况下,输出高电平有效
'***********************************************************
' 硬件参数PCI8613_PARA_CNT中的OutputType在输出类型选项
Public Const PCI8613_OUTPUTTYPE_TOGGLE = &H0 ' 占空比可设定波形方式(可由InitValue和WidthValue两个参数在定时器脉冲发生方式下设置波形占空比)
Public Const PCI8613_OUTPUTTYPE_PULSE = &H1 ' 脉冲方式
'***********************************************************
' CreateFileObject所用的文件操作方式控制字(可通过或指令实现多种方式并操作)
Public Const PCI8613_modeRead = &H0 ' 只读文件方式
Public Const PCI8613_modeWrite = &H1 ' 只写文件方式
Public Const PCI8613_modeReadWrite = &H2 ' 既读又写文件方式
Public Const PCI8613_modeCreate = &H1000 ' 如果文件不存可以创建该文件,如果存在,则重建此文件,并清0
Public Const PCI8613_typeText = &H4000 ' 以文本方式操作文件
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -