此示例显示如何从两个PCI设备获取同步数据。正弦波连接到NI PCI-6251的通道0和NI PCIe-6363的通道0。通过演示所获取信号之间的零相位滞后来验证同步操作。
从NI PCI-6251和NI PCIe-6363设备创建数据采集并添加模拟输入电压输入通道。
dd=数据采集卡(“倪”);附加输入(dd,“Dev3”,“ai0”,“电压”);附加输入(dd,“Dev4”,“ai0”,“电压”);
使用阅读
命令启动采集。
[数据,时间]=读取(dd,秒数(1),“输出格式”,“矩阵”);绘图(时间、数据)
两个通道输入之间有一个小的相位滞后。数据采集将两个通道紧密地启动,但设备不共享任何时钟和触发信息,因此不完全同步。
使用RTSI®(实时系统集成)电缆连接PCI设备,并将其注册到Measurement&Automation Explorer®中。要同步采集,请在两个设备之间共享扫描时钟和启动触发器。
选择源设备和目标设备
提供控制和定时信号的设备称为源设备,接收这些信号的设备称为目标设备。在本例中,Dev3
是源设备和Dev4
是目标设备。
RTSI电缆在两个端口之间创建物理连接RTSI0
终端Dev3
和RTSI0
终端Dev4
。使用此连接可在源设备和目标设备之间共享启动触发器。
使用添加触发器
从中添加数字启动触发器的步骤“RTSI0/PFI3”
(来源)至“RTSI0/Dev4”
(目的地)。
addtrigger(dd,“数字”,“StartTrigger”,“Dev3/RTSI0”,“Dev4/RTSI0”);
使用加时钟
使用RTSI1
终端连接。
addclock(dd,“扫描时钟”,“Dev3/RTSI1”,“Dev4/RTSI1”);
使用阅读
获取数据。
[数据,时间]=读取(dd,秒(1));绘图(时间,数据)
两个正弦波重叠,相位滞后为零,确认设备完全同步。