I. State Machine 구조란?

 

상태 머신은 LabVIEW 개발자들이 어플리케이션을 신속히 구축할 때 가장 자주 사용하는 기본적인 아키텍처 중 하나입니다. 상태 머신 아키텍처는 상태 다이어그램 또는 흐름 차트가 표현하는 복합 의사결정 알고리즘을 구현하는 데 사용할 수 있습니다. 보다 정확하게 설명하면, 상태 머신은 다이어그램의 각 상태에 대해 특정한 작업을 수행하는 “무어 머신”에 의해 표현되는 모든 알고리즘을 구현합니다.

 

상태 머신은 구분이 명확한 상태가 존재하는 어플리케이션에 사용됩니다. 각 상태는 하나 또는 여러 상태가 될 수 있으며, 프로세스 흐름을 끝마칠 수도 있습니다. 상태 머신은 사용자 입력 또는 상태 내부에 연산 결과에 따라 어떤 상태가 다음에 실행될지 결정됩니다. 대부분의 어플리케이션들에는 여러 동작이 수행될 수 있는 기본 상태인 “초기화” 상태가 필요합니다. 수행되는 동작들은 이전의 그리고 현재의 입력 및 상태에 따라 다를 수 있습니다.

 

“정지 (shutdown) 상태는 동작 정리를 수행하는 데 사용할 수 있습니다. 상태 머신은 사용자 인터페이스를 프로그래밍할 때 가장 많이 사용됩니다. 사용자 인터페이스를 생성할 때 다른 사용자 동작은 사용자 인터페이스를 다른 처리 영역으로 전송합니다. 이러한 각 영역들은 상태 머신에서 상태들로서 작동하게 됩니다.

 

이 영역들은 보다 심도 있는 처리를 위한 영역이 되거나 또 다른 사용자 이벤트를 기다릴 수 있습니다. 이 같은 예에서 상태 머신은 다음 작동이 수행되기 위해 사용자를 지속적으로 모니터링합니다.

 

사용자 인터페이스를 구현하는 데는 Queued Message Handler라고 하는 디자인 패턴이 있습니다. Queued Message Handler는 상태 머신의 보다 정교한 버전으로서 추가적인 유연성을 제공할 뿐 아니라 복잡성도 추가됩니다. Queued Message Handler는 다음기회에 다룰 것입니다. 프로세스 테스트는 상태 머신을 위한 또 다른 일반적인 어플리케이션입니다. 이 예에서 각 프로세스 영역은 각각의 상태로 표현합니다. 각 상태의 테스트 결과에 따라 다른 상태를 호출할 수 있을 것입니다. 이러한 프로세스는 지속적으로 발생할 수 있어 테스트 중인 프로세스의 깊이 있는 분석을 수행할 수 있습니다.

II. 목적

 

계측기를 사용하여 사용자 인터페이스를 구현하는 경우에 계측기의 접속, 측정, 대기, 에러로그, 접속 종료의 상태에 대한 동작할 수 있는 State Machine 구조를 작성할 수 있습니다.

기능 1. 계측기 접속이 되지 않을 경우 재접속 가능
기능 2. 측정 or 컨트롤 중 에러 발생 시에 에러 클리어 및 에러 로그 후 계측기 재접속 가능
기능 3. S/W 종료할 경우 계측기의 통신 종료

 

▶예제보러 가기

'Labview Tip' 카테고리의 다른 글

LabVIEW Tip :: 생산자/소비자 케이스 구조  (0) 2020.02.27
LabVIEW ] Labview통신을 이용한 바코드 스캐너, 프린터 사용방법  (0) 2020.02.27
Labview통신을 이용한 야스카와 인버터 A1000제어  (1) 2020.02.27
Labview통신을 이용한 ODSL 레이저 거리센서 사용법  (0) 2020.02.27
LabVIEW ] UDP통신을 이용한 PC간 데이터 전송  (0) 2020.02.27
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기