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

下载本文档

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

文档简介

..工业相机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.3GenApi164.接口描述〔C接口214.1相机控制通用接口214.2XML相关接口374.3GigEVision相机特有的接口414.4U3V相机特有的接口435.数据结构描述445.1MV_GIGE_DEVICE_INFO〔GigE设备信息445.2MV_USB3_DEVICE_INFO〔USB3设备信息455.3MV_CC_DEVICE_INFO〔相机信息统一结构体455.4MV_FRAME_OUT_INFO〔输出帧信息465.5MV_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;MembersDefinitio

温馨提示

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

评论

0/150

提交评论