KSJAPI SDK · 触发控制

版本 1.0 · 更新于 2026-10-21 · 阅读 0

触发模式、外触发条件、编码器、触发延时与分频、开始结束模式、固定帧率、帧数与缓存状态。

本组接口来自 KSJApiTriggerMode.h。触发模式决定相机何时采图,是工业检测最常用的配置。

函数一览

函数 说明
KSJ_TriggerModeSet 设置相机触发模式。
KSJ_TriggerModeGet 获取当前触发模式。
KSJ_TriggerMethodSet 设置外触发条件(上升沿 / 下降沿 / 高电平 / 低电平)。
KSJ_TriggerMethodGet 获取当前外触发条件。
KSJ_TriggerStatusGet 读取相机帧缓存状态(KSJ_HAVE 表示有帧可读)。
KSJ_EmptyFrameBuffer 清空帧缓存中的数据。
KSJ_GetFixedFrameRateRang 获取固定帧率的可设置范围。
KSJ_SetFixedFrameRateEx 设置固定帧率(单位:帧/秒)。
KSJ_GetFixedFrameRateEx 获取当前设置的固定帧率。
KSJ_EncoderDirectionSet 设置编码器触发方向(正向 / 反向 / 双向)。
KSJ_EncoderDirectionGet 获取编码器触发方向。
KSJ_EncoderReversalSet 设置编码器反向防抖脉冲数(转向时脉冲数小于该值不触发采图)。
KSJ_EncoderReversalGet 获取编码器反向防抖脉冲数。
KSJ_TriggerDelayGetRange 获取外触发延时范围(计数步长 100μs)。
KSJ_TriggerDelaySet 设置外触发延时(值 ×100μs 为实际延时)。
KSJ_TriggerDelayGet 获取外触发延时(单位 100μs)。
KSJ_TriggerSignalPeriodGetRange 获取外触发分频范围。
KSJ_TriggerSignalPeriodSet 设置外触发分频(几个外触发信号触发采集一帧)。
KSJ_TriggerSignalPeriodGet 获取外触发分频值。
KSJ_StartEndModeSet 设置相机开始结束采集工作的控制模式(KSJ_STARTENDMODE)。
KSJ_StartEndModeGet 获取相机开始结束采集工作控制模式。
KSJ_CaptureStartDelayGetRange 获取相机开始延时设置范围。
KSJ_CaptureStartDelaySet 设置相机开始延时(单位:信号数)。
KSJ_CaptureStartDelayGet 获取相机开始延时。
KSJ_CaptureStartFilterRange 获取相机开始结束信号滤波范围(微秒)。
KSJ_CaptureStartFilterSet 设置相机开始结束信号滤波(微秒)。
KSJ_CaptureStartFilterGet 获取相机开始结束信号滤波值。
KSJ_CaptureMultiLineRange 获取采集帧数量的设置范围。
KSJ_CaptureMultiLineSet 设置采集帧数量(配合开始结束模式使用)。
KSJ_CaptureMultiLineGet 获取当前设置的采集帧数量。
KSJ_CaptureSoftwareStart 软件控制相机开始采集(开始结束模式为 KSJ_SEMODE_SOFTWARE 时有效)。

关键函数详解

KSJ_TriggerModeSet

int __stdcall KSJ_TriggerModeSet(int nIndex, KSJ_TRIGGERMODE TriggerMode);

设置相机触发模式。

参数 方向 说明
nIndex in 相机索引
TriggerMode in 触发模式(KSJ_TRIGGERMODE)

返回:成功返回 RET_SUCCESS;不支持的模式返回 RET_NOTSUPPORT

说明

  • 模式:内触发 / 外触发 / 软触发 / 固定帧率 / 高低电平固定帧率 / 编码器。

KSJ_SetFixedFrameRateEx

int __stdcall KSJ_SetFixedFrameRateEx(int nIndex, float fFrameRate);

设置固定帧率(单位:帧/秒)。

返回:成功返回 RET_SUCCESS;条件不符返回 RET_NOTSUPPORT

说明

  • 只有在触发模式为固定帧率或高低电平固定帧率时才能调用,否则返回 RET_NOTSUPPORT。

KSJ_TriggerSignalPeriodSet

int __stdcall KSJ_TriggerSignalPeriodSet(int nIndex, float fPeriodCount);

设置外触发分频(几个外触发信号触发采集一帧)。

返回:成功返回 RET_SUCCESS(1)

说明

  • 例如设为 2,则两个外触发信号采集一帧;目前仅整数有效,最小值为 1。

KSJ_CaptureSoftwareStart

int __stdcall KSJ_CaptureSoftwareStart(int nIndex);

软件控制相机开始采集(开始结束模式为 KSJ_SEMODE_SOFTWARE 时有效)。

返回:成功返回 RET_SUCCESS(1)

说明

  • 执行后相机进入采集模式,直到采集足够 MultiLine 帧后结束。