工业相机SDK接口设计项目说明指导书_第1页
工业相机SDK接口设计项目说明指导书_第2页
工业相机SDK接口设计项目说明指导书_第3页
工业相机SDK接口设计项目说明指导书_第4页
工业相机SDK接口设计项目说明指导书_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工业相机SDK接口设计阐明书编制审核批准

目录TOC\o"1-2"\h\z\u1. 简介 31.1 目的及范畴 31.2 有关术语 31.3 参照资料 32. 分析设计 52.1 设计思想 52.2 接口构造 52.3 数据流分析 63. 接口描述(C++接口) 83.1 传播层工厂类 83.2 设备控制类 113.3 GenApi 164. 接口描述(C接口) 214.1 相机控制通用接口 214.2 XML有关接口 374.3 GigEVision相机特有接口 414.4 U3V相机特有接口 435. 数据构造描述 445.1 MV_GIGE_DEVICE_INFO(GigE设备信息) 445.2 MV_USB3_DEVICE_INFO(USB3设备信息) 455.3 MV_CC_DEVICE_INFO(相机信息统一构造体) 455.4 MV_FRAME_OUT_INFO(输出帧信息) 465.5 MV_XML_NODE_FEATURE(xml节点基本信息) 476. 修订记录 48

简介目的及范畴本文档目是设计一套工业相机SDK统一接口,兼容GigEVision、1394、U3V和CameraLink等原则合同。业务层软件可同步调用GenApi和这套接口,以实现对相机控制。当前版本仅支持GigEVision和U3V两种传播合同,因此重要依照《GigEVisionSDK产品需求规格阐明书》和《USB3VisionSDK产品需求规格阐明书》进行设计,此后会在此版本基本上逐渐完善。本文档预期读者是项目经理、软件详细设计者、软件开发人员、测试人员和项目管理人员等。有关术语术语/缩写含义GigEVisionGigEVision是由自动化影像协会AIA(AutomatedImagingAssociation)发起指定一种基于千兆以太网图像传播原则。具备传播距离长(无中继时100米)、传播效率高并可向上升级到万兆网、通信控制以便、软硬件互换性强、可靠性高等长处,是将来数字图像领域重要接口原则,必将被越来越多商家多采用。U3V全称USB3Vision,是一种基于USB3.0技术传播合同,传播速度快。SDK应用软件开发包。GenICam通用相机接口,属于上层应用开发通用接口合同。GenApiGenICam相机接口某些参照资料《GigEVisionSDK产品需求规格阐明书.doc》.《USB3VisionSDK产品需求规格阐明书.doc》.《GenICam_Standard_v2_0.pdf》.eBUSSDKC++API.chm.FlyCapture2CDocumentation.chm.FlyCapture2SDKHelp.chmJAISDK.chmImagingSource.chm.PylonCSDK.chm

分析设计设计思想工业相机SDK设计一方面考虑是支持各种相机合同,提取共性后设计通用接口和构造体,使得上层应用软件不需要关怀详细相机合同。另一方面要支持GenICam,把GenApi引入作为SDK接口一某些。但由于GenApi是C++类形式接口,为保持接口风格一致性和顾客需求,咱们也需要设计一套C++接口。此外,为简化SDK调用流程和上层软件开发难度,咱们还要设计一套C接口。最后遵循SDK易扩展性设计了这套SDK。接口构造接口分C++和C两套:C++接口当前版本重要包括3个类:传播层工厂类,通过该类获取单件实例,然后枚举在线设备,以及创立和销毁设备;设备控制类,通过该类控制指定设备,涉及启动停止设备、获取图像等;GenApi,通过该模块可以获取和设立相机参数。2.2-1接口构造图C接口C接口分为四个方向:相机控制通用接口,包括创立句柄、连接设备、获取图像数据等;XML有关接口,内部封装了GenICam,实现XML解析和所有相机参数节点获取及设立;GigEVision相机特有接口,如强制IP、设立网络驱动模式等;U3V相机特有接口。数据流分析2.3-1数据流图

