주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

start

DataAcquisition 백그라운드 작업 시작

설명

start(d)DataAcquisition 인터페이스 백그라운드 작업을 시작합니다. 입력 수집 및 출력 생성이 시작되는 시점은 채널 구성 및 사전 로드된 출력 데이터에 따라 달라집니다.

  • DataAcquisition 인터페이스에 입력 채널만 있는 경우 수집이 즉시 시작되어 스캔 데이터를 수집합니다. 이 데이터는 나중에 read 함수를 사용하여 액세스할 수 있습니다. 기본 스캔 기간은 1초입니다.

  • DataAcquisition 인터페이스에 출력 채널만 있는 경우, 데이터가 preload 함수로 이미 큐에 있으면 생성이 즉시 시작됩니다. 대기 중인 데이터가 없으면 write 함수로 데이터가 사용 가능해지면 출력이 시작됩니다.

  • DataAcquisition 인터페이스에 입력 및 출력 채널이 모두 있는 경우 입력 수집은 출력 생성과 동시에 시작되고 끝나므로 스캔 수가 동일합니다.

start(d,"Continuous")는 백그라운드 작업을 지속적으로 실행합니다. preload 함수에서 이미 사용 가능한 데이터가 있는 경우 모든 입력 채널에서 수집과 함께 출력 생성이 즉시 시작됩니다. 그렇지 않은 경우 write를 실행할 때 수집이 시작됩니다. stop를 호출할 때까지 작업이 계속됩니다. 출력 스캔 데이터가 생성되거나 입력 스캔 데이터가 수집되면 DataAcquisition 백그라운드 작업이 실행되는 동안 write 또는 read를 호출해야 할 수도 있습니다.

start(d,"RepeatOutput")는 백그라운드 작업을 시작하여 출력 스캔 데이터의 반복 루프에서 주기적 출력을 생성합니다. preload 함수에서 이미 사용 가능한 데이터가 있는 경우 모든 입력 채널에서 수집과 함께 출력 생성이 즉시 시작됩니다. 그렇지 않은 경우, write를 실행할 때 생성 및 수집이 시작됩니다. stop를 호출할 때까지 작업이 계속됩니다. 입력 스캔 데이터가 수집되고 있는 경우 DataAcquisition 백그라운드 작업이 실행되는 동안 read를 호출해야 할 수도 있습니다.

start(d,"Duration",span) 또는 start(d,"NumScans",span)는 스캔 횟수나 지속 시간으로 지정된 유한한 시간 동안 백그라운드 입력 수집을 실행합니다. DataAcquisition 인터페이스에 출력 채널이 있는 경우 시작은 발생하지만 지속 시간 지정은 무시됩니다.

예제

예제

모두 축소

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 인터페이스는 daq 함수를 사용하여 생성된 DataAcquisition 객체로 지정됩니다.

예: d = daq()

백그라운드 작업의 길이로, duration형 또는 double형으로 지정됩니다. "Duration"의 경우 기간 유형을 지정합니다. 기간을 double로 지정하면 값은 초로 간주됩니다. "NumScans"의 경우 스캔 횟수를 나타내는 double을 지정합니다. 기본 기간은 1초입니다.

예: start(d,"NumScans",5) % acquisition runs for 5 scans

예: start(d,"Duration",seconds(5)) % acquisition runs for 5 seconds

예: start(d,"Duration",3) % acquisition runs for 3 seconds

데이터형: double | duration

버전 내역

R2020a에 개발됨