주요 콘텐츠

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

startBackground

(권장하지 않음) 백그라운드 작업 시작

session 객체 함수는 권장되지 않습니다. 대신 DataAcquisition 객체 함수를 사용하십시오. 버전 내역 항목을 참조하십시오.

설명

startBackground(s);는 MATLAB 명령줄 및 다른 코드의 실행을 차단하지 않고 세션 객체 s의 작동을 시작합니다. MATLAB의 실행을 차단하려면 startForeground를 사용하십시오.

아날로그 입력 채널에서 startBackground(s)를 사용할 경우, 이 작업은 DataAvailable 이벤트를 통해 수집된 데이터를 전달합니다. 이 이벤트는 수집이 진행 중인 동안 주기적으로 발생합니다. 자세한 내용은 이벤트 및 리스너 개념 항목을 참조하십시오.

세션에 아날로그 출력 채널을 추가할 때는 startBackground를 호출하기 전에 반드시 queueOutputData를 호출해야 합니다.

지속적인 생성 과정에서 DataRequired 이벤트가 주기적으로 발생하여 세션에 추가 데이터를 큐에 넣도록 요청합니다.

기본적으로 IsContinuous 속성은 false로 설정되어 있으며, 작업은 자동으로 중지됩니다. true로 설정해 둔 경우, stop를 사용하여 백그라운드 작업을 명시적으로 중지하십시오.

wait를 사용하면 백그라운드 작업이 완료될 때까지 MATLAB의 실행을 차단할 수 있습니다.

  • 이 메서드를 사용하기 전에 수집 세션을 생성하고 채널을 추가해야 합니다. 자세한 내용은 daq.createSession 항목을 참조하십시오.

  • 세션에 아날로그 입력 채널이 있는 경우, 백그라운드 수집에서 수집된 데이터를 수신하려면 DataAvailable 이벤트를 사용해야 합니다.

  • 세션에 아날로그 출력 채널이 있고 연속적인 경우, DataRequired 이벤트를 사용하여 백그라운드 생성 중에 추가 데이터를 큐에 넣을 수 있습니다.

  • 시작 시 발생하는 지연 시간을 줄이고 리소스를 미리 할당하려면 prepare를 호출하십시오.

  • 작업 중 오류가 발생하면 ErrorOccurred 이벤트를 사용하여 오류를 표시하십시오.

예제

예제

모두 축소

세션을 생성하고 리스너를 추가합니다. 리스너 콜백 함수를 사용하여 수집된 데이터에 액세스하십시오.

s = daq.createSession('ni');
addAnalogInputChannel(s,'cDAQ1Mod1','ai0','Voltage');
lh = addlistener(s,'DataAvailable',@plotData); 
 
function plotData(src,event)
     plot(event.TimeStamps,event.Data)
end

세션을 시작하고 다른 MATLAB® 작업을 수행합니다.

startBackground(s);

다른 MATLAB 연산을 수행합니다.

연속적인 백그라운드 생성의 경우, 출력할 추가 데이터를 큐에 넣을 수 있도록 리스너 이벤트를 추가하십시오.

s = daq.createSession('ni');
addAnalogOutputChannel(s,'cDAQ1Mod2',0,'Voltage');
s.IsContinuous = true;
s.Rate=10000;
data=linspace(-1,1,5000)';
lh = addlistener(s,'DataRequired', ...
        @(src,event) src.queueOutputData(data));
queueOutputData(s,data) 
startBackground(s); 

생성 과정에서 다른 MATLAB 연산을 수행합니다.

입력 인수

모두 축소

데이터 수집 세션으로, 세션 객체로 지정됩니다. daq.createSession을 사용하여 세션 객체를 생성합니다. 수집 및 생성 작업에 데이터 수집 세션을 사용합니다. 공급업체별로 세션을 하나씩 만들고 해당 공급업체 세션을 사용하여 모든 데이터 수집 작업을 수행합니다.

버전 내역

R2010b에 개발됨

모두 축소