主要内容

使用触发器

本示例演示如何使用不同类型的触发以及如何配置其他触发器属性。

配置触发属性

要获得可配置触发器设置的列表,请使用TRIGGERINFO函数和视频输入对象。TRIGGERINFO将返回与视频输入对象相关联的图像采集设备支持的所有可能的触发器配置。金宝app可能的配置包括有效的触发器类型、触发器条件和触发器源组合。

注意:所有图像采集设备都支持即时触发和手动触发类型。金宝app硬件触发类型只有在图像采集设备支持时才可用。金宝app

%访问图像采集设备。vidobj = videoinput (“matrox”1);%显示所有有效的触发器配置。triggerinfo (vidobj)
有效的触发器配置:TriggerType: TriggerCondition: TriggerSource:'immediate' '无' 'none' 'manual' 'none' 'none' 'hardware' 'fallingEdge' 'digitalTrigger' 'hardware' 'fallingEdge' 'optoTrigger' 'hardware' 'fallingEdge' 'timer1' 'hardware' 'fallingEdge' 'timer2' 'hardware' 'risingEdge' 'digitalTrigger' 'hardware' 'risingEdge' 'timer1' 'hardware' 'risingEdge' 'timer2' '

要配置图像采集设备的触发设置,请使用具有所需触发类型,触发条件和触发源的TriggerConfig函数。

triggerconfig (vidobj'硬件'“fallingEdge”“optoTrigger”%查看当前触发器配置。CurrentConfiguration = TriggerConfig(Vidobj)
currentConfiguration = TriggerType: 'hardware' TriggerCondition: 'fallingEdge' TriggerSource: 'optoTrigger'

注意:配置触发器设置需要指定一个唯一的配置。如果指定触发器类型唯一地标识一个配置,则不需要向TRIGGERCONFIG提供进一步的参数。

硬件触发器是唯一通常具有多个有效配置的触发器类型。

立即引发

默认情况下,视频输入对象的触发类型被配置为立即触发。立即触发表示一旦发出START函数,就开始进行数据日志记录。

%配置触发类型。triggerconfig (vidobj'即时'发起收购。开始(vidobj)等待收购结束。等待(vidobj 2)%确定获得的数字帧。frameslogged = vidobj.FramesAcquired;
FRAMESLOGGED = 10.

手动触发

手动触发要求在开始数据记录之前发出TRIGGER功能。

%配置触发类型。triggerconfig (vidobj“手动”发起收购。开始(vidobj)%确认没有记录任何帧。frameslogged = vidobj.FramesAcquired;
FramesLogged = 0.
%触发收购。触发(vidobj)%等待收购结束。等待(vidobj 2);%确定获得的数字帧。frameslogged = vidobj.FramesAcquired;
FRAMESLOGGED = 10.

硬件触发

一旦通过触发器源满足触发器条件,硬件触发就开始记录数据。

在这个例子中,我们从函数发生器连接了一个光隔离触发器到我们的图像采集设备。图像采集设备在检测到来自信号源的下降沿信号后将开始记录数据。

%配置触发器设置。triggerconfig (vidobj'硬件'“fallingEdge”“optoTrigger”

最初,没有信号从源发送到图像采集设备。

发起收购。开始(vidobj)%验证已获取。frameslogged = vidobj.FramesAcquired;
FramesLogged = 0.

方波信号将从触发源发送到图像采集设备。

%等待收购结束。等待(vidobj 10)%已获取验证帧。frameslogged = vidobj.FramesAcquired;
FRAMESLOGGED = 10.
%一旦视频输入对象不再需要,删除%并将其从工作区中清除。删除(vidobj)清晰vidobj