📄 pci2006.h
字号:
//*************************************************************************************
// 用于AD转换的硬件参数
// AD通道和AD增益,它们将构成采样参数
// 阵列(请参考下面的PCI2006_PARA_AD)
#ifndef _CHANNEL_ARRAY_AD
typedef struct _CHANNEL_ARRAY_AD
{
DWORD ADChannel; // AD通道号
DWORD ADGains; // AD增益
} CHANNEL_ARRAY_AD;
#endif
//***********************************************************
// AD参数(CHANNEL_ARRAY_AD)中的ADGains使用的硬件增益选项
#define PCI2006_1MULT_GAINS 0x00 // 1倍增益(使用PGA202或PGA203放大器)
#define PCI2006_10MULT_GAINS 0x01 // 10倍增益(使用PGA202放大器)
#define PCI2006_100MULT_GAINS 0x02 // 100倍增益(使用PGA202放大器)
#define PCI2006_1000MULT_GAINS 0x03 // 1000倍增益(使用PGA202放大器)
#define PCI2006_2MULT_GAINS 0x01 // 2倍增益(使用PGA203放大器)
#define PCI2006_4MULT_GAINS 0x02 // 4倍增益(使用PGA203放大器)
#define PCI2006_8MULT_GAINS 0x03 // 8倍增益(使用PGA203放大器)
// 用于AD采样的实际硬件参数
#ifndef _PCI2006_PARA_AD
typedef struct _PCI2006_PARA_AD
{
DWORD ADMode; // 连续采集和分组采集方式选择
DWORD ChannelCount; // 通道总数(1-32)
CHANNEL_ARRAY_AD ChannelArray[32]; // 采样阵列(包括通道和增益)
DWORD Frequency; // AD采集频率(Hz)
DWORD GroupInterval; // 分组采样时,相邻组的时间间隔(uS)
DWORD TriggerSource; // 内触发和外触发方式选择
DWORD OutTriggerEdge; // 外触发上升沿和下降沿类型选择
DWORD OutDigitAnalog; // 外触发数字和模拟方式选择
DWORD ClockSource; // 允许使用外部时钟
}PCI2006_PARA_AD,*PPCI2006_PARA_AD;
#endif
//***********************************************************
// AD参数(PCI2006_PARA_AD)中的ADMode使用的采集方式选项
#define PCI2006_SEQUENCE_MODE 0x0000 //连续采集
#define PCI2006_GROUP_MODE 0x0001 //分组采集
//***********************************************************
// AD硬件参数PCI2006_PARA_AD中的TriggerSource成员变量所使用AD启动触发源选项
#define PCI2006_IN_TRIGGER 0x0000 // 内触发方式
#define PCI2006_OUT_TRIGGER 0x0001 // 外触发方式
//***********************************************************
// AD硬件参数PCI2006_PARA_AD中的OutTriggerEdge成员变量所使用的触发沿方式选择控制字选项
#define PCI2006_RISING_EDGE 0x0000 // 外触发上升沿触发方式
#define PCI2006_FALLING_EDGE 0x0001 // 外触发下降沿触发方式
//***********************************************************
// AD硬件参数PCI2006_PARA_AD中的OutDigitAnalog成员变量所使用的数字和模拟外触发选项
#define PCI2006_ANALOG_TRIGGER 0x0000 // 模拟量外触发
#define PCI2006_DIGIT_TRIGGER 0x0001 // 数字量外触发
//***********************************************************
// AD硬件参数PCI2006_PARA_AD中的ClockSource成员变量所使用内部和外部时钟源选项
#define PCI2006_IN_CLOCK 0x0000 // 内部时钟定时触发
#define PCI2006_OUT_CLOCK 0x0001 // 外部时钟定时触发
//*************************************************************************************
// 用于开关量的参数结构
#ifndef _PCI2006_PARA_DO
typedef struct _PCI2006_PARA_DO // 数字量输出参数
{
BYTE DO0; // 0通道
BYTE DO1; // 1通道
BYTE DO2; // 2通道
BYTE DO3; // 3通道
BYTE DO4; // 4通道
BYTE DO5; // 5通道
BYTE DO6; // 6通道
BYTE DO7; // 7通道
BYTE DO8; // 8通道
BYTE DO9; // 9通道
BYTE DO10; // 10通道
BYTE DO11; // 11通道
BYTE DO12; // 12通道
BYTE DO13; // 13通道
BYTE DO14; // 14通道
BYTE DO15; // 15通道
} PCI2006_PARA_DO,*PPCI2006_PARA_DO;
#endif
#ifndef _PCI2006_PARA_DI
typedef struct _PCI2006_PARA_DI // 数字量输入参数
{
BYTE DI0; // 0通道
BYTE DI1; // 1通道
BYTE DI2; // 2通道
BYTE DI3; // 3通道
BYTE DI4; // 4通道
BYTE DI5; // 5通道
BYTE DI6; // 6通道
BYTE DI7; // 7通道
BYTE DI8; // 8通道
BYTE DI9; // 9通道
BYTE DI10; // 10通道
BYTE DI11; // 11通道
BYTE DI12; // 12通道
BYTE DI13; // 13通道
BYTE DI14; // 14通道
BYTE DI15; // 15通道
} PCI2006_PARA_DI,*PPCI2006_PARA_DI;
#endif
//######################## 常量定义 #################################
// CreateFileObject所用的文件操作方式控制字(可通过或指令实现多种方式并操作)
#define PCI2006_modeRead 0x0000 // 只读文件方式
#define PCI2006_modeWrite 0x0001 // 只写文件方式
#define PCI2006_modeReadWrite 0x0002 // 既读又写文件方式
#define PCI2006_modeCreate 0x1000 // 如果文件不存可以创建该文件,如果存在,则重建此文件,并清0
#define PCI2006_typeText 0x4000 // 以文本方式操作文件
//***********************************************************
// 用于DA的复位方式(适用于PCI2006_InitDevProDA函数的ResetMode参数)
#define PCI2006_RESET_MODE_NEGATIVE 0x0000 // 负满度(-5V或-10V...)
#define PCI2006_RESET_MODE_ZERO 0x0001 // 零点(0V)
//***********************************************************
// 用户函数接口
#ifndef DEFINING
#define DEVAPI __declspec(dllimport)
#else
#define DEVAPI __declspec(dllexport)
#endif
#ifdef __cplusplus
extern "C" {
#endif
//######################## 常规通用函数 #################################
// 适用于本设备的最基本操作
DEVAPI HANDLE FAR PASCAL PCI2006_CreateDevice(int DeviceID = 0); // 创建设备对象
DEVAPI int FAR PASCAL PCI2006_GetDeviceCount(HANDLE hDevice); // 取得设备总台数
DEVAPI int FAR PASCAL PCI2006_GetDeviceCurrentID(HANDLE hDevice); // 取得当前设备相应的ID号
DEVAPI BOOL PCI2006_ListDeviceDlg(HANDLE hDevice); // 列表系统当中的所有的该PCI设备
DEVAPI BOOL FAR PASCAL PCI2006_ReleaseDevice(HANDLE hDevice); // 关闭设备,禁止传输,且释放资源
//####################### AD数据读取函数 #################################
// 适于大多数普通用户,这些接口最简单、最快捷、最可靠,让用户不必知道设备
// 低层复杂的硬件控制协议和繁多的软件控制编程,仅用下面的初始化设备和读取
// AD数据两个函数便能轻松高效地实现高速、连续的数据采集
DEVAPI BOOL FAR PASCAL PCI2006_InitDeviceProAD( // 初始化设备,当返回TRUE后,设备即刻开始传输.
HANDLE hDevice, // 设备对象
PPCI2006_PARA_AD pADPara); // 硬件参数, 它仅在此函数中决定硬件状态
DEVAPI BOOL FAR PASCAL PCI2006_StartDeviceProAD( // 在初始化之后,启动设备
HANDLE hDevice); // 设备对象句柄
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -