取消Halcon连接相机在外触发模式下的超时时间

取消Halcon连接相机在外触发模式下的超时时间

HALCON为大量的图像采集设备提供了接口,包括GenlCam,GigE和IIDC 1394,且支持众多品牌的相机。在日常的测试中,经常会利用halcon的图像获取助手Image Acquisition直接采集图像,或将图像采集部分的代码直接应用到测试程序或项目中。
在使用Halcon图像助手采集图像时,如果是使用的外触发,且在相机默认参数下,如果短时间内没有采集到图像,则会报错,如下图:
取消Halcon连接相机在外触发模式下的超时时间_第1张图片
这是由于采集图像超时导致的,在Halcon对相机设置的算子中,有“grab_timeout”这样一个参数,就是用来对超时时间进行设置的。Halcon默认值为5000,单位毫秒,因此如果在外触发模式下采集图像,5秒内没有获取到触发信号,则会返回错误报警。
在Halcon的帮助文档中没有对该参数进行详细的介绍,其实这个参数值可以设置为-1,当设置为-1时,相机会一直等待外触发信号,即不存在超时时间,因此也就不会再报错。
具体代码如下:

open_framegrabber ('GigEVision', 0, 0, 0, 0, 0, 0, 'default', -1, 'default', -1, 'false', 'default', 'ZM', 0, -1, AcqHandle)
set_framegrabber_param (AcqHandle, 'TriggerMode', 'On')
set_framegrabber_param (AcqHandle, 'TriggerSource', 'Line0')
set_framegrabber_param (AcqHandle, 'grab_timeout', -1)
grab_image_start (AcqHandle, -1)
while (true)
    grab_image_async (Image, AcqHandle, -1)
endwhile
close_framegrabber (AcqHandle)

水平有限,难免有错误和不足之处,恳请批评指正。

你可能感兴趣的:(Halcon)