函数
GigE相机

仅GigE相机支持的接口 更多...

函数

MV_CAMCTRL_API int __stdcall MV_GIGE_SetEnumDevTimeout (IN unsigned int nMilTimeout)
 设置枚举超时时间,仅支持GigE协议,范围:[1, UINT_MAX) 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_ForceIpEx (IN void *handle, IN unsigned int nIP, IN unsigned int nSubNetMask, IN unsigned int nDefaultGateWay)
 强制IP 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_SetIpConfig (IN void *handle, IN unsigned int nType)
 配置IP方式 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_SetNetTransMode (IN void *handle, IN unsigned int nType)
 设置仅使用某种模式,type: MV_NET_TRANS_x,不设置时,默认优先使用driver 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_GetNetTransInfo (IN void *handle, IN OUT MV_NETTRANS_INFO *pstInfo)
 获取网络传输信息 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_SetDiscoveryMode (IN unsigned int nMode)
 设置枚举命令的回复包类型 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_SetGvspTimeout (IN void *handle, IN unsigned int nMillisec)
 设置GVSP取流超时时间 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_GetGvspTimeout (IN void *handle, IN OUT unsigned int *pnMillisec)
 获取GVSP取流超时时间 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_SetGvcpTimeout (IN void *handle, IN unsigned int nMillisec)
 设置GVCP命令超时时间 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_GetGvcpTimeout (IN void *handle, IN OUT unsigned int *pnMillisec)
 获取GVCP命令超时时间 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_SetRetryGvcpTimes (IN void *handle, IN unsigned int nRetryGvcpTimes)
 设置重传GVCP命令次数 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_GetRetryGvcpTimes (IN void *handle, IN OUT unsigned int *pnRetryGvcpTimes)
 获取重传GVCP命令次数 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_GetOptimalPacketSize (IN void *handle)
 获取最佳的packet size,该接口目前只支持GigE设备 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_SetResend (IN void *handle, IN unsigned int bEnable, IN unsigned int nMaxResendPercent, IN unsigned int nResendTimeout)
 设置是否打开重发包支持,及重发包设置 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_SetResendMaxRetryTimes (IN void *handle, IN unsigned int nRetryTimes)
 设置重传命令最大尝试次数 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_GetResendMaxRetryTimes (IN void *handle, IN OUT unsigned int *pnRetryTimes)
 获取重传命令最大尝试次数 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_SetResendTimeInterval (IN void *handle, IN unsigned int nMillisec)
 设置同一重传包多次请求之间的时间间隔 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_GetResendTimeInterval (IN void *handle, IN OUT unsigned int *pnMillisec)
 获取同一重传包多次请求之间的时间间隔 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_SetTransmissionType (IN void *handle, IN MV_TRANSMISSION_TYPE *pstTransmissionType)
 设置传输模式,可以为单播模式、组播模式等 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_IssueActionCommand (IN MV_ACTION_CMD_INFO *pstActionCmdInfo, IN OUT MV_ACTION_CMD_RESULT_LIST *pstActionCmdResults)
 发出动作命令 更多...
 
MV_CAMCTRL_API int __stdcall MV_GIGE_GetMulticastStatus (IN MV_CC_DEVICE_INFO *pstDevInfo, IN OUT bool *pbStatus)
 获取组播状态 更多...
 

详细描述

仅GigE相机支持的接口

函数说明

◆ MV_GIGE_SetEnumDevTimeout()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetEnumDevTimeout ( IN unsigned int  nMilTimeout)

设置枚举超时时间,仅支持GigE协议,范围:[1, UINT_MAX)

参数
nMilTimeout[IN] 超时时间,应为无符号整数,默认100ms
返回
成功,返回MV_OK;失败,返回状态码
备注
  • 在调用 MV_CC_EnumDevices() 等枚举接口前使用该接口,可设置枚举GIGE设备的网卡最大超时时间(默认100ms),可以减少最大超时时间,以加快枚举GIGE设备的速度。
  • 该接口仅支持输入无符号整数。
注解
该接口仅支持GigEVision设备。

◆ MV_GIGE_ForceIpEx()

