주요 콘텐츠

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

addlistener

(권장하지 않음) 이벤트 리스너 생성

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

설명

lh = addlistener(s,eventName,@callback)는 지정된 이벤트인 eventName에 대한 리스너를 생성하여, 이벤트 발생 시 콜백 함수인 callback를 실행합니다. lh는 리스너 핸들이 저장되는 변수입니다. 리스너가 지정된 이벤트를 감지했을 때 실행되는 콜백 함수를 생성합니다. 콜백은 어떤 MATLAB® 함수라도 될 수 있습니다.

작업이 완료되면 리스너를 삭제하십시오.

delete(lh)

예제

lh = addlistener(s,eventName,@(src,event) expr)는 지정된 이벤트인 eventName에 대한 리스너를 생성하고, 익명 콜백 함수를 호출합니다. 이 익명 함수는 지정된 입력 인수를 사용하여 expr 식에 명시된 연산을 수행합니다. 익명 함수는 간단한 함수를 파일에 저장하지 않고도 빠르게 생성할 수 있는 방법을 제공합니다. 자세한 내용은 익명 함수를 참조하십시오.

예제

예제

모두 축소

세션을 생성하고 아날로그 입력 채널을 추가합니다.

s = daq.createSession('ni');
addAnalogInputChannel(s,'cDAQ1Mod1','ai0','Voltage');

DataAvailable 이벤트에 대한 리스너를 추가합니다.

lh = addlistener(s,'DataAvailable',@plotData);

plotData 콜백 함수를 생성하고 plotData.m라는 이름으로 저장하십시오.

function plotData(src,event)
         plot(event.TimeStamps,event.Data)
end

백그라운드에서 데이터를 수집합니다.

startBackground(s);

작업이 완료될 때까지 기다린 후, 리스너를 삭제하십시오.

wait(s)
delete(lh)

세션을 생성하고 IsContinuous 속성을 true로 설정합니다.

s = daq.createSession('ni');
s.IsContinuous = true;

아날로그 출력 채널 두 개를 추가하고, 두 채널에 대한 출력 데이터를 생성합니다.

addAnalogOutputChannel(s,'cDAQ1Mod2',0:1,'Voltage');
outputData0 = linspace(-1,1,1000)';
outputData1 = linspace(-2,2,1000)';

출력 데이터를 큐에 넣으십시오.

queueOutputData(s,[outputData0 outputData1]);

익명 함수를 호출하는 리스너를 추가합니다.

lh = addlistener(s,'DataRequired', @(src,event)...
      src.queueOutputData([outputData0 outputData1]));

백그라운드에서 신호를 생성합니다.

startBackground(s);

다른 MATLAB 작업을 수행한 다음 세션을 종료하십시오. 중간 작업으로 인해 신호 생성에 충분한 시간이 확보되지 않는 경우, 중지하기 전에 pause를 사용하십시오.

pause(5)
stop(s)

리스너를 삭제하십시오.

delete(lh)

입력 인수

모두 축소

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

수신 대기할 이벤트의 이름으로, 문자형 벡터 또는 string형으로 지정됩니다. 지원되는 이벤트는 다음과 같습니다:

데이터형: char | string

실행할 콜백 함수로, 함수 핸들로 지정됩니다. 이 함수는 지정된 이벤트가 발생하면 실행됩니다.

익명 함수에 전달되는 세션 입력 인수로, 변수 이름으로 지정됩니다. addlistener는 데이터 수집 세션 객체 핸들을 이 변수를 통해 익명 함수로 전달합니다.

익명 함수에 전달되는 이벤트 입력 인수로, 변수 이름으로 지정됩니다. addlistener는 트리거 이벤트 객체 핸들을 이 변수로 지정하여 익명 함수로 전달합니다.

실행 가능한 텍스트 한 줄로 지정된 익명 함수의 본문. 이 표현식에는 입력 인수 변수 이름인 srcevent가 포함될 수 있습니다.

출력 인수

모두 축소

이벤트 리스너는 이벤트 객체 핸들 형태로 반환됩니다. 작업이 완료되면 리스너를 삭제하십시오.

버전 내역

R2010b에 개발됨

모두 축소