В этом примере показано, как получить синхронизируемые данные из двух устройств PCI. Синусоида соединяется с каналом 0 из NI PCI-6251 и образовывать канал 0 из NI PCIe-6363. Синхронизируемая операция проверяется путем демонстрации нулевой задержки фазы между полученными сигналами.
Создайте DataAcquisition и добавьте входные каналы напряжения аналогового входа из NI PCI-6251 и NI устройства PCIe-6363.
dd = daq("ni"); addinput(dd,"Dev3","ai0","Voltage"); addinput(dd,"Dev4","ai0","Voltage");
Используйте read
команда, чтобы запустить приобретение.
[data,time] = read(dd,seconds(1),"OutputFormat","Matrix"); plot(time, data)
Между двумя входными параметрами канала существует маленькая задержка фазы. DataAcquisition запускает два канала близко друг к другу, но устройства не совместно используют часов и инициировали информацию и поэтому не полностью синхронизируются.
Соедините устройства PCI с помощью RTSI® (Интегрирование Системы реального времени) кабель и укажите его в Measurement & Automation Explorer®. Чтобы синхронизировать приобретение, совместно используйте часы скана и запустите триггер между этими двумя устройствами.
Выберите Source и Destination Devices
Устройство, которое обеспечивает управление и синхронизирующие сигналы, называется исходным устройством, и устройство, которое получает эти сигналы, называется устройством назначения. В этом примере, Dev3
исходное устройство и Dev4
устройство назначения.
Кабель RTSI создает физическое соединение между RTSI0
терминал на Dev3
и RTSI0
терминал на Dev4
. Используйте эту связь, чтобы совместно использовать триггер запуска между исходными устройствами и устройствами назначения.
Используйте addtrigger
чтобы добавить цифровой запуск инициировали от 'RTSI0/PFI3'
(источник) к 'RTSI0/Dev4'
(место назначения).
addtrigger(dd,"Digital","StartTrigger","Dev3/RTSI0","Dev4/RTSI0");
Используйте addclock
совместно использовать часы скана с помощью RTSI1
терминальная связь.
addclock(dd,"ScanClock","Dev3/RTSI1","Dev4/RTSI1");
Используйте read
получать данные.
[data,time] = read(dd,seconds(1)); plot(time,data)
Эти две синусоиды перекрываются с нулевой задержкой фазы, подтверждая, что устройства полностью синхронизируются.