MV_CAMCTRL_API int __stdcall MV_GIGE_ForceIpEx ( IN void *  handle,
IN unsigned int  nIP,
IN unsigned int  nSubNetMask,
IN unsigned int  nDefaultGateWay 
)

强制IP

参数
handle[IN] 设备句柄
nIP[IN] 设置的IP
nSubNetMask[IN] 子网掩码
nDefaultGateWay[IN] 默认网关
返回
成功,返回MV_OK;失败,返回状态码
备注
  • 强制设置设备网络参数(包括IP、子网掩码、默认网关),强制设置之后将需要重新创建设备句柄,支持GigEVision(MV_GIGE_DEVICE)设备和GenTL(MV_GENTL_GIGE_DEVICE)设备。
  • 如果设备为DHCP的状态,调用该接口强制设置设备网络参数之后设备将会重启。
示例
ForceIPEx.cpp.

◆ MV_GIGE_SetIpConfig()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetIpConfig ( IN void *  handle,
IN unsigned int  nType 
)

配置IP方式

参数
handle[IN] 设备句柄
nType[IN] IP类型,见MV_IP_CFG_x
宏定义 宏定义值 含义
MV_IP_CFG_STATIC 0x05000000 固定IP地址模式
MV_IP_CFG_DHCP 0x06000000 DHCP自动获取IP模式
MV_IP_CFG_LLA 0x04000000 LLA(Link-local address),链路本地地址
返回
成功,返回MV_OK;失败,返回状态码
备注
发送命令设置设备的IP方式,如DHCP、LLA等,仅支持GigEVision(MV_GIGE_DEVICE)和GenTl(MV_GENTL_GIGE_DEVICE)的设备。
示例
ForceIPEx.cpp.

◆ MV_GIGE_SetNetTransMode()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetNetTransMode ( IN void *  handle,
IN unsigned int  nType 
)

设置仅使用某种模式,type: MV_NET_TRANS_x,不设置时,默认优先使用driver

参数
handle[IN] 设备句柄
nType[IN] 网络传输模式,见MV_NET_TRANS_x
宏定义 宏定义值 含义
MV_NET_TRANS_DRIVER 0x00000001 驱动模式
MV_NET_TRANS_SOCKET 0x00000002 Socket模式
返回
成功,返回MV_OK;失败,返回状态码
备注
通过该接口可以设置SDK内部优先使用的网络模式,默认优先使用驱动模式,仅GigEVision设备支持。

◆ MV_GIGE_GetNetTransInfo()

MV_CAMCTRL_API int __stdcall MV_GIGE_GetNetTransInfo ( IN void *  handle,
IN OUT MV_NETTRANS_INFO pstInfo 
)

获取网络传输信息

参数
handle[IN] 设备句柄
pstInfo[IN][OUT] 信息结构体
返回
成功,返回MV_OK;失败,返回状态码
备注
通过该接口可以获取网络传输相关信息,包括已接收数据大小、丢帧数量等,在 MV_CC_StartGrabbing() 开启采集之后调用。仅GigEVision相机支持。

◆ MV_GIGE_SetDiscoveryMode()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetDiscoveryMode ( IN unsigned int  nMode)

设置枚举命令的回复包类型

参数
nMode[IN] 回复包类型(默认广播),0-单播,1-广播
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口只对GigE相机有效。

◆ MV_GIGE_SetGvspTimeout()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetGvspTimeout ( IN void *  handle,
IN unsigned int  nMillisec 
)

设置GVSP取流超时时间

参数
handle[IN] 设备句柄
nMillisec[IN] 超时时间,默认300ms,范围:>10ms
返回
成功,返回MV_OK;失败,返回状态码
备注
连接设备之后,取流动作发生前,调用该接口可以设置GVSP取流超时时间。GVSP取流超时设置过短可能造成图像异常,设置过长可能造成取流时间变长。

◆ MV_GIGE_GetGvspTimeout()

MV_CAMCTRL_API int __stdcall MV_GIGE_GetGvspTimeout ( IN void *  handle,
IN OUT unsigned int *  pnMillisec 
)

获取GVSP取流超时时间

参数
handle[IN] 设备句柄
pnMillisec[IN][OUT] 超时时间指针,以毫秒为单位
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口用于获取当前的GVSP取流超时时间

