텍스트 기반 언어에는 흔히 if, if-else, 또는 switch 문이 있습니다. LabVIEW에는 단순한 if 문 대신 선택 구조가 있고 if-else 또는 switch 문처럼 여러 입력 중 하나를 선택해야 하는 경우를 대신해 케이스 구조가 있습니다. 텍스트 기반과 마찬가지로, 실행되는 LabVIEW 코드는 입력의 값에 따라 다릅니다. 이 문서에서는 if, if-else 또는 switch 문과 유사하게 실행되도록 코드를 작성하는 방법에 대해 설명합니다.
간단한 조건과 동작의 경우,선택 함수가 if 문과 동일한 역할을 합니다. 선택 함수는 함수(Functions)»프로그래밍(Programming)>>비교(Comparison)>>선택(Select)에서 찾을 수 있습니다. [선택 함수]는 세 개의 입력을 받습니다. 다음은 그 입력을 위에서 아래의 순서로 나열한 것입니다.
선택자 입력은 불리언 데이터입니다. 선택자 데이터의 값에 따라, [선택] 함수는 참 또는 거짓 입력에 연결된 값을 반환합니다. 참과 거짓 출력값에는 다양한 데이터 타입을 사용할 수 있습니다. 문자열 데이터 타입을 사용하는 아래 예제를 참조하십시오.
선택 함수는 입력에 따라 출력을 변경하기만 하면 되는 경우에 유용합니다. 그러나 입력에 따라 실행되는 코드를 변경해야 하는 경우에는 케이스 구조를 사용하는 것이 좋습니다.
케이스 구조는 프로그래밍(Programming)>> 구조(Structures)>> 케이스 구조(Case Structure) 아래의 함수 팔레트에서 찾을 수 있습니다. 케이스 구조에는 다음 세 가지 섹션이 있습니다.
케이스 구조는 하나의 참 케이스와 하나의 거짓 케이스를 기본으로 합니다. 각 케이스에는 케이스의 조건이 충족되면 실행될 LabVIEW 코드를 작성할 수 있습니다.
케이스 구조에는 케이스 선택자 터미널이라고 불리는 녹색 물음표 입력 터미널이 있습니다. 기본 참/거짓 케이스를 사용하려면, 이 터미널에 불리언 입력을 연결하여 어떤 케이스가 실행될지 설정하십시오.
아래 예제는 [선택] 예제와 유사한 코드를 보여줍니다. 주요 차이점은 케이스 구조를 사용하면 선택적으로 코드를 실행할 수 있다는 점입니다. (선택 함수를 사용하는 경우, 아래처럼 여러가지 방법으로 데이터를 조작 (즉, 코드를 실행)할 수 없습니다.)
이 간단한 예에서는 사용자 입력이 5보다 큰 경우에 케이스 선택자는 참 값을 읽고 사용자 입력에 난수를 곱하는 참 케이스 코드를 실행합니다. 사용자 입력이 5보다 작은 경우, 케이스 선택자는 거짓 값을 읽고 입력값과 더 큰 난수를 곱하는 코드를 거짓 케이스로 실행합니다. 각 케이스는 다른 케이스와 다른 코드를 가지고 있으며 서로 다른 값을 출력합니다.
기본 참/거짓 형태의 케이스 구조는 if 문으로 사용될 수 있습니다. 그러나 케이스 구조의 장점 중 하나는 선택 터미널의 데이터 타입을 변경하고 케이스를 추가하여 if-else 문과 switch 문을 만들 수 있다는 점입니다.
케이스 구조를 생성하고 나면, 입력 선택자의 데이터 타입을 문자열, 정수, 열거형 또는 에러 클러스터 타입으로 변경할 수 있습니다. 원하는 데이터 타입 입력을 케이스 선택자에 연결하면 선택자 라벨 옵션이 자동으로 새 데이터 타입에 맞도록 변경됩니다. 예를 들면, 아래 그림에는 숫자형 데이터 타입 사용자 입력이 선택자 터미널에 연결되어 있으며, 선택자 라벨이 이에 따라 숫자형 옵션을 보여줍니다.
다른 비교 (또는 상태)용으로 케이스 구조에 서브다이어그램을 추가할 수 있습니다. 케이스 구조의 기본 케이스는 if-else 문에서 “else”의 역할 또는 switch 문에서 “default” 역할을 합니다. 각 경우에서 실행되는 코드는 선택자 터미널에 연결된 입력을 기반으로 합니다.
Switch 문으로 사용되는 케이스 구조의 아키텍처는 사용자가 입력할 수 있는 데이터 타입에 대한 유연성과 향후 수정을 위한 유연성을 제공합니다. 또한, 케이스 구조는 숫자형 입력 대신에 쉽게 수정할 수 있는 열거형 입력을 케이스 선택자 입력으로 사용할 수도 있습니다.
케이스 구조에서의 케이스 추가, 재배치, 복제에 대한 더 자세한 정보는 케이스 구조 LabVIEW 도움말의 길라잡이를 참조하십시오.
케이스 구조를 사용하는 예제는 labview\examples\Structures\Case Structure 디렉토리에 있는 Case Structure - Selector Data Types VI를 참조하십시오.
(LabVIEW 버전에 따라 예제 폴더 구조가 따라 약간 다를 수 있습니다.)
첨부된 VI는 여기에서 설명한 세 가지 구조가 있는 예제 VI입니다. 즉 선택자 함수를 통한 if 문, 케이스 구조를 통한 if-else 문과 케이스 구조를 통한 if-else 또는 switch 문입니다.