接口描述(C++接口)C++接口以类形式提供,因此接口描述也按照类来划分,可划分为三大模块:传播层工厂类GetInstance功能阐明获取传播层工厂单件接口所在位置TlFactory.h调用上下文或依赖对象描述调用SDK其她功能接口前,需要先调用此接口函数办法staticCTlFactory&GetInstance();输入参数代码/名称数据类型参数阐明无无无输出参数代码/名称数据类型参数阐明无无无返回值返回传播层工厂单件解决过程把工厂内部定义静态成员单件实例返回备注无示例 CTlFactory&tlFactory=CTlFactory::GetInstance();EnumerateTls功能阐明枚举支持传播层类型接口所在位置TlFactory.h调用上下文或依赖对象描述需要先获取工厂实例函数办法staticCTlFactory&GetInstance();输入参数代码/名称数据类型参数阐明无无无输出参数代码/名称数据类型参数阐明无无无返回值返回支持传播层类型解决过程略备注无示例 //2.枚举支持传播层类型unsignedintnSupportedTls=tlFactory.EnumerateTls();if(MV_GIGE_DEVICE==(nSupportedTls&MV_GIGE_DEVICE)){MyGigETest();}EnumDevices功能阐明枚举子网内,指定传播合同相应所有设备接口所在位置TlFactory.h调用上下文或依赖对象描述需要先获取工厂实例,枚举设备获取设备信息后,可创立设备实例函数办法virtualintEnumDevices(unsignedintnTLayerType,MV_CC_DEVICE_INFO_LIST&stDevList);输入参数代码/名称数据类型参数阐明nTLayerTypeunsignedint传播层合同类型stDevListMV_CC_DEVICE_INFO_LIST&设备信息列表输出参数代码/名称数据类型参数阐明stDevListMV_CC_DEVICE_INFO_LIST&设备信息列表返回值成功,返回MV_OK;失败,返回错误码解决过程由指定合同类型,广播相应消息,发现设备并记录设备信息备注无示例 MV_CC_DEVICE_INFO_LISTstDevList;memset(&stDevList,0,sizeof(MV_CC_DEVICE_INFO_LIST));intnRet=tlFactory.EnumDevices(MV_GIGE_DEVICE,stDevList);if(MV_OK!=nRet){printf("error:EnumDevices[%x]\n",nRet);return1;}CreateDevice功能阐明创立设备实例接口所在位置TlFactory.h调用上下文或依赖对象描述需要先获取设备信息后,才干创立设备实例函数办法virtualIMvDevice*CreateDevice(constMV_CC_DEVICE_INFO&device);输入参数代码/名称数据类型参数阐明deviceconstMV_CC_DEVICE_INFO&指定设备信息输出参数代码/名称数据类型参数阐明无无无返回值成功,返回设备实例;失败,返回NULL解决过程由输入设备信息,创立相应类型设备对象备注无示例 //由设备信息创立设备实例CMvGigEDevice*MyDevice=dynamic_cast<CMvGigEDevice*>(tlFactory.CreateDevice(*(stDevList.pDeviceInfo[i])));if(NULL==MyDevice){printf("error:CreateDevice\n");break;}DestroyDevice功能阐明销毁设备实例及相应资源接口所在位置TlFactory.h调用上下文或依赖对象描述前提是已创立设备实例函数办法virtualintDestroyDevice(IMvDevice*);输入参数代码/名称数据类型参数阐明pDeviceIMvDevice设备实例输出参数代码/名称数据类型参数阐明无无无返回值成功,返回设备实例;失败,返回错误码解决过程释放指定设备实例内部资源,然后删除映射表内设备信息备注无示例//从工厂中销毁设备intnRet=tlFactory.DestroyDevice(MyDevice);if(MV_OK!=nRet){printf("warning:DestroyDevicefail[%x]\n",nRet);}设备控制类Open功能阐明打开设备接口所在位置MvDeviceBase.h调用上下文或依赖对象描述已创立设备实例函数办法virtualintOpen();输入参数代码/名称数据类型参数阐明无无无输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程连接设备,获取设备独占权限备注无示例 intnRet=MyDevice->Open();if(MV_OK!=nRet){printf("error:Open[%x]\n",nRet);continue;}Close功能阐明关闭设备接口所在位置MvDeviceBase.h调用上下文或依赖对象描述已打开设备函数办法virtualintClose();输入参数代码/名称数据类型参数阐明无无无输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程断开设备连接,释放独占权限备注无示例 intnRet=MyDevice->Close();if(MV_OK!=nRet){printf("warning:Closefail[%x]\n",nRet);}StartGrabbing功能阐明开始采集图像接口所在位置MvDeviceBase.h调用上下文或依赖对象描述已打开设备函数办法virtualintClose();输入参数代码/名称数据类型参数阐明无无无输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程控制设备按照指定像素格式和方式开始采集图像备注无示例 intnRet=MyDevice->StartGrabbing();if(MV_OK!=nRet){printf("error:StartGrabbing[%x]\n",nRet);break;}StopGrabbing功能阐明停止采集图像接口所在位置MvDeviceBase.h调用上下文或依赖对象描述已开始采集图像函数办法virtualintClose();输入参数代码/名称数据类型参数阐明无无无输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程控制设备停止采集数据备注无示例 intnRet=MyDevice->StopGrabbing();if(MV_OK!=nRet){printf("warning:StopGrabbingfail[%x]\n",nRet);}GetGenICamXML功能阐明获取设备XML文献接口所在位置MvDeviceBase.h调用上下文或依赖对象描述已启动设备函数办法virtualintGetGenICamXML(unsignedchar*pData,unsignedintnDataSize,unsignedint*pnDataLen);输入参数代码/名称数据类型参数阐明pDataunsignedchar*待拷入数据缓存地址nDataSizeunsignedint缓存大小输出参数代码/名称数据类型参数阐明pnDataLenunsignedint*输出XML文献数据长度返回值成功,返回MV_OK;失败,返回错误码解决过程从设备读取XML文献,并输出备注当pData为NULL或nDataSize比实际xml文献小时,不拷贝数据,由pnDataLen返回xml文献大小;当pData为有效缓存地址,且缓存足够大时,拷贝完整数据,并由pnDataLen返回xml文献大小。示例 unsignedintnXMLDataLen=0;intnRet=MyDevice->GetGenICamXML(pXMLBuf,MAX_XML_FILE_SIZE,&nXMLDataLen);if(MV_OK!=nRet||nXMLDataLen>MAX_XML_FILE_SIZE){printf("error:GetGenICamXMLfailed![%x]\n",nRet);break;}GetTlProxy功能阐明获取GenICam使用传播层代理类接口所在位置MvDeviceBase.h调用上下文或依赖对象描述已创立设备实例,已打开设备函数办法virtualTlProxyGetTlProxy();输入参数代码/名称数据类型参数阐明无无无输出参数代码/名称数据类型参数阐明无无无返回值成功,返回传播层代理;失败,返回NULL解决过程创立传播层代理类,内部实现共享设备独占权限备注无示例 TlProxym_pMyPortTl=MyDevice->GetTlProxy();if(NULL==m_pMyPortTl){printf("error:getgigetransportlayerfailed!\n");break;}GetOneFrame功能阐明获取一帧图像数据接口所在位置MvDeviceBase.h调用上下文或依赖对象描述已创立设备实例,已打开设备,已启动抓图函数办法virtualintGetOneFrame(unsignedchar*pData,unsignedintnDataSize,MV_FRAME_OUT_INFO*pFrameInfo);输入参数代码/名称数据类型参数阐明pDataunsignedchar*待拷入数据缓存地址nDataSizeunsignedint缓存大小输出参数代码/名称数据类型参数阐明pFrameInfoMV_FRAME_OUT_INFO*输出帧信息返回值成功,返回MV_OK;失败,返回错误码解决过程获取设备采集图像数据,按照指定像素格式输出备注该接口为积极式获取帧数据,上层应用程序需要依照帧率,控制好调用该接口频率示例 intnRet=MyDevice->GetOneFrame(g_pFrameBuf,MAX_BUF_SIZE,&stInfo);if(MV_OK!=nRet){Sleep(10);}else{SR_UpdateFrameData(hRenderHandle,g_pFrameBuf,stInfo.nWidth,stInfo.nHeight,0);SR_Display(hRenderHandle,0,display);}GenApi_LoadXMLFromFile功能阐明加载设备XML文献接口所在位置NodeMapRef.h调用上下文或依赖对象描述已创立设备实例,已打开设备,已启动抓图函数办法void_LoadXMLFromFile(GenICam::gcstringFileName);输入参数代码/名称数据类型参数阐明FileNameGenICam::gcstringxml文献途径输出参数代码/名称数据类型参数阐明无无无返回值无解决过程加载设备提供xml文献备注该办法需要接受异常示例 CNodeMapRef*m_Camera=newCNodeMapRef;try{//加载xmlm_Camera->_LoadXMLFromFile("testdevice.xml");//导入传播层代理类,连接设备m_Camera->_Connect((IPort*)m_pMyPortTl,"Device");//获取指定字段相应节点CIntegerPtrptrNode=m_Camera->_GetNode("Width");if(NULL==ptrNode){printf("error:m_Camera->_GetNodefail!\n");break;}//获取指定字段值intnValue=ptrNode->GetValue();printf("getvalue[%x]\n",nValue);//设定指定字段值nValue=1280;ptrNode->SetValue(nValue);printf("setvalue[%x]\n",nValue);}catch(...){printf("warning:GenICamXMLmoduleerror!\n");}_Connect功能阐明导入传播层,连接设备接口所在位置NodeMapRef.h调用上下文或依赖对象描述已成功加载xml文献,已获取到传播层代理类函数办法virtualbool_Connect(IPort*pPort,constGenICam::gcstring&PortName)const;输入参数代码/名称数据类型参数阐明pPortIPort*传播层代理类PortNameconstGenICam::gcstring&端口名称输出参数代码/名称数据类型参数阐明无无无返回值无解决过程略备注该办法需要接受异常示例 参照LoadXMLFromFile办法示例代码_GetNode功能阐明获取指定字段节点接口所在位置NodeMapRef.h调用上下文或依赖对象描述已成功导入传播层代理类,已成功连接设备函数办法virtualINode*_GetNode(constGenICam::gcstring&key)const;输入参数代码/名称数据类型参数阐明keyconstGenICam::gcstring&字段名称输出参数代码/名称数据类型参数阐明无无无返回值成功,返回指定字段节点;失败,返回NULL,或抛出异常解决过程略备注该办法需要接受异常示例 参照LoadXMLFromFile办法示例代码GetValue功能阐明获取指定字段值接口所在位置IValue.h、Pointer.h、IInteger.h等,视类型而定调用上下文或依赖对象描述已成功获取节点函数办法virtualint64_tGetValue();输入参数代码/名称数据类型参数阐明无无无输出参数代码/名称数据类型参数阐明无无无返回值成功,返回指定字段值;失败,抛出异常解决过程略备注需要依照指定字段类型,来拟定用法。惯用有CIntegerPtr、CStringPtr、CRegisterPtr、CEnumerationPtr等,详细参照Pointer.h定义示例 参照LoadXMLFromFile办法示例代码SetValue功能阐明获取指定字段值接口所在位置IValue.h、Pointer.h、IInteger.h等,视类型而定调用上下文或依赖对象描述已成功获取节点函数办法virtualvoidSetValue(int64_tValue);输入参数代码/名称数据类型参数阐明Valueint64_t设立值输出参数代码/名称数据类型参数阐明无无无返回值失败,抛出异常解决过程略备注需要依照指定字段类型,来拟定用法。惯用有CIntegerPtr、CStringPtr、CRegisterPtr、CEnumerationPtr等,详细参照Pointer.h定义示例 参照LoadXMLFromFile办法示例代码