◆ MV_GIGE_SetGvcpTimeout()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetGvcpTimeout ( IN void *  handle,
IN unsigned int  nMillisec 
)

设置GVCP命令超时时间

参数
handle[IN] 设备句柄
nMillisec[IN] 超时时间(ms),默认500ms,范围:[0,10000]
返回
成功,返回MV_OK;失败,返回状态码
备注
连接设备之后调用该接口可以设置GVCP命令超时时间。

◆ MV_GIGE_GetGvcpTimeout()

MV_CAMCTRL_API int __stdcall MV_GIGE_GetGvcpTimeout ( IN void *  handle,
IN OUT unsigned int *  pnMillisec 
)

获取GVCP命令超时时间

参数
handle[IN] 设备句柄
pnMillisec[IN][OUT] 超时时间指针,以毫秒为单位
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口用于获取当前的GVCP超时时间。

◆ MV_GIGE_SetRetryGvcpTimes()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetRetryGvcpTimes ( IN void *  handle,
IN unsigned int  nRetryGvcpTimes 
)

设置重传GVCP命令次数

参数
handle[IN] 设备句柄
nRetryGvcpTimes[IN] 重传次数,范围:0-100
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口用于在GVCP包传输异常时,增加重传的次数,在一定程度上可以避免设备掉线,范围为0-100。

◆ MV_GIGE_GetRetryGvcpTimes()

MV_CAMCTRL_API int __stdcall MV_GIGE_GetRetryGvcpTimes ( IN void *  handle,
IN OUT unsigned int *  pnRetryGvcpTimes 
)

获取重传GVCP命令次数

参数
handle[IN] 设备句柄
pnRetryGvcpTimes[IN][OUT] 重传次数指针
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口用于获取当前的GVCP重传次数,默认3次。

◆ MV_CC_GetOptimalPacketSize()

MV_CAMCTRL_API int __stdcall MV_CC_GetOptimalPacketSize ( IN void *  handle)

获取最佳的packet size,该接口目前只支持GigE设备

参数
handle[IN] 设备句柄
返回
最佳packetsize
备注
  • 获取最佳的packet size,对应GigEVision设备是SCPS,对应U3V设备是每次从驱动读取的包大小,该大小即网络上传输一个包的大小。
  • 该接口需要在 MV_CC_OpenDevice() 之后、 MV_CC_StartGrabbing() 之前调用。
  • 该接口不支持CameraLink设备、U3V设备。
  • 该接口不支持GenTL设备(协议不支持),如果是GenTL方式添加的网口相机,建议根据网络实际情况配置GevSCPSPacketSize,或者配置1500。
示例
ChunkData.cpp, ConnectSpecCamera.cpp, Display.cpp, Events.cpp, Grab_Asynchronous.cpp, GrabImage.cpp, GrabImage_Callback.cpp, GrabImage_HighPerformance.cpp, GrabMultipleCamera.cpp, HighBandwidthDecode.cpp, ImageProcess.cpp, ImageSave.cpp, InterfaceAndDeviceDemo.cpp, LineScanSoftwareTrigger.cpp, MultiCast.cpp, MultiLightCtrl_ImageStitching.cpp, ParametrizeCamera_AreaScanIOSettings.cpp, ParametrizeCamera_LineScanIOSettings.cpp, ReconnectDemo.cpp, Trigger_Image.cpp , 以及 Trigger_ImageCallback.cpp.

◆ MV_GIGE_SetResend()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetResend ( IN void *  handle,
IN unsigned int  bEnable,
IN unsigned int  nMaxResendPercent,
IN unsigned int  nResendTimeout 
)

设置是否打开重发包支持,及重发包设置

参数
handle[IN] 设备句柄
bEnable[IN] 是否支持重发包
nMaxResendPercent[IN] 最大重发比
nResendTimeout[IN] 重发超时时间,范围:0-10000ms
返回
成功,返回MV_OK;失败,返回状态码
备注
连接设备之后调用该接口可以设置重发包属性,仅GigEVision设备支持。

◆ MV_GIGE_SetResendMaxRetryTimes()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetResendMaxRetryTimes ( IN void *  handle,
IN unsigned int  nRetryTimes 
)

