exponenta event banner

начать

Запуск фоновой операции DataAcquisition

Описание

пример

start(d) запускает фоновую операцию интерфейса DataAcquisition. Когда начинается ввод и генерация выходных данных, зависит от конфигурации канала и предварительно загруженных выходных данных:

  • Если DataAcquisition имеет только входные каналы, сбор начинается немедленно, собирая данные сканирования, доступ к которым можно получить позже с помощью read функция. Продолжительность сканирования по умолчанию составляет 1 секунду.

  • Если интерфейс DataAcquisition имеет только выходные каналы, генерация начинается немедленно, если данные уже поставлены в очередь с preload функция. Если данные не поставлены в очередь, вывод начинается, когда данные становятся доступными с помощью write функция.

  • Если DataAcquisition имеет как входной, так и выходной каналы, сбор входных данных начинается и заканчивается одновременно с генерацией выходных данных, что приводит к такому же количеству сканирований.

start(d,"Continuous") запуск фоновой операции в непрерывном режиме. Если данные уже доступны из preload функция, формирование выходного сигнала начинается немедленно вместе с получением на любых входных каналах. В противном случае ввод начинается при выполнении write. Операция продолжается до вызова stop. При создании выходных данных сканирования или получении входных данных сканирования может потребоваться вызов write или read во время выполнения DataAcquisition.

start(d,"RepeatOutput") запускает фоновую операцию, генерируя периодические выходные данные в повторяющемся цикле выходных данных сканирования. Если данные уже доступны из preload функция, формирование выходного сигнала начинается немедленно вместе с получением на любых входных каналах. В противном случае генерация и ввод в эксплуатацию начинаются при выполнении write. Операция продолжается до вызова stop. При получении входных данных сканирования может потребоваться вызов read во время выполнения DataAcquisition.

start(d,"Duration",span) или start(d,"NumScans",span) запускает фоновый сбор данных для выполнения в течение ограниченного промежутка времени, заданного как длительность или количество сканирований.

Примеры

свернуть все

При инициировании фонового получения с помощью start функция, использование read для импорта данных.

d = daq("ni");
ch = addinput(d,"Dev1",1:2,"Voltage")
start(d,"NumScans",5)
Background operation has started.
Background operation will stop after 0.005 s.
To read acquired scans, use read.
scanData = read(d,"all")
scanData =

  5×2 timetable

      Time       Dev1_ai1    Dev1_ai2
    _________    ________    ________

    0 sec        0.012466    0.023977
    0.001 sec    0.019373    0.023319
    0.002 sec    0.021017     0.02299
    0.003 sec    0.021346     0.02299
    0.004 sec    0.022661    0.023648

Определите и предварительно загрузите данные для вывода устройства, затем запустите генерацию вывода для повторения в фоновом режиме при продолжении MATLAB.

d = daq("ni");
addoutput(d,"Dev1",1,"Voltage");
signalData = sin((1:1000)*2*pi/1000); 
preload(d,signalData') % Column of data for one channel
start(d,"RepeatOutput")
% Device output now repeated while MATLAB continues.
stop(d)

Входные аргументы

свернуть все

Интерфейс DataAcquisition, указанный как DataAcquisition объект, созданный с помощью daq функция.

Пример: d = daq()

Продолжительность фоновой операции, заданная как длительность или двойная. Для "Duration" указать тип длительности; для "NumScans" укажите двойное число сканирований. Значение по умолчанию - 1 секунда.

Пример: seconds(5)

Типы данных: double | duration

См. также

Функции

Представлен в R2020a