接口描述(C接口)C接口按照逻辑功能,划分为四大模块。相机控制通用接口MV_CC_GetSDKVersion功能阐明获取SDK版本号接口所在位置MvCameraControl.h调用上下文或依赖对象描述可独立随时调用函数办法MV_CAMCTRL_APIunsignedint__stdcallMV_CC_GetSDKVersion();输入参数代码/名称数据类型参数阐明无无无输出参数代码/名称数据类型参数阐明无无无返回值版本号:|主|次|修正|测试|8bits8bits8bits8bits解决过程把SDK内部定义当前版本号返回备注无示例 unsignedintnVersion=MV_CC_GetSDKVersion();MV_CC_EnumerateTls功能阐明枚举支持设备类型(传播层类型)接口所在位置MvCameraControl.h调用上下文或依赖对象描述可独立随时调用函数办法MV_CAMCTRL_APIint__stdcallMV_CC_EnumerateTls();输入参数代码/名称数据类型参数阐明无无无输出参数代码/名称数据类型参数阐明无无无返回值支持传播层类型解决过程备注无示例 intnSupportedTls=MV_CC_EnumerateTls();MV_CC_EnumDevices功能阐明设备枚举接口所在位置MvCameraControl.h调用上下文或依赖对象描述已成功加载SDK函数办法MV_CAMCTRL_APIint__stdcallMV_CC_EnumDevices(INunsignedintnTLayerType,INOUTMV_CC_DEVICE_INFO_LIST*pstDevList);输入参数代码/名称数据类型参数阐明nTLayerTypeunsignedint相机合同类型输出参数代码/名称数据类型参数阐明pstDevListMV_CC_DEVICE_INFO_LIST*枚举到设备信息列表指针返回值无解决过程依照输入相机合同,把发现设备信息保存到设备列表pstDevList中备注无示例MV_CC_DEVICE_INFO_LISTstDevList;memset(&stDevList,0,sizeof(MV_CC_DEVICE_INFO_LIST));intnRet=tlFactory.EnumDevices(MV_GIGE_DEVICE,&stDevList);if(MV_OK!=nRet){printf("error:EnumDevices[%x]\n",nRet);return1;}MV_CC_CreateHandle功能阐明创立句柄接口所在位置MvCameraControl.h调用上下文或依赖对象描述无函数办法MV_CAMCTRL_APIint__stdcallMV_CC_CreateHandle(OUTvoid**handle,INconstMV_CC_DEVICE_INFO*pstDevInfo);输入参数代码/名称数据类型参数阐明pstDevInfoMV_CC_DEVICE_INFO*设备信息输出参数代码/名称数据类型参数阐明handlevoid**句柄返回值成功,返回MV_OK;失败,返回错误码解决过程创立库内部必要资源和初始化内部模块备注无示例MV_CC_DestroyHandle功能阐明销毁句柄接口所在位置MvCameraControl.h调用上下文或依赖对象描述已创立有效句柄函数办法MV_CAMCTRL_APIint__stdcallMV_CC_DestroyHandle(void*handle);输入参数代码/名称数据类型参数阐明handlevoid*句柄输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程释放资源备注无示例MV_CC_IsDeviceAccessible功能阐明设备与否可访问接口所在位置MvCameraControl.h调用上下文或依赖对象描述已创立句柄函数办法MV_CAMCTRL_APIbool__stdcallMV_CC_IsDeviceAccessible(INvoid*handle,MV_CC_DEVICE_INFO*pstDevInfo,unsignedintnAccessMode);输入参数代码/名称数据类型参数阐明handlevoid*句柄pstDevInfoMV_CC_DEVICE_INFO设备信息nAccessModeunsignedint访问类型输出参数代码/名称数据类型参数阐明无无无返回值true或false解决过程读取设备CCP寄存器值,判断当前状态与否具备某种访问权限。备注无示例MV_CC_OpenDevice功能阐明打开设备接口所在位置MvCameraControl.h调用上下文或依赖对象描述已创立有效句柄函数办法MV_CAMCTRL_APIint__stdcallMV_CC_OpenDevice(INvoid*handle,INunsignedintnPrivilegeMode=MV_ExclusivePrivilege,INunsignedshortnSwitchoverKey=0);输入参数代码/名称数据类型参数阐明handlevoid*句柄nPrivilegeModeunsignedint设备访问模式,默认独占模式nSwitchoverKeyunsignedshort切换权限时密钥,默认无输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程依照设立设备参数,找到相应设备,连接。备注无示例MV_CC_CloseDevice功能阐明关闭设备接口所在位置MvCameraControl.h调用上下文或依赖对象描述已打开设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_CloseDevice(void*handle);输入参数代码/名称数据类型参数阐明handlevoid*句柄输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程断开相机连接,释放资源备注无示例MV_CC_StartGrabbing功能阐明启动抓图接口所在位置MvCameraControl.h调用上下文或依赖对象描述已打开设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_StartGrabbing(void*handle);输入参数代码/名称数据类型参数阐明handlevoid*句柄输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程发送启动抓图命令给相机,启动接受数据。备注无示例MV_CC_StopGrabbing功能阐明停止抓图接口所在位置MvCameraControl.h调用上下文或依赖对象描述已启动抓图函数办法MV_CAMCTRL_APIint__stdcallMV_CC_StopGrabbing(void*handle);输入参数代码/名称数据类型参数阐明handlevoid*句柄输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程发送停止抓图命令给相机,停止接受数据。备注无示例MV_CC_GetOneFrame功能阐明获取一帧图像数据接口所在位置MvCameraControl.h调用上下文或依赖对象描述已启动抓图函数办法MV_CAMCTRL_APIint__stdcallMV_CC_GetOneFrame(void*handle,INOUTunsignedchar*pData,INunsignedintnDataSize,INOUTMV_FRAME_OUT_INFO*pFrameInfo);输入参数代码/名称数据类型参数阐明handlevoid*句柄pDataunsignedchar*待输出数据缓存nDataSizeunsignedint缓存大小输出参数代码/名称数据类型参数阐明pDataunsignedchar*输出数据缓存pFrameInfoMV_FRAME_OUT_INFO当前一帧图像信息返回值成功,返回MV_OK;失败,返回错误码解决过程从相机或内部缓存链表中获取一帧图像备注无示例MV_CC_GetImageInfo功能阐明获取相机图像基本信息接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_GetImageInfo(void*handle,INOUTMV_IMAGE_BASIC_INFO*pstInfo);输入参数代码/名称数据类型参数阐明handlevoid*句柄pstInfoMV_IMAGE_BASIC_INFO待输出信息构造输出参数代码/名称数据类型参数阐明pstInfoMV_IMAGE_BASIC_INFO图像基本信息返回值成功,返回MV_OK;失败,返回错误码解决过程访问设备,获取当前设立备注无示例MV_CC_SetWidth功能阐明设立相机图像宽度接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_SetWidth(void*handle,INOUTunsignedintnValue);输入参数代码/名称数据类型参数阐明handlevoid*句柄nValueunsignedint宽值输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程访问设备,设立宽值备注无示例MV_CC_SetHeight功能阐明设立相机图像高度接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_SetHeight(void*handle,INOUTunsignedintnValue);输入参数代码/名称数据类型参数阐明handlevoid*句柄nValueunsignedint高值输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程访问设备,设立高值备注无示例MV_CC_SetPixelFormat功能阐明设立相机图像像素格式接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_SetPixelFormat(void*handle,INOUTMvGvspPixelTypeenValue);输入参数代码/名称数据类型参数阐明handlevoid*句柄enValueMvGvspPixelType像素格式输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程访问设备,设立像素格式备注无示例MV_CC_SetAcquisitionMode功能阐明设立相机采集模式接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_SetPixelFormat(void*handle,INOUTMV_CAM_ACQUISITION_MODEenMode);输入参数代码/名称数据类型参数阐明handlevoid*句柄enModeMV_CAM_ACQUISITION_MODE采集模式输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程访问设备,设立采集模式备注无示例MV_CC_SetFrameRate功能阐明设立相机采集帧率接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_SetFrameRate(void*handle,INfloatfValue);输入参数代码/名称数据类型参数阐明handlevoid*句柄fValuefloat帧率输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程访问设备,设立帧率备注无示例MV_CC_ReadMemory功能阐明从设备寄存器内读取数据接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_ReadMemory(void*handle,void*pBuffer,__int64nAddress,__int64nLength);输入参数代码/名称数据类型参数阐明handlevoid*句柄pBuffervoid*读出数据缓存nAddress__int64寄存器地址nLength__int64读取长度输出参数代码/名称数据类型参数阐明pBuffervoid*读出数据缓存返回值成功,返回MV_OK;失败,返回错误码解决过程访问设备,读取某段寄存器数据备注无示例MV_CC_WriteMemory功能阐明从设备寄存器内读取数据接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_WriteMemory(void*handle,constvoid*pBuffer,__int64nAddress,__int64nLength);输入参数代码/名称数据类型参数阐明handlevoid*句柄pBuffervoid*待写入数据nAddress__int64寄存器地址nLength__int64读取长度输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程访问设备,把一段数据写入某段寄存器备注无示例MV_CC_GetAllMatchInfo功能阐明获取各种类型信息接口所在位置MvCameraControl.h调用上下文或依赖对象描述取决于获取信息类型函数办法MV_CAMCTRL_APIint__stdcallMV_CC_GetOneFrame(void*handle,INOUTMV_ALL_MATCH_INFO*pstInfo);输入参数代码/名称数据类型参数阐明handlevoid*句柄pstInfoMV_ALL_MATCH_INFO待输出信息构造输出参数代码/名称数据类型参数阐明pstInfoMV_ALL_MATCH_INFO输出信息返回值成功,返回MV_OK;失败,返回错误码解决过程依照输入信息类型,获取相应信息构造体备注无示例MV_CC_RegisterExceptionCallBack功能阐明注册异常消息回调接口所在位置MvCameraControl.h调用上下文或依赖对象描述已创立句柄函数办法MV_CAMCTRL_APIint__stdcallMV_CC_RegisterExceptionCallBack(void*handle,void(__stdcall*cbException)(unsignedintnMsgType,void*pUser),void*pUser);输入参数代码/名称数据类型参数阐明handlevoid*句柄cbExceptionvoid__stdcall*回调函数pUservoid*顾客指针输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程库内部浮现已定义异常时,调用该回调函数备注无示例MV_CC_LocalUpgrade功能阐明设备本地升级接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接相机函数办法MV_CAMCTRL_APIint__stdcallMV_CC_LocalUpgrade(void*handle,constvoid*pFilePathName);输入参数代码/名称数据类型参数阐明handlevoid*句柄pFilePathNameconstvoid*设立相机采集模式输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程按照协商好方式发送升级包给设备备注无示例MV_CC_GetUpgradeProcess功能阐明获取当前升级进度接口所在位置MvCameraControl.h调用上下文或依赖对象描述升级进行时函数办法MV_CAMCTRL_APIint__stdcallMV_CC_GetUpgradeProcess(void*handle,unsignedint*pnProcess);输入参数代码/名称数据类型参数阐明handlevoid*句柄输出参数代码/名称数据类型参数阐明pnProcessunsignedint已完毕比例返回值成功,返回MV_OK;失败,返回错误码解决过程获取升级进度百分值备注无示例MV_CC_GetOptimalPacketSize功能阐明获取最佳packetsize,相应GigEVision设备是SCPS,相应U3V设备是每次从驱动读取包大小接口所在位置MvCameraControl.h调用上下文或依赖对象描述升级进行时函数办法MV_CAMCTRL_APIint__stdcallMV_CC_GetOptimalPacketSize(void*handle);输入参数代码/名称数据类型参数阐明handlevoid*句柄输出参数代码/名称数据类型参数阐明无无无返回值成功,返回不不大于0,表达包大小;失败,返回值不大于0,表达错误码。解决过程SDK内部通过某种方式,获取到最佳数值,输出备注无示例MV_CC_Display功能阐明显示一帧图像接口所在位置MvCameraControl.h调用上下文或依赖对象描述已获取到图像数据函数办法MV_CAMCTRL_APIint__stdcallMV_CC_Display(void*handle,void*hWnd,unsignedchar*pData,MV_FRAME_OUT_INFO*pFrameInfo);输入参数代码/名称数据类型参数阐明handlevoid*句柄hWndvoid*窗口句柄pDataunsignedchar*数据指针pFrameInfoMV_FRAME_OUT_INFO*帧信息输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程显示备注无示例XML有关接口MV_XML_GetGenICamXML功能阐明获取相机XML数据接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_XML_GetGenICamXML(void*handle,INOUTunsignedchar*pData,INunsignedintnDataSize,OUTunsignedint*pnDataLen);输入参数代码/名称数据类型参数阐明handlevoid*句柄pDataunsignedchar*待输出数据缓存nDataSizeunsignedint数据缓存大小输出参数代码/名称数据类型参数阐明pDataunsignedchar*xml数据缓存pnDataLenunsignedint*xml数据长度返回值成功,返回MV_OK;失败,返回错误码解决过程从设备获取xml备注无示例MV_XML_GetRootNode功能阐明获取根节点接口所在位置MvCameraControl.h调用上下文或依赖对象描述已载入xml函数办法MV_CAMCTRL_APIint__stdcallMV_XML_GetRootNode(void*handle,INOUTMV_XML_NODE_FEATURE*pstNode);输入参数代码/名称数据类型参数阐明handlevoid*句柄pstNodeMV_XML_NODE_FEATURE*节点信息构造体输出参数代码/名称数据类型参数阐明pstNodeMV_XML_NODE_FEATURE*节点信息构造体返回值成功,返回MV_OK;失败,返回错误码解决过程解析xml,获取根节点备注无示例MV_XML_GetChildren功能阐明获取某个节点所有子节点接口所在位置MvCameraControl.h调用上下文或依赖对象描述已获取根节点函数办法MV_CAMCTRL_APIint__stdcallMV_XML_GetChildren(void*handle,INMV_XML_NODE_FEATURE*pstNode,INOUTMV_XML_NODES_LIST*pstNodesList);输入参数代码/名称数据类型参数阐明handlevoid*句柄pstNodeMV_XML_NODE_FEATURE*父节点pstNodesListMV_XML_NODES_LIST*子节点列表输出参数代码/名称数据类型参数阐明pstNodesListMV_XML_NODES_LIST*子节点列表返回值成功,返回MV_OK;失败,返回错误码解决过程解析xml,获取某个节点所有子节点信息备注无示例MV_XML_GetNodeFeature功能阐明获取某个节点详细信息接口所在位置MvCameraControl.h调用上下文或依赖对象描述已获取某个节点基本信息函数办法MV_CAMCTRL_APIint__stdcallMV_XML_GetNodeFeature(void*handle,INMV_XML_NODE_FEATURE*pstNode,INOUTvoid*pstFeature);输入参数代码/名称数据类型参数阐明handlevoid*句柄pstNodeMV_XML_NODE_FEATURE*节点基本信息pstFeaturevoid*节点详细信息存储地址输出参数代码/名称数据类型参数阐明pstFeaturevoid*节点详细信息返回值成功,返回MV_OK;失败,返回错误码解决过程解析节点基本信息,获取该节点详细信息备注无示例MV_XML_UpdateNodeFeature功能阐明设立某个节点属性值接口所在位置MvCameraControl.h调用上下文或依赖对象描述已获取某个节点详细信息函数办法MV_CAMCTRL_APIint__stdcallMV_XML_UpdateNodeFeature(void*handle,INMV_XML_InterfaceTypeenType,INOUTvoid*pstFeature);输入参数代码/名称数据类型参数阐明handlevoid*句柄enTypeMV_XML_InterfaceType节点类型pstFeaturevoid*节点详细信息输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程设立某个节点属性值,SDK内部通过GenICam更新该节点所有信息备注无示例MV_XML_RegisterUpdateCallBack功能阐明注册属性更新回调接口所在位置MvCameraControl.h调用上下文或依赖对象描述已载入xml函数办法MV_CAMCTRL_APIint__stdcallMV_XML_RegisterUpdateCallBack(void*handle,INvoid(__stdcall*cbUpdate)(MV_XML_InterfaceTypeenType,void*pstFeature),INvoid*pUser);输入参数代码/名称数据类型参数阐明handlevoid*句柄cbUpdatevoid__stdcall*回调函数指针pUservoid*顾客指针输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程注册该回调后,当某个节点属性变化后,调用该回调函数备注无示例GigEVision相机特有接口MV_GIGE_ForceIp功能阐明强制IP接口所在位置MvCameraControl.h调用上下文或依赖对象描述已获取到设备信息函数办法MV_CAMCTRL_APIint__stdcallMV_GIGE_ForceIp(void*handle,unsignedintnIP);输入参数代码/名称数据类型参数阐明handlevoid*句柄nIPunsignedint要设立IP输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程依照合同,发送广播包,指定设备接受到后变化自身IP备注无示例MV_GIGE_SetIpConfig功能阐明配备IP方式接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_GIGE_SetIpConfig(void*handle,unsignedintnType);输入参数代码/名称数据类型参数阐明handlevoid*句柄nTypeunsignedintIP方式输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程发送命令设立相机ip方式,如DHCP、LLA等备注无示例MV_GIGE_SetNetTransMode功能阐明配备IP方式接口所在位置MvCameraControl.h调用上下文或依赖对象描述已创立句柄函数办法MV_CAMCTRL_APIint__stdcallMV_GIGE_SetNetTransMode(void*handle,unsignedintnType);输入参数代码/名称数据类型参数阐明handlevoid*句柄nTypeunsignedint网络模式输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程设立SDK内部优先使用网络模式,如驱动或socket备注可选接口示例MV_CC_SetGevSCPSPacketSize功能阐明设立SCPS接口所在位置MvCameraControl.h调用上下文或依赖对象描述已连接设备函数办法MV_CAMCTRL_APIint__stdcallMV_CC_SetGevSCPSPacketSize(void*handle,INOUTunsignedintnValue);输入参数代码/名称数据类型参数阐明handlevoid*句柄nValueunsignedint高值输出参数代码/名称数据类型参数阐明无无无返回值成功,返回MV_OK;失败,返回错误码解决过程访问设备,设立SCPS备注无示例U3V相机特有接口暂无,保存。数据构造描述MV_GIGE_DEVICE_INFO(GigE设备信息)typedefstruct_MV_GIGE_DEVICE_INFO_{unsignedintnIpCfgOption;unsignedintnIpCfgCurrent;unsignedintnCurrentIp;unsignedintnCurrentSubNetMask;unsignedintnDefultGateWay;unsignedcharchManufacturerName[32];unsignedcharchModelName[32];unsignedcharchDeviceVersion[32];unsignedcharchManufacturerSpecificInfo[48];unsignedcharchSerialNumber[16];unsignedcharchUserDefinedName[16];}MV_GIGE_DEVICE_INFO;MembersDefinitiontypeMeaningnIpCfgOptionunsignedintIP配备选项nIpCfgCurrentunsignedint当前IP配备nCurrentIpunsignedint当前设备IPnCurrentSubNetMaskunsignedint当前子网掩码nDefultGate

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论