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

📄 ieudef.pas

📁 ID(IE) SDK V4.7 ID/IE工业相机驱动程序 Delphi库
💻 PAS
字号:
//!
//!-----------------------------------------------------------------------------
//!       Name            IEUDef.PAS
//!       Purpose         IEUDef模板定义
//!       CopyRight       (c) 2007,  
//!       Development Kit Borland Delphi 6.00
//!       Author          ZhaoXingMei
//!       Date            2007/03/12
//!
//!
//!       Description     Ver 1.00.0000 Beta
//!
//!
//!-----------------------------------------------------------------------------
unit IEUDef;

interface
//相机分辨率
type FD_RESOLUTION =
(
    RESOLUTION0 = $10000000,    //图像分辨率0,大图像模式
    RESOLUTION1 = $10000001     //图像分辨率1,小图像模式
);
//相机型号标识
type FD_CAMERA_TYPE =
(
    UNKNOWN   = 0,             //未知型号设备
    ID320C    = 1,             //FC-1D320C型相机
    ID200C    = 2,             //FC-ID200C型相机
    ID130C    = 3,             //FC-ID130C型相机
    ID130M    = 4,             //FC-ID130M型相机
    IE130C    = 5,             //FC-IE130C型相机
    IE130M    = 6,             //FC-IE130M型相机
    IE036C    = 7,             //FC-IE036C型相机
    IE036M    = 8,             //FC-IE036M型相机
    ID320PLUS = 9,             //FC-ID320PLUS型相机
    ID130PLUS = 10             //FC-ID130PLUS型相机
);
//相机输出图像数据的格式
type FD_DATA_FORMAT =
(
    HIGH_8BITS  = $10000000,        //输出原10位数据的高8位数据
    MID_8BITS  = $10000001,        //输出原10位数据的中8位数据
    LOW_8BITS  = $10000002         //输出原10位数据的低8位数据
);
//输出数据位反转选项
type FD_BIT_INVERSION =
(
    BIT_NORMAL    = $10000000,    //图像数据正常输出
    BIT_INVERSION = $10000004     //输出反转位图像数据
);
//相机的GAMMA功能选项
type FD_GAMMA_CORRECTION =
(
    GAMMA_DISABLE = $10000000, //关闭GAMMA校正功能
    GAMMA_ENABLE  = $10000002  //使能GAMMA校正功能
);
//相机的工作模式
type FD_TRIGGER_MODE =
(
    FREE_RUN             = $00000000,   //连续图像模式
    TRIGGER_SOFTWARE     = $03000000,   //触发模式下的软件触发
    TRIGGER_RISING_EDGE  = $01000000,   //外触发模式,外部信号上升沿触发
    TRIGGER_FALLING_EDGE = $05000000    //外触发模式,外部信号下降沿触发
);
//闪光灯极性
type FD_STROBE_POLARITY =
(
    RISING_EDGE_ACTIVE  = $00000000,  //闪光灯上升延有效
    FALLING_EDGE_ACTIVE = $08000000   //闪光灯下延有效
);
//控制模式
type FD_CONTROL =
(
    USER_CTRL = $00000000,   //用户控制
    AUTO_CTRL = $10000001		 //自动控制
);

type FD_FPN_CONTROL =
(
    FPN_DISABLE = $00000000,  //不使能
    FPN_ENABLE  = $10000001   //使能
);

//相机参数标识
type  CAM_PARAM =
(
    EXPOSURE_TIME    = 0,	//曝光时间
	  GAIN          	 = 1,	//增益
	  BRIGHT         	 = 2,	//亮度
	  RED_GAIN         = 3,	//红增益
	  BLUE_GAIN      	 = 4,	//蓝增益
	  STROBE_DELAY     = 5,	//闪光灯延迟
	  STROBE_DURATION	 = 6,	//闪光灯持续时间
	  TRIGGER_DELAY	   = 7,	//触发延迟
	  ANALOG_GAIN      = 8,	//模拟增益
	  ADCOFFSET        = 9	//偏置
);
//数据传输状态标识,用于回调函数
type IEU_TRANS_STATE =
(
    TRANS_ONE_RSVD    = $2000,    //收到一帧有效的图像数据
    TRANS_TIMEOUT	    = $2002,    //图像传输超过用户设置的时间限制
    TRANS_ONE_FAILED	= $2003     //获取一帧图像失败
);

//返回值和窗口句柄标识
type
    HRESULT             =     LongWord;
    HWND                =     LongWord;

