이벤트 구조에서 이벤트를 모니터하는 방법 선택하기
- 업데이트 날짜:2025-08-27
- 2분 (읽기 시간)
LabVIEW는 많은 다양한 이벤트를 생성할 수 있습니다. 이벤트 등록을 사용하여 이벤트 구조로 처리할 이벤트를 지정할 수 있습니다. 이벤트를 등록하면, LabVIEW는 특정 이벤트가 발생할 때 사용자에게 알립니다. LabVIEW에서는 정적으로 또는 다이나믹하게 이벤트를 등록할 수 있습니다. 정적 등록을 사용하면, LabVIEW는 이벤트가 발생하면 해당 이벤트를 항상 큐에 넣고 사용자에게 알립니다. 예를 들어 프런트패널 컨트롤에서 마우스 이동 이벤트를 정적으로 등록하면, LabVIEW는 사용자가 마우스를 해당 컨트롤 위로 움직일 때마다 이 이벤트를 큐에 넣습니다. 다이나믹 이벤트를 사용하면, 사용자가 지정한 특정 상황에서 해당 이벤트가 발생하는 경우에만 이벤트를 큐에 넣고 사용자에게 알리도록 어플리케이션을 설계할 수 있습니다. 예를 들어 사용자가 특정 키를 누를 때까지 마우스 이동 이벤트를 모니터하지 않을 경우가 있습니다. 또한 다이나믹 등록을 사용하여 어떤 VI나 컨트롤이 이벤트를 생성할지를 변경하고 LabVIEW가 이벤트를 생성하는 VI가 아닌 SubVI에서 이벤트를 처리하도록 할 수 있습니다.
정적 이벤트 등록
LabVIEW는 이벤트 구조가 포함된 VI를 실행하면 자동으로 정적 등록을 수행합니다. 이벤트 구조를 설정하여 각 이벤트 구조 케이스에서 처리하려는 VI의 프런트패널의 사용자 인터페이스 이벤트를 지정할 수 있습니다. 이벤트 편집 대화 상자를 사용하여 이벤트 구조가 정적으로 등록된 이벤트를 처리할 수 있도록 설정합니다.
정적 이벤트 등록을 사용하는 예제는 examples\Structures\Event Structure\Event Structure.lvproj를 참조하십시오.
다이나믹 이벤트 등록
이벤트를 다이나믹하게 등록하면 LabVIEW가 언제 이벤트를 생성할지, LabVIEW가 어떤 이벤트를 생성할지 및 LabVIEW가 어디서 이러한 이벤트를 처리할지를 지정할 수 있습니다. 다이나믹 이벤트 등록을 사용하면 다음과 같은 혜택을 얻을 수 있습니다:
- 어플리케이션의 다른 부분이 실행되는 동안에도 이벤트를 등록하여 LabVIEW가 언제 이벤트를 생성할지 컨트롤할 수 있습니다. 예를 들어 데이터를 그래프에 플롯하는 버튼을 클릭한 후 그래프 위로 마우스를 움직이는 것과 같은 특정 상황에서만 이벤트를 모니터하려는 경우가 있을 수 있습니다. 정적 등록을 사용하면, 마우스 이동 이벤트는 항상 발생합니다. 다이나믹 이벤트 등록을 사용하면, 사용자가 데이터를 그래프에 플롯하는 버튼을 클릭한 후에도 마우스 이동 이벤트를 등록할 수 있습니다.
- 실행 중에 어떤 VI 또는 컨트롤이 이벤트를 생성할지 수정할 수 있습니다. LabVIEW가 이벤트를 생성하는 객체를 변경하려면, 실행 중에 등록 정보를 수정하십시오.
- LabVIEW는 사용자가 프런트패널에서 직접 상호작용하지 않아도 이벤트를 생성할 수 있습니다. 다이나믹 이벤트 등록을 사용하면 블록다이어그램 상에서 컨트롤 값을 업데이트하는 것과 같은 변경을 프로그램적으로 수행하는 어플리케이션을 생성할 수 있고, LabVIEW는 이러한 변경사항에 대한 이벤트를 생성합니다. 정적 이벤트 등록의 경우 LabVIEW가 이벤트를 생성하도록 하려면 사용자가 직접 상호작용을 해야 합니다.
- 이벤트가 발생한 VI에서만이 아닌 SubVI에서도 이벤트를 처리할 수 있으며, 이는 어플리케이션에 모듈화를 제공합니다. 예를 들어 DAQ 어플리케이션에서는 이벤트가 발생하는 VI에서 모든 이벤트를 처리하기보다 전체 어플리케이션의 모든 사용자 인터페이스 이벤트를 처리하는 SubVI, 모든 사용자 이벤트를 처리하는 SubVI 및 모든 DAQ 이벤트를 처리하는 SubVI를 생성할 수 있습니다.