工业相机SDK接口设计说明书.docx
- 文档编号:23117796
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:70
- 大小:39.18KB
工业相机SDK接口设计说明书.docx
《工业相机SDK接口设计说明书.docx》由会员分享,可在线阅读,更多相关《工业相机SDK接口设计说明书.docx(70页珍藏版)》请在冰豆网上搜索。
工业相机SDK接口设计说明书
.
工业相机SDK
接口设计说明书
编制
审核
准批
资料Word
.
资料Word
.
........................................................................................................................................................................4简介1.
1.14目标及围........................................................................................................................................................................
1.2........................................................................................................................................................................4相关术语
1.3........................................................................................................................................................................4参考资料
...............................................................................................................................................................6.分析设计2.2.1........................................................................................................................................................................6设计思想2.26接口结构........................................................................................................................................................................
2.37数据流分析....................................................................................................................................................................
......................................................................................................................................9.接口)3.接口描述(C++3.1..............................................................................................................................................................9传输层工厂类.3.2设备控制类..................................................................................................................................................................143.312GA...........................................................................................................................................................................PIEN27接口)4..........................................................................................................................................接口描述(C4.17....................................................................................................................................................2相机控制通用接口
4.247XML相关接口............................................................................................................................................................
4.3G52EV相机特有的接口..................................................................................................................................ISIONIG4.455U3V相机特有的接口...............................................................................................................................................
55.....................................................................................................................................................数据结构描述5.5.15..................................................................................................5(MV_GIGE_DEVICE_INFOGE设备信息)IG
5.27...............................................................................................MV_USB3_DEVICE_INFO(USB3设备信息)5
5.37(相机信息统一结构体)..........................................................................................5MV_CC_DEVICE_INFO5.4..........................................................................................................MV_FRAME_OUT_INFO(输出帧信息)595.560.......................................................................................节点基本信息)MV_XML_NODE_FEATURE(.XML61..............................................................................................................................................................6.修订记录
资料Word
.
1.简介
1.1目标及围
本文档的目的是设计一套工业相机SDK的统一接口,兼容GigEVision、1394、U3V和CameraLink等标准协议。
业务层软件可同时调用GenApi和这套接口,以实现对相机的控制。
当前版本仅支持GigEVision和U3V两种传输协议,所以主要根据《GigEVisionSDK产品需求规格说明书》和《USB3VisionSDK产品需求规格说明书》进行设计,今后会在此版本的基础上逐渐完善。
本文档的预期读者是项目经理、软件详细设计者、软件开发人员、测试人员和项目管理人员等。
1.2相关术语
术语/缩写
含义
GigEVision
GigEVision是由自动化影像协会AIA(AutomatedImagingAssociation)发起指定的一种基于千兆以太网的图像传输的标准。
具有传输距离长(无中继时100米)、传输效率高并可向上升级到万兆网、通信控制方便、软硬件互换性强、可靠性高等优点,是未来数字图像领域的主要接口标准,必将被越来越多的商家多采用。
U3V
,是一种基于USB3.0技术的传输协议,传输速度快。
全称USB3Vision
SDK
应用软件开发包。
GenICam
通用相机接口,属于上层应用开发的通用接口协议。
GenApi
GenICam的相机接口部分
1.3参考资料
1.《GigEVisionSDK产品需求规格说明书.doc》.
2.《USB3VisionSDK产品需求规格说明书.doc》.
资料Word
.
3.《GenICam_Standard_v2_0.pdf》.
4.eBUSSDKC++API.chm.
5.FlyCapture2CDocumentation.chm.
6.FlyCapture2SDKHelp.chm
7.JAISDK.chm
8.ImagingSource.chm.
9.PylonCSDK.chm
资料Word
.
2.分析设计
2.1设计思想
工业相机SDK的设计首先考虑的是支持多个相机协议,提取共性后设计通用的接口和结构体,使得上层应用软件不需要关心具体的相机协议。
其次要支持GenICam,把GenApi引入作为SDK接口的一部分。
但由于GenApi是C++类形式的接口,为保持接口风格的一致性和用户的需求,我们也需要设计一套C++接口。
另外,为简化SDK的调用流程和上层软件的开发难度,我们还要设计一套C接口。
最后遵循SDK的易扩展性设计了这套SDK。
2.2接口结构
接口分C++和C两套:
2.2.1C++接口
当前版本主要包含3个类:
1.传输层工厂类,通过该类获取单件实例,然后枚举在线设备,以及创建和销毁设备;
2.设备控制类,通过该类控制指定的设备,包括开启停止设备、获取图像等;
3.GenApi,通过该模块可以获取和设置相机参数。
资料Word
.
SDKInterface
IMvDevices...1394GigECreateGenApiTlFactory...Destory...GigE
接口结构图2.2-1C接口2.2.2C接口分为四个方向:
相机控制通用接口,包含创建句柄、连接设备、获取图像数据等;1.解析和所有相机参数节点的获取XML部封装了GenICam,实现XML2.相关接口,及设置;IP、设置网络驱动模式等;GigEVision3.相机特有的接口,如强制相机特有的接口。
4.U3V据流分析数2.3
资料Word
.
GetInstanceEnumDevicesCreateDeviceDestroyDeviceOpenTlFactoryGetIMvDeviceStartGrabbingGenApiSDKStopGrabbingSeClose2.3-1数据流图资料Word
.
3.接口描述(C++接口)
C++接口以类形式提供,所以接口描述也按照类来划分,可划分为三大模块:
3.1传输层工厂类
3.1.1GetInstance
功能说明
获取传输层工厂单件
接口所在位置
TlFactory.h
调用上下文或依赖对象描述
调用SDK的其他功能接口前,需要先调用此接口
函数方法
staticCTlFactory&GetInstance();
输入
参数代码/名称
数据类型
参数说明
无
无
无
输出
参数代码/名称
数据类型
参数说明
无
无
无
返回值
返回传输层工厂单件
处理过程
把工厂部定义的静态成员单件实例返回
备注
无
示例
();GetInstanceCTlFactorytlFactory=:
:
CTlFactory&
3.1.2EnumerateTls
功能说明
枚举支持的传输层类型
接口所在位置
TlFactory.h
调用上下文或依赖对象描述
需要先获取工厂实例
资料Word
.
函数方法
();&GetInstancestaticCTlFactory
输入
/名称参数代码
数据类型
参数说明
无
无
无
输出
名称参数代码/
数据类型
参数说明
无
无
无
返回值
返回支持的传输层类型
处理过程
略
备注
无
示例
枚举支持的传输层类型//2.();EnumerateTlstlFactory.unsignedintnSupportedTls=
))
&MV_GIGE_DEVICE(MV_GIGE_DEVICE==(nSupportedTlsif{
();
MyGigETest}
EnumDevices
3.1.3
功能说明
枚举子网,指定的传输协议对应的所有设备
接口所在位置
TlFactory.h
调用上下文或依赖对象描述
需要先获取工厂实例,枚举设备获取设备信息后,可创建设备实例
函数方法
unsignedintEnumDevices(
nTLayerTypevirtualint);stDevListMV_CC_DEVICE_INFO_LIST&
输入
名称/参数代码
数据类型
参数说明
资料Word
.
nTLayerType
unsignedint
传输层协议类型
stDevList
MV_CC_DEVICE_INFO_LIST&
设备信息列表
输出
参数代码/名称
数据类型
参数说明
stDevList
MV_CC_DEVICE_INFO_LIST&
设备信息列表
返回值
;失败,返回错误码MV_OK成功,返回
处理过程
由指定的协议类型,广播相应的消息,发现设备并记录设备信息
备注
无
示例
;
MV_CC_DEVICE_INFO_LISTstDevList));MV_CC_DEVICE_INFO_LIST,0,stDevListsizeof(memset(&
);
stDevListMV_GIGE_DEVICE,=nRettlFactory.EnumDevices(int)!
=nRetif(MV_OK{
);,nRet敜牲牯?
湅浵敄楶散?
╛嵸屜屮printf(1;
return}
CreateDevice
3.1.4
资料Word
.
功能说明
创建设备实例
接口所在位置
TlFactory.h
调用上下文或依赖对象描述
需要先获取设备信息后,才能创建设备实例
函数方法
*
virtualIMvDevice);device(constMV_CC_DEVICE_INFO&CreateDevice
输入
参数代码/名称
数据类型
参数说明
device
constMV_CC_DEVICE_INFO&
指定设备的信息
输出
参数代码/名称
数据类型
参数说明
无
无
无
返回值
NULL成功,返回设备实例;失败,返回
处理过程
由输入的设备信息,创建相应类型的设备对象
备注
无
示例
由设备信息创建设备实例//
MyDeviceCMvGigEDevice*
pDstDevList.tlFactory.CreateDevice(*(<=dynamic_castCMvGigEDevice*>(])));ieviceInfo[
)MyDevice==if(NULL{
);
(敜牲牯?
牃慥整敄楶散屜屮printf
资料Word
.
;break}
DestroyDevice
3.1.5
功能说明
销毁设备实例及相应的资源
接口所在位置
TlFactory.h
调用上下文或依赖对象描述
前提是已创建设备实例
函数方法
*);IMvDevicevirtualintDestroyDevice(
输入
参数代码/名称
数据类型
参数说明
pDevice
IMvDevice
设备实例
输出
/名称参数代码
数据类型
参数说明
无
无
无
返回值
成功,返回设备实例;失败,返回错误码
处理过程
释放指定设备实例的部资源,然后删除映射表的设备信息
备注
无
示例
//从工厂中销毁设备);
MyDeviceDestroyDevicetlFactory.(nRetint=)!
=nRetMV_OKif({
);
nRet睜牡楮杮?
敄瑳潲?
癥捩?
慦汩嬠砥屝湜printf(
资料Word
.
}
设备控制类3.2
Open
3.2.1
功能说明
打开设备
接口所在位置
MvDeviceBase.h
调用上下文或依赖对象描述
已创建设备实例
函数方法
();Openvirtualint
输入
/参数代码名称
数据类型
参数说明
无
无
无
输出
参数代码/名称
数据类型
参数说明
无
无
无
返回值
;失败,返回错误码成功,返回MV_OK
处理过程
连接设备,获取设备独占权限
备注
无
示例
();->OpennRetint=MyDevice)
nRetMV_OKif(!
=
{
);nRet(printf敜牲牯?
灏湥嬠砥屝湜,
;
continue}
资料Word
.
Close
3.2.2
功能说明
关闭设备
接口所在位置
MvDeviceBase.h
调用上下文或依赖对象描述
已打开设备
函数方法
();Closevirtualint
输入
/参数代码名称
数据类型
参数说明
无
无
无
输出
参数代码/名称
数据类型
参数说明
无
无
无
返回值
;失败,返回错误码成功,返回MV_OK
处理过程
断开设备连接,释放独占权限
备注
无
示例
();->ClosenRetint=MyDevice)
nRetMV_OKif(!
=
{
);
nRet(printf睜牡楮杮?
汃獯?
慦汩嬠砥屝湜,
}
资料Word
.
3.2.3StartGrabbing
功能说明
开始采集图像
接口所在位置
MvDeviceBase.h
调用上下文或依赖对象描述
已打开设备
函数方法
virtualintClose();
输入
参数代码/名称
数据类型
参数说明
无
无
无
输出
参数代码/名称
数据类型
参数说明
无
无
无
返回值
;失败,返回错误码成功,返回MV_OK
处理过程
控制设备按照指定的像素格式和方式开始采集图像
备注
无
示例
intnRet=MyDevice->StartGrabbing();
if(MV_OK!
=nRet)
{printf(敜牲牯?
瑓牡?
慲扢湩?
╛嵸屜屮,nRet);
break;
}
3.2.4StopGrabbing
功能说明
停止采集图像
接口所在位置
MvDeviceBase.h
调用上下文或依赖对象描述
已开始采集图像
资料Word
.
函数方法
();Closevirtualint
输入
参数代码/名称
数据类型
参数说明
无
无
无
输出
参数代码/名称
数据类型
参数说明
无
无
无
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工业 相机 SDK 接口 设计 说明书