Синхронизируйте устройства PCI NI Используя RTSI

В этом примере показано, как получить синхронизируемые данные из двух устройств PCI. Синусоида соединяется с каналом 0 из NI PCI-6251 и образовывать канал 0 из NI PCIe-6363. Синхронизируемая операция проверяется путем демонстрации нулевой задержки фазы между полученными сигналами.

Создайте DataAcquisition и добавьте канал аналогового входа

Создайте 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)

Эти две синусоиды перекрываются с нулевой задержкой фазы, подтверждая, что устройства полностью синхронизируются.