这个例子展示了如何从两个PCI设备获取同步数据。一个正弦波连接到NI PCI-6251的0通道和NI pci -6363的0通道。通过证明所采集信号之间的零相位延迟来验证同步操作。
创建数据采集,并从NI PCI-6251和NI pci -6363设备添加模拟输入电压输入通道。
dd =采集(“倪”);addinput (dd,“Dev3”,“ai0”,“电压”);addinput (dd,“Dev4”,“ai0”,“电压”);
使用读
命令启动获取。
(数据、时间)=阅读(dd,秒(1),“OutputFormat”,“矩阵”);情节(时间、数据)
在两个通道输入之间有一个小的相位滞后。DataAcquisition紧密地启动两个通道,但是设备不共享任何时钟和触发器信息,因此没有完全同步。
使用RTSI®(实时系统集成)电缆连接PCI设备,并在Measurement & Automation Explorer®中注册。为了同步采集,在两个设备之间共享一个扫描时钟和启动触发器。
选择源设备和目的设备
提供控制和定时信号的设备称为源设备,接收这些信号的设备称为目标设备。在这个例子中,Dev3
源设备是否和Dev4
为目标设备。
RTSI电缆在两个设备之间建立了物理连接RTSI0
终端上Dev3
和RTSI0
终端上Dev4
.使用此连接可在源设备和目标设备之间共享启动触发器。
使用addtrigger
增加一个数字启动触发器“RTSI0 / PFI3”
(来源)“RTSI0 / Dev4”
(目的地)。
addtrigger (dd,“数字”,“StartTrigger”,“Dev3 / RTSI0”,“Dev4 / RTSI0”);
使用addclock
共享扫描时钟使用RTSI1
终端连接。
addclock (dd,“ScanClock”,“Dev3 / RTSI1”,“Dev4 / RTSI1”);
使用读
获取数据。
(数据、时间)=阅读(dd,秒(1));情节(时间、数据)
两个正弦波重叠,相位滞后为零,这证实了设备完全同步。