Labview: 조건문

Case문


C나 Java에서 특정 조건에 따라 연산할 내용을 변경할 때, If문이나 Switch문을 이용한다.
랩뷰에서는 동일한 역할을 수행하기 위해 Case문을 사용하는데, 이렇게 만든다.

생긴 모양을 먼저 보자면,

케이스문을 나타내는 사각형 제일 위로 '선택자 레이블'이 보이고, 왼쪽에 '선택자 터미널'이 위치한다. 
선택자 터미널은 실행할 케이스를 결정하는 소스 역할을 하고, 불리언/정수/Enumeration/에러 클러스터 등이 연결될 수 있다.
선택자 레이블은 선택자 터미널에 연결된 항목을 구분하여 표시하는 역할을 하고, 개별적인 값이나 범위 등을 지정할 수 있다.

간단한 예제를 하나 만들어보자.

아주 간단한 프로그램이다.
VI가 실행되는 동안 'Enable/Disable' 버튼이 True이면 'Value'에 'Slide'의 값이 표시되고, False이면 '0'을 표시하는 프로그램이다.

케이스문에는 선택자 터미널에 '참'과 '거짓'으로만 구별되는 불리언말고, 값을 갖는 정수형도 연결할 수 있다.
다음의 예를 한번 보자.

이번에는 'Enable/Disable'이라는 불리언 대신 'Selector'라는 정수 값을 케이스에 연결하였다.
시연 동영상을 보기 전에 간단히 설명하자면,
셀렉터의 값이 '0'이면 'Value'는 '0'을 표시하고, '1'이면 'Slide'의 값을 표시한다.
끝으로, 셀렉터의 값이 '2'이면 While문의 반복 횟수가 표시된다.

이번 예제에서 눈에 띄는 것은 케이스문의 선택자 터미너에 불리언을 연결했을 때와 달리,
정수형을 연결했을 때는 선택자 레이블에 'Default'라는 표시가 나타난다는 것이다.
이번에는 'Default'의 역할을 알아보기 위해 블록 다이어그램은 고치지 않고 프론트 패널의 셀렉터만 항목을 하나 더 추가해보자.


셀렉터가 하나 더 추가된 값인 '3'을 가졌는데, '0'의 값을 가졌을 때와 동일한 결과가 나오는 것을 확인할 수 있다.
다시 말해, C나 Java에서 Switch 문을 썼을 때, Case로 지정한 경우 이외의 상황을 처리하기 위한 Default Case와 동일한 역할을 한다.

다음 시간에는 랩뷰의 기본적인 시퀀스 처리 기능인 플랫 시퀀스를 살펴보자. ㅎㅎ


요약
- 랩뷰에서의 케이스문은 C나 Java에서의 If문과 Switch문 모두를 커버할 수 있다.
- 선택자 터미널에 정수형과 같이 여러 값을 가질 수 있는 변수가 연결될 경우 Default 인식자를 지정하여
  지정하지 않은 값이 들어왔을 때 에러 없이 처리할 수 있다.



Share:
spacer

댓글 없음:

댓글 쓰기

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.