Line Timeout#
如果您想将直到超时发生时采集的不完整帧(部分帧)发送到主机,这非常有用。
此功能仅适用于配备 GigE 接口的 Basler racer 2 S 相机。
该功能的使用#
运作原理#
如果启用了 Line Timeout 功能并且 LineTimeout 参数已设置,则行超时的计数将在发出最后一个行触发信号后立即开始。如果在 LineTimeout 参数设置的时间内未收到下一个行触发信号,则会发生以下情况:
- 仅传输执行命令时已采集的行,即作为部分帧传输到主机。
- 如果已启用该事件,则会生成行超时事件。
示例:运输测试对象的传送带意外停止会导致行超时到期,从而导致图像采集过程中断,因为不再接收到行触发信号。部分帧将被发送到主机以进行进一步处理。
设置 Line Timeout#
- 设置
BslLineTimeoutEnable参数至true. - 设置
BslLineTimeout参数设置为所需的微秒数。
在设置 BslLineTimeout 参数时请考虑以下因素:
- 以下参数的值 接触时间 应该小于
BslLineTimeout参数。 - 运输设备的速度 (例如传送带):
BslLineTimeout参数的值必须足够大。如果运输设备的速度发生变化,例如有时慢有时快,请确保LineTimeout参数值大于输送设备所需的最长时间。 - 定期停止 运输设备的作用。参数
LineTimeout值应大于定期停止所需的最长时间。
示例代码#
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK; /* Return value of pylon methods */
/* Enable the Line Timeout feature */
errRes = PylonDeviceSetBooleanFeature(hdev, "BslLineTimeoutEnable", 1);
CHECK(errRes);
/* Set the line timeout in microseconds */
errRes = PylonDeviceSetIntegerFeature(hdev, "BslLineTimeout", 1000000);
CHECK(errRes);
您也可以使用 pylon Viewer 轻松设置参数。