使用RTSI同步NI PCI设备
本示例演示如何从两个PCI设备获取同步数据。一条正弦波连接到NI PCI-6251的0号通道和NI pci -6363的0号通道。通过演示采集信号之间的零相位滞后来验证同步操作。
创建数据采集和添加模拟输入通道
创建DataAcquisition,添加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));情节(时间、数据)
两个正弦波重叠,相位滞后为零,证实设备完全同步。