В этом примере показано, как получить цифровые данные на переднем плане при помощи внешних часов скана.
Можно использовать функциональный преобразователь или встроенные часы от цифровой схемы. Здесь, функциональный преобразователь физически соединен к терминалу 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"
Примечание
Не вся поддержка устройств синхронизировала цифровые операции I/O с аппаратной синхронизацией. Для этих устройств можно использовать синхронизированные операции программного обеспечения с одним вызовами скана read
и write
.
Устройства, которые поддерживают синхронизированные цифровые операции I/O, не могут поддержать их на всех портах. Проверяйте свои спецификации устройств.
Установите уровень своего DataAcquisition к ожидаемому уровню ваших внешних часов скана.
d.Rate = 1000;
Примечание
Импорт внешнего таймера автоматически не устанавливает частоту развертки вашего DataAcquisition. Вручную установите DataAcquisition Rate
значение свойства, чтобы совпадать с ожидаемой частотой внешнего таймера.
Программно добавьте часы скана в свой 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))