工業相機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

提交評論