Синхронизируйте устройства PCI NI с помощью RTSI

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

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

Создайте сеанс и добавьте каналы аналогового входа с типом измерения Voltage, с помощью Национального Instruments® PCI 6251 и NI PCIe-6363.

s = daq.createSession('ni');
addAnalogInputChannel(s,'Dev3', 0, 'Voltage');
addAnalogInputChannel(s,'Dev4', 0, 'Voltage');

Получите Данные без любой Настройки Синхронизации

Используйте команду startForeground, чтобы запустить приобретение.

[data,time] = s.startForeground();
plot(time, data)

Между двумя входными параметрами канала существует маленькая задержка фазы. Сеанс запускает два канала близко друг к другу, но устройства не совместно используют часов и инициировали информацию и поэтому не будут отлично синхронизироваться. В этом случае приобретения являются почти одновременным приобретением. Чтобы синхронизировать их отлично совместно используют часы и инициировали информацию.

Аппаратные связи Setup

Соедините устройства PCI с помощью RTSI® (Интегрирование Системы реального времени) кабель и укажите его в Measurement & Automation Explorer®. Чтобы синхронизировать приобретение совместно используют часы сканирования и запускают триггер между этими двумя устройствами.

Выбор исходных устройств и устройств назначения

Устройство, которое обеспечивает управление и синхронизирующие сигналы, называется исходным устройством, и устройство, которое получает эти сигналы, называется устройством назначения. В этом примере мы выбираем Dev3 в качестве Исходного устройства и Dev4 как Устройство назначения.

Добавьте запускают триггерные связи с сеансом

Кабель RTSI создает физическое соединение между терминалом RTSI0 на Dev3 и терминалом RTSI0 на Dev4. Используйте эту связь, чтобы совместно использовать триггер запуска между этими устройствами.

Добавьте триггерную связь запуска с сеансом с помощью addTriggerConnection. В этом примере, набор источник как 'RTSI0/PFI3' и место назначения как 'RTSI0/Dev4'.

addTriggerConnection(s,'Dev3/RTSI0','Dev4/RTSI0','StartTrigger');

Добавьте связи часов сканирования с сеансом

Так же используйте связь терминала RTSI1 между этими двумя устройствами, чтобы совместно использовать часы сканирования. Добавьте связь часов сканирования с сеансом с помощью addClockConnection.

addClockConnection(s,'Dev3/RTSI1','Dev4/RTSI1','ScanClock');

Для быстрых сводных данных типа связей

s.Connections
ans = 


Connections added to session.
   index     Type       Source   Destination
   ----- ------------ ---------- -----------
   1     StartTrigger Dev3/RTSI0 Dev4/RTSI0
   2     ScanClock    Dev3/RTSI1 Dev4/RTSI1

Получите данные с синхронизацией

Используйте startForeground, чтобы запустить приобретение.

[data,time] = s.startForeground();
plot(time, data)

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

Для просмотра документации необходимо авторизоваться на сайте