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

📄 pci2006.h

📁 AD 数据采集卡基本的采集界面
💻 H
📖 第 1 页 / 共 2 页
字号:
//*************************************************************************************
// 用于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 + -