본문으로 바로가기

CASE 구조에 대해 알아보자.

category Programming/LabVIEW 2024. 5. 19. 19:58
반응형

랩뷰로 프로그램을 작성하는 방법도 대충 알아보았고, 데이터 타입에 대한 내용들도 어느 정도 알아보았으니, 이제 본격적으로 프로그램을 작성하는 부분에 대해 이야기를 해볼까 하는데요. 더하기나 빼기, AND나 OR과 같은 연산자들을 이용해서 산술 연산이나 논리 연산 프로그램을 작성하는 내용은 워낙 간단한 부분이니까 넘어가기로 하고, CASE 구조에 대한 내용부터 시작할까 합니다.

프로그램이라는 것은 작성된 코드를 위에서부터 순서대로 한 번씩 실행해 나가는 것이 기본적인 원칙이지만, 특수한 상황에서 작성된 프로그램의 일부 구간이 실행되지 않도록 만들어 준다거나, 특정 구간의 프로그램들을 원하는 횟수만큼 반복해서 실행되도록 만들어주는 명령문들이 있는데요. 일반적으로 전자를 조건문이라고 부르고, 후자를 반복문이라고 부릅니다. 

대부분의 프로그래밍 언어들은 텍스트를 기반으로 프로그램이 작성되기 때문에, 조건문이나 반복문과 같이 명령문이라는 명칭을 많이 사용합니다. 하지만 랩뷰의 경우에는 그래픽 기반의 프로그래밍 언어이기 때문에 명령문이라는 단어 대신 구조라는 단어를 사용하는데요. 그래서 CASE 구조라고 부르지만, 통상적인 프로그래밍 언어에서의 명령문과 같은 개념이라고 생각하시면 되고, 앞에서 말씀드린 조건문과 반복문 중에서는 조건문에 해당합니다.

명령문에 해당한다는 것은 사용자 인터페이스 보다 프로그래밍에 더 가깝다는 것을 의미합니다. 다시 말해 CASE 구조는 블록 다이어그램에서 사용하는 구조라는 것을 의미하구요. 프로그램에 CASE 구조를 추가하는 과정은 위의 영상을 참고하시기 바랍니다.

CASE 구조는 위의 그림과 같이 테두리가 쳐져있는 박스 형태로 프로그램에 추가됩니다. 다른 영역과 구분을 하기 위한 테두리라고 생각하시면 되는데요. 텍스트 기반의 다른 프로그래밍 언어에서 실행의 제어 대상이 되는 코드 블록을 구분하기 위해 키워드나 괄호 등을 사용하는 것처럼 테두리를 이용해서 CASE 구조에 의해 통제되는 영역을 구분했다고 보시면 됩니다. 당연한 말이겠지만, 테두리의 안쪽 영역이 CASE 구조에 의해 통제되는 영역이고, 이것을 서브 다이어그램이라고 부릅니다. 그렇다면, CASE 구조의 서브 다이어그램에 작성된 프로그램을 실행시킬 것인지 말 것인지 구분하는 기준이 필요한데요. CASE 구조의 왼쪽에 위치하는 케이스 선택자가 기준이 됩니다. 

텍스트 기반의 프로그래밍 언어에서는 특정 코드 블록의 실행을 제어하는 기준에 따라 2가지 종류의 조건문을 사용합니다. 하나는 불리언 타입의 데이터를 기준으로 실행을 제어하구요. 다른 하나는 정수와 같이 범위를 가지는 데이터가 기준이 되는데, 각기 다른 이름과 다른 사용 문법을 가지고 있습니다. 하지만 랩뷰에서는 CASE 구조 하나만 사용하는데요. 케이스 선택자에 어떤 데이터가 전달되는지에 따라 CASE 구조가 자동으로 변경됩니다.

위 그림에서 보시는 것처럼, 불리언 타입의 데이터를 기준으로 하는 CASE 구조에서는 케이스 선택자의 색상이 불리언 타입을 의미하는 녹색으로 표시되구요. 정수 타입의 데이터를 기준으로 하는 경우에는 케이스 선택자의 색상이 정수 타입을 의미하는 파란색으로 표시됩니다. 그리고 CASE 구조의 상단에 위치하는 케이스 라벨의 형태도 달라지는데요. 불리언 타입의 경우에는 TRUE 또는 FALSE의 데이터만 가지므로, '참' 또는 '거짓'으로 표현되는 반면에 정수 타입의 경우에는 다양한 데이터를 가질 수 있으므로 0이나 1과 같은 숫자가 케이스 라벨에 표시됩니다. 위의 영상에서 보셨던 것처럼, 함수 팔레트에서 CASE 구조를 추가하는 메뉴 자체가 하나뿐이므로, 불리언 타입의 CASE 구조와 정수 타입의 CASE 구조 모두 같은 메뉴를 통해 프로그램에 추가되구요. 케이스 선택자에 어떤 데이터가 전달되는지에 따라 CASE 구조의 형태가 자동으로 맞춰지게 됩니다. 

앞에서 말씀드린 것처럼 CASE 구조를 사용하면 서브 다이어그램에 작성된 프로그램을 상황에 따라 실행할 수도, 실행하지 않을 수도 있습니다. 정확히 표현하자면, 2개 이상의 프로그램을 작성한 다음에 어떤 프로그램이 실행되도록 만들 것인지를 결정할 수 있다는 의미인데요. 당연히 서브 다이어그램에 작성된 프로그램이 실행 여부가 결정되는 프로그램일 테니까, 2개 이상의 프로그램을 작성한다는 것은 2개 이상의 서브 다이어그램을 가진다는 의미가 되고, 각각의 서브 다이어그램은 유니크한 케이스 라벨과 함께 정의됩니다. 그리고, 케이스 선택자로 전달된 데이터와 일치하는 케이스 라벨의 서브 다이어그램만 실행되고, 나머지 서브 다이어그램은 무시되는 방식으로 CASE 구조가 동작합니다.

 

반응형

'Programming > LabVIEW' 카테고리의 다른 글

FOR 루프와 배열  (0) 2024.05.21
For 루프에 대해 알아보자.  (0) 2024.05.21
클러스터에 대해 알아보자.  (0) 2024.05.18
배열에 대해 알아보자.  (0) 2024.05.17
랩뷰의 기본 데이터 타입  (0) 2024.05.17