Этот пример показывает, как получить синхронизируемые данные из двух устройств 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)
Между двумя входными параметрами канала существует маленькая задержка фазы. Сеанс запускает два канала близко друг к другу, но устройства не совместно используют часов и инициировали информацию и поэтому не будут отлично синхронизироваться. В этом случае приобретения являются почти одновременным приобретением. Чтобы синхронизировать их отлично совместно используют часы и инициировали информацию.
Соедините устройства 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)
Эти две синусоиды накладываются с нулевой задержкой фазы, подтверждающей, что ваши устройства полностью синхронизируются.