//相机的可调参数信息
PARAM_INFO = packed record
    fMaxValue:    Single;          //此参数的最大值  as the ’float‘ in c\c++
    fMinValue:    Single;          //此参数的最小值
    fScale:       Single;          //参数变化单位值
end;

//相机硬件信息
HARDWARE = packed record
    cameraType:      BYTE;                 //1:相机型号
    hardwareEdition: Array[0..2] of BYTE;  //2:4:硬件版本号
    updateDate:      Array[0..3] of BYTE;  //5:8:硬件程序更新日期,5:6:年(十进制数表示,5:高8位,6:低8位),7:月,8:日
    cameraId:        LongWord;             //相机标识符
end;

//回调函数参数
IEU_TRANS_INFO = packed record
    pDataBuf:        Pointer;             //接收图像数据的缓冲区地址
    cbDataBuf:       LongWord;            //缓冲区大小(以字节计)
    dwImgRequested:  longint;             //用户要求的图像帧数
    dwImgTransferred:longint;             //已经传输的图像帧数
    dwTimeOutTicks:  longword;            //用户设定超时间(毫秒)
    TransState:      IEU_TRANS_STATE;     //当前状态
    pParam:          Pointer;             //用户自定义参数指针
end;

//矩形的长宽定义
SIZE = packed record
    cx:  longint;
    cy:  longint;
end;


//定义一个类型的指针类型
type
PIEU_TRANS_INFO = ^IEU_TRANS_INFO;

//回调函数
IEU_CALLBACK = function(pTransInfo: PIEU_TRANS_INFO): Integer; stdcall;

//IEU消息定义,用于消息处理函数
    const WM_USER             = $0400;
    const IEU_MSG             = WM_USER + 200;
    const MSG_ONE_RSVD        = $2000;
    const MSG_ALL_RSVD        = $2001;
    const MSG_TIMEOUT 	      = $2002;
    const MSG_ONE_FAILED      = $2003;
    const MSG_TRANS_CANCELLED =	$2004;
    const MSG_TRANS_STARTED   = $1000;
    const MSG_TRANS_END	      =	$1001;

//返回值定义
    FD_SUCCESSED:          HRESULT = $2000;
    FD_READY:              HRESULT = $2001;
    FD_UNREADY:            HRESULT = $1031;
    FD_FAILED:             HRESULT = $1000;
    FD_OPEN_FAILED:        HRESULT = $1001;
    FD_START_FAILED:       HRESULT = $1002;
    FD_STOP_FAILED:        HRESULT = $1003;
    FD_INVALID_POINTER:    HRESULT = $1011;
    FD_IMAGE_STOPED:       HRESULT = $1012;
    FD_WRITE_DEVICE_FAILED:HRESULT = $1013;
    FD_READ_DEVICE_FAILED: HRESULT = $1014;
    FD_READ_IMAGE_FAILED:  HRESULT = $1015;
    FD_INVALID_IMAGE:      HRESULT = $1016;
    FD_OPEN_FILE_FAILED:   HRESULT = $1017;
    FD_INVALID_HANDLE:     HRESULT = $1018;
    FD_UPDATE_FAILED:      HRESULT = $1019;
    FD_GET_HARDWARE_FAILED:HRESULT = $1020;
    FD_BAD_PARAM:          HRESULT = $1021;
    FD_BUSYING:            HRESULT = $1028;
    FD_UNINITIALIZED:      HRESULT = $1029;
    FD_CANCEL_FAILED:      HRESULT = $1030;
    FD_NOT_SUPPORT:        HRESULT = $1031;
    FD_TIME_OUT:           HRESULT = $1032;

//定义关于相机增益的常量数组
//IE130M和IE130C相机的模拟增益值
    AnalogGain:  Array[1..17] of Single = (1.0,
	                       1.37,	1.62,	1.96,	2.33,
	                       2.76,	3.50,	4.25,	5.20,
	                       6.25,	7.89,	9.21,	11.00,
	                       11.37,	11.84,	12.32,	12.42);

//IE036M和IE036C相机的模拟增益值
    AnalogGain_IE036: Array[1..4] of Single = (1.0, 2.0, 3.0, 4.0);

//ID130M、ID130C和ID320PLUS相机的模拟增益
//ID320PLUS的模拟增益与ID130系列相同
    AnalogGain_ID130: Array[1..4] of Single = (1.0, 2.0, 3.0, 4.0);


implementation

end.

⌨️ 快捷键说明

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