工业相机SDK接口设计说明书.docx

上传人:b****1 文档编号:23117796 上传时间:2023-04-30 格式:DOCX 页数:70 大小:39.18KB
下载 相关 举报
工业相机SDK接口设计说明书.docx_第1页
第1页 / 共70页
工业相机SDK接口设计说明书.docx_第2页
第2页 / 共70页
工业相机SDK接口设计说明书.docx_第3页
第3页 / 共70页
工业相机SDK接口设计说明书.docx_第4页
第4页 / 共70页
工业相机SDK接口设计说明书.docx_第5页
第5页 / 共70页
点击查看更多>>
下载资源
资源描述

工业相机SDK接口设计说明书.docx

《工业相机SDK接口设计说明书.docx》由会员分享,可在线阅读,更多相关《工业相机SDK接口设计说明书.docx(70页珍藏版)》请在冰豆网上搜索。

工业相机SDK接口设计说明书.docx

工业相机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

输入

参数代码/名称

数据类型

参数说明

输出

参数代码/名称

数据类型

参数说明

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1