В этом примере показано, как получить цифровые данные на переднем плане с помощью внешнего синхроимпульса скана.
Можно использовать генератор функций или встроенный синхроимпульс от цифровой схемы. Здесь функциональный генератор физически подключен к терминальному PFI9 на устройстве NI 6255.
Создайте объект DataAcquisition и добавьте выхода линии в порте 0
линейная 2
на Dev1
.
d = daq("ni"); ch = addinput(d,"Dev1","Port0/Line2","Digital")
ch = Index Type Device Channel Measurement Type Range Name _____ _____ ______ _____________ ________________ _____ __________________ 1 "dio" "Dev1" "port0/line2" "InputOnly" "n/a" "Dev1_port0/line2"
Примечание
Не все устройства поддерживают операции цифрового ввода-вывода с тактовой частотой с аппаратной синхронизацией. Для этих устройств вы можете использовать программные таймированные операции с одинарными вызовами скана на read
и write
.
Устройства, поддерживающие операции цифрового ввода-вывода с тактовой частотой, могут не поддерживать их на всех портах. Проверьте спецификации вашего устройства.
Установите скорость вашего DataAcquisition в соответствии с ожидаемой частотой часов внешнего скана.
d.Rate = 1000;
Примечание
Импорт внешнего синхроимпульса не устанавливает автоматическую скорость скана вашего DataAcquisition. Установите вручную Rate
DataAcquisition значение свойства, соответствующее ожидаемой внешней тактовой частоте.
Программно добавьте часы скана к DataAcquisition, указав источник как внешний, а целевой как терминал устройства PFI9
.
clk = addclock(d,"ScanClock","External","Dev1/PFI9")
clk = Clock with properties: Source: 'External' Destination: 'Dev1/PFI9' Type: ScanClock
Получите синхронизированные цифровые данные и постройте график.
dataIn = read(d,seconds(1),"OutputFormat","Matrix"); plot(dataIn(1:100,1))