주요 콘텐츠

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

이벤트 정보 조회

R2026b

소개

각 이벤트에는 툴박스에서 생성되어 이벤트 구조체에 저장된 일련의 정보가 연결되어 있습니다. 이 정보에는 이벤트 유형, 이벤트 발생 시간 및 기타 이벤트 관련 정보가 포함됩니다. 비디오 입력 객체가 실행 중일 때, 툴박스는 해당 객체의 EventLog 속성에 이벤트 정보를 기록합니다. 콜백 함수 내에서 특정 이벤트와 연관된 이벤트 구조체에 액세스할 수도 있습니다.

이 섹션은 다음을 설명합니다.

콜백 함수에서 이벤트 정보에 액세스하는 방법에 대한 자세한 내용은 콜백 함수 생성 및 실행를 참조하십시오.

이벤트 구조체

이벤트 구조체에는 Type와 Data라는 두 개의 필드가 포함되어 있습니다. 예를 들어, 다음은 트리거 이벤트에 대한 이벤트 구조입니다:

Type: 'Trigger'
Data: [1x1 struct]

Type 필드는 이벤트 유형을 지정하는 문자형 벡터입니다. 트리거 이벤트의 경우, 이 필드에는 문자형 벡터 'Trigger'가 포함됩니다.

Data 필드는 이벤트에 대한 정보를 포함하는 구조체입니다. 이 구조의 구성은 발생한 이벤트의 유형에 따라 달라집니다. 특정 이벤트와 관련된 정보에 대한 자세한 내용은 다음 섹션을 참조하십시오.

시작, 종료, 수집된 프레임 수 및 트리거 이벤트에 대한 데이터 필드

시작, 중지, 수집된 프레임 및 트리거 이벤트의 경우, Data 구조체에는 다음과 같은 필드가 포함되어 있습니다.

필드 이름

설명

AbsTime

이벤트가 발생한 절대 시간으로, MATLAB® 클록 형식으로 반환됨

[year month day hour minute seconds]

FrameNumber

객체가 시작된 시점을 기준으로 한 프레임 번호

RelativeFrame

트리거 실행을 기준으로 한 프레임 번호

TriggerIndex

해당 이벤트와 연관된 트리거입니다. 예를 들어, 시작 시 관련 트리거 값은 0입니다. 중지 시에는 TriggersExecuted 속성과 동일합니다.

오류 이벤트에 대한 데이터 필드

오류 이벤트의 경우, Data 구조체에는 다음과 같은 필드가 포함됩니다.

필드 이름

설명

AbsTime

이벤트가 발생한 절대 시간으로, MATLAB 클록 형식으로 반환됨

[year month day hour minute seconds]

Message

오류와 관련된 문자 메시지

MessageID

오류와 관련된 MATLAB 메시지 식별자

타이머 이벤트의 데이터 필드

타이머 이벤트의 경우, Data 구조체에는 다음과 같은 필드가 포함됩니다.

필드 이름

설명

AbsTime

이벤트가 발생한 절대 시간으로, MATLAB 클록 형식으로 반환됨

[year month day hour minute seconds]

이벤트 로그의 데이터 조회

비디오 입력 객체가 실행 중일 때, 툴박스는 해당 객체의 EventLog 속성에 이벤트 정보를 저장합니다. 이 속성의 값은 이벤트 구조체 배열입니다. 각 구조는 하나의 이벤트를 나타냅니다. 각 이벤트 유형별 이벤트 구조의 구성에 대한 자세한 내용은 이벤트 구조체를 참조하십시오.

이 툴박스는 이벤트가 발생하는 순서대로 EventLog 배열에 이벤트 구조를 추가합니다. 첫 번째 이벤트 구조는 기록된 첫 번째 이벤트를 나타내고, 두 번째 이벤트 구조는 기록된 두 번째 이벤트를 나타내며, 이와 같은 방식으로 이어집니다.

참고

EventLog 속성에는 시작, 중지, 오류 및 트리거 이벤트만 기록됩니다. 프레임 단위로 발생한 이벤트와 타이머 이벤트는 EventLog에 포함되지 않습니다. 이러한 이벤트(및 그 밖의 모든 이벤트)에 대한 이벤트 구조체는 콜백 함수에서 사용할 수 있습니다. 자세한 내용은 콜백 함수 생성 및 실행를 참조하십시오.

이벤트 로그를 설명하기 위해, 이 예제에서는 비디오 입력 객체를 생성하고 실행한 다음, 해당 객체의 EventLog 속성을 확인합니다:

  1. 이미지 수집 객체 생성 — 이 예제에서는 Matrox® 이미지 수집 장치에 대한 비디오 입력 객체를 생성합니다. 이 예제를 시스템에서 실행하려면 imaqhwinfo 함수를 사용하여 이미지 수집 장치에 대한 객체 생성자를 가져오고 해당 구문을 다음 코드로 바꾸십시오.

    vid = videoinput('matrox',1);
  2. 이미지 수집 객체 시작 — 이미지 수집 객체를 시작합니다. 기본적으로 이 객체는 즉시 트리거를 실행하고, 10 프레임 분량의 데이터를 수집한 다음 중지됩니다.

    start(vid)
  3. 이벤트 로그 보기 — 비디오 입력 객체의 EventLog 속성에 액세스합니다. 비디오 입력 객체의 실행으로 인해 start, trigger, stop이라는 세 가지 이벤트가 발생했습니다. 따라서 EventLog 속성의 값은 이벤트 구조체로 구성된 1x3 배열입니다.

    events = vid.EventLog
    events = 
    
    1x3 struct array with fields:
        Type
        Data

    EventLog 속성에 기록된 이벤트를 확인하려면 Type 필드의 내용을 살펴보십시오.

    {events.Type}
    ans = 
        'Start'    'Trigger'    'Stop'

    특정 이벤트에 대한 정보를 얻으려면 해당 이벤트 구조체의 Data 필드를 참조하십시오. 이 예제는 트리거 이벤트에 대한 정보를 가져옵니다.

    trigdata = events(2).Data
    
    trigdata = 
    
                 AbsTime: [2004 12 29 16 40 52.5990] 
             FrameNumber: 0
           RelativeFrame: 0
            TriggerIndex: 1
  4. 정리 — 더 이상 필요하지 않으면 메모리에서 이미지 수집 객체와 이를 참조하는 변수를 항상 제거합니다.

    delete(vid)
    clear vid