主要内容

同步一个倪抓帧器和数据采集卡

这个例子显示了如何同步开始使用图像采集的图像和数据采集工具箱™,数据采集工具箱™,倪®RTSI设备能力。

常常需要两个或两个以上的采集板紧密同步。例如,您可以记录电压从一个模拟传感器,如应变仪,以及同步的视频在一个实验。同步/触发信号,你可以使用一个RTSI电缆之间的可靠连接你的NI pci - 6229数据采集卡和作为pcie - 1430抓帧器。

配置数据采集板

使用数据采集工具箱,创建模拟输入对象记录电压应变计和设置参数的收购。

%创建对象。d =采集(“倪”);%为记录应变添加一个频道。ai = addinput (d,“Dev1”,“ai0”,“电压”);%设置采样率为10000 Hz。d。率= 10000;

接下来,配置DataAcquisition对象hardware-triggered收购使用RTSI1终端作为外部触发源。

addtrigger (d,“数字”,“StartTrigger”,“外部”,“Dev1 / RTSI1”);d.DigitalTriggers (1)。条件=“RisingEdge”;

配置图像采集板

使用图像采集工具,创建视频输入对象记录视频和设置参数采集和驾驶RTSI1收购开始时高。

%创建对象。vid = videoinput (“倪”2);%将获得大约一秒钟的帧/触发。从视频。FramesPerTrigger = 30;

为了把数据采集卡的RTSI线,您需要设置正确的线和极性抓帧器。此外,您需要确定什么抓帧器事件将推动RTSI线。你可以看到一个可用的事件列表通过查看特定于设备的源属性,以“动力传动系统”和“DrivePolarity”:

%得到当前选择的来源。src = getselectedsource (vid);%显示属性和其可能的设置。集(src)
一般设置:标签设备特定属性:AcquisitionDoneDriveLine:[{一}| external0 | rtsi0 | rtsi1 | rtsi2 | rtsi3 | rtsi4 | rtsi5 | rtsi6] AcquisitionDoneDrivePolarity: [{activeHigh} | activeLow] AcquisitionInProgressDriveLine:[{一}| external0 | rtsi0 | rtsi1 | rtsi2 | rtsi3 | rtsi4 | rtsi5 | rtsi6] AcquisitionInProgressDrivePolarity: [{activeHigh} | activeLow] ExternalTriggerLineFilter:[从| {}]FrameDoneDriveLine:[{一}| external0 | rtsi0 | rtsi1 | rtsi2 | rtsi3 | rtsi4 | rtsi5 | rtsi6] FrameDoneDrivePolarity: [{activeHigh} | activeLow] FrameStartDriveLine:[{一}| external0 | rtsi0 | rtsi1 | rtsi2 | rtsi3 | rtsi4 | rtsi5 | rtsi6] FrameStartDrivePolarity: [{activeHigh} | activeLow] HSyncDriveLine:[{一}| external0 | rtsi0 | rtsi1 | rtsi2 | rtsi3 | rtsi4 | rtsi5 | rtsi6] HSyncDrivePolarity: [{activeHigh} | activeLow] RTSITriggerLineFilter:[从| {}]VSyncDriveLine:[{一}| external0 | rtsi0 | rtsi1 | rtsi2 | rtsi3 | rtsi4 | rtsi5 | rtsi6] VSyncDrivePolarity: [{activeHigh} | activeLow]

在这种情况下,你想开车RTSI 1号线高当收购进展。这将确保直线驱动高一旦开始收购。要做到这一点,您需要设置的收购进度驱动系“rtsi1”:

%将RTSI1采集开始时高。src。AcquisitionInProgressDriveLine =“rtsi1”;

看着上面的输出中,可以看到,极性的收购事件进展已经设置为“activeHigh”,所以你不需要设置。

注意线的最大数量,你可以开车是依赖于硬件和设备之间可能会有所不同。

此时,您将获得大约一秒钟的数据从图像采集设备启动时每个设备。

开始收购

您现在可以开始模拟输入对象,获得一秒默认的数据。看到它是等待硬件触发。

(d) d.WaitingForDigitalTrigger开始
ans =逻辑1

您现在可以显示视频输入对象的概述和看到它设置触发后立即开始。

从视频
总结视频输入对象使用“作为pcie - 1430”。采集源(s):通道0是可用的。采集参数:“通道0”是当前选中的源。30帧/触发使用选定的来源。“img0_Port0”视频数据被记录在开始。首先抓住每帧(s)。日志数据触发“记忆”。触发参数:1“立即”触发(s)开始。状态:等待开始。0帧开始以来获得的。 0 frames available for GETDATA.

当你开始视频输入对象,它将立即被触发,并开始收购。在那一刻,抓帧器将发出一个信号数据采集卡在RTSI 1号线,这将导致数据采集开始几乎同步。

开始(vid)%等对象,直到你完成收购。等待(vid),等待(d, 2)

显示一个汇总的收购

如果你现在显示一个总结你会发现设备获取数据。

d.NumScansAcquired
ans = 10000

和:

从视频
总结视频输入对象使用“作为pcie - 1430”。采集源(s):通道0是可用的。采集参数:“通道0”是当前选中的源。30帧/触发使用选定的来源。“img0_Port0”视频数据被记录在开始。首先抓住每帧(s)。日志数据触发“记忆”。触发参数:1“立即”触发(s)开始。状态:等待开始。30帧开始以来获得的。 30 frames available for GETDATA.

清理的对象

一旦视频输入和模拟输入对象不再需要,删除他们,清楚他们和参考源的工作区。

删除(vid)清晰从视频dsrc