设置重传命令最大尝试次数

参数
handle[IN] 设备句柄
nRetryTimes[IN] 重传命令最大尝试次数,默认20
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口必须在调用 MV_GIGE_SetResend() 开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER

◆ MV_GIGE_GetResendMaxRetryTimes()

MV_CAMCTRL_API int __stdcall MV_GIGE_GetResendMaxRetryTimes ( IN void *  handle,
IN OUT unsigned int *  pnRetryTimes 
)

获取重传命令最大尝试次数

参数
handle[IN] 设备句柄
pnRetryTimes[IN][OUT] 重传命令最大尝试次数
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口必须在调用 MV_GIGE_SetResend() 开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER。

◆ MV_GIGE_SetResendTimeInterval()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetResendTimeInterval ( IN void *  handle,
IN unsigned int  nMillisec 
)

设置同一重传包多次请求之间的时间间隔

参数
handle[IN] 设备句柄
nMillisec[IN] 同一重传包多次请求之间的时间间隔,默认10ms
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口必须在调用 MV_GIGE_SetResend() 开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER。

◆ MV_GIGE_GetResendTimeInterval()

MV_CAMCTRL_API int __stdcall MV_GIGE_GetResendTimeInterval ( IN void *  handle,
IN OUT unsigned int *  pnMillisec 
)

获取同一重传包多次请求之间的时间间隔

参数
handle[IN] 设备句柄
pnMillisec[IN][OUT] 同一重传包多次请求之间的时间间隔
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口必须在调用 MV_GIGE_SetResend() 开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER。

◆ MV_GIGE_SetTransmissionType()

MV_CAMCTRL_API int __stdcall MV_GIGE_SetTransmissionType ( IN void *  handle,
IN MV_TRANSMISSION_TYPE pstTransmissionType 
)

设置传输模式,可以为单播模式、组播模式等

参数
handle[IN] 设备句柄
pstTransmissionType[IN] 传输模式结构体
宏定义 宏定义值 含义
MV_GIGE_TRANSTYPE_UNICAST 0 单播
MV_GIGE_TRANSTYPE_MULTICAST 1 组播
MV_GIGE_TRANSTYPE_LIMITEDBROADCAST 2 表示局域网内广播
MV_GIGE_TRANSTYPE_SUBNETBROADCAST 3 表示子网内广播
MV_GIGE_TRANSTYPE_CAMERADEFINED 4 表示从相机获取
MV_GIGE_TRANSTYPE_UNICAST_DEFINED_PORT 5 表示用户自定义应用端接收图像数据Port号
MV_GIGE_TRANSTYPE_UNICAST_WITHOUT_RECV 00010000 表示设置了单播,但本实例不接收图像数据
MV_GIGE_TRANSTYPE_MULTICAST_WITHOUT_RECV 00010001 表示组播模式,但本实例不接收图像数据
返回
成功,返回MV_OK;失败,返回状态码
备注
通过该接口可以设置传输模式为单播、组播等模式,仅GigEVision设备支持。
示例
MultiCast.cpp.

◆ MV_GIGE_IssueActionCommand()

MV_CAMCTRL_API int __stdcall MV_GIGE_IssueActionCommand ( IN MV_ACTION_CMD_INFO pstActionCmdInfo,
IN OUT MV_ACTION_CMD_RESULT_LIST pstActionCmdResults 
)

发出动作命令

参数
pstActionCmdInfo[IN] 动作命令信息
pstActionCmdResults[IN][OUT] 动作命令返回信息列表
返回
成功,返回MV_OK;失败,返回状态码
备注
仅GigEVision设备支持。

◆ MV_GIGE_GetMulticastStatus()

MV_CAMCTRL_API int __stdcall MV_GIGE_GetMulticastStatus ( IN MV_CC_DEVICE_INFO pstDevInfo,
IN OUT bool *  pbStatus 
)

获取组播状态

参数
pstDevInfo[IN] 设备信息结构体
pbStatus[IN][OUT] 组播状态,true:组播状态,false:非组播
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口用于判断设备当前是否处于组播状态,解决客户端枚举时需要打开设备判断组播的问题。
仅支持标准GigE Vision设备。