Получение цифровых данных с использованием внешних часов

В этом примере показано, как получить цифровые данные на переднем плане с помощью внешнего синхроимпульса скана.

Sharing an external sampling clock

Можно использовать генератор функций или встроенный синхроимпульс от цифровой схемы. Здесь функциональный генератор физически подключен к терминальному 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))

Похожие темы