LabVIEW에서의 If, If-Else, Switch 문

개요

텍스트 기반 언어에는 흔히 if, if-else, 또는 switch 문이 있습니다. LabVIEW에는 단순한 if 문 대신 선택 구조가 있고 if-else 또는 switch 문처럼 여러 입력 중 하나를 선택해야 하는 경우를 대신해 케이스 구조가 있습니다. 텍스트 기반과 마찬가지로, 실행되는 LabVIEW 코드는 입력의 값에 따라 다릅니다. 이 문서에서는 if, if-else 또는 switch 문과 유사하게 실행되도록 코드를 작성하는 방법에 대해 설명합니다.

내용

If 문

선택 함수

간단한 조건과 동작의 경우,선택 함수if 문과 동일한 역할을 합니다. 선택 함수는 함수(Functions)»프로그래밍(Programming)>>비교(Comparison)>>선택(Select)에서 찾을 수 있습니다. [선택 함수]는 세 개의 입력을 받습니다. 다음은 그 입력을 위에서 아래의 순서로 나열한 것입니다.

  1. 참인 경우 원하는 출력
  2. 참/거짓 선택자
  3. 거짓인 경우 원하는 출력
     

선택자 입력은 불리언 데이터입니다. 선택자 데이터의 값에 따라, [선택] 함수는 참 또는 거짓 입력에 연결된 값을 반환합니다. 참과 거짓 출력값에는 다양한 데이터 타입을 사용할 수 있습니다. 문자열 데이터 타입을 사용하는 아래 예제를 참조하십시오.

다이어그램 - 문자열 데이터 타입을 사용하는 선택 함수

GUI - 선택 함수 사용자 입력 및 문자열 출력

케이스 구조

선택 함수는 입력에 따라 출력을 변경하기만 하면 되는 경우에 유용합니다. 그러나 입력에 따라 실행되는 코드를 변경해야 하는 경우에는 케이스 구조를 사용하는 것이 좋습니다.

케이스 구조는 프로그래밍(Programming)>> 구조(Structures)>> 케이스 구조(Case Structure) 아래의 함수 팔레트에서 찾을 수 있습니다. 케이스 구조에는 다음 세 가지 섹션이 있습니다.

  1. 선택자 라벨
  2. 서브다이어그램 또는 케이스
  3. 케이스 선택자
     

케이스 구조는 하나의 케이스와 하나의 거짓 케이스를 기본으로 합니다. 각 케이스에는 케이스의 조건이 충족되면 실행될 LabVIEW 코드를 작성할 수 있습니다.

케이스 구조에는 케이스 선택자 터미널이라고 불리는 녹색 물음표 입력 터미널이 있습니다. 기본 참/거짓 케이스를 사용하려면, 이 터미널에 불리언 입력을 연결하여 어떤 케이스가 실행될지 설정하십시오.

아래 예제는 [선택] 예제와 유사한 코드를 보여줍니다. 주요 차이점은 케이스 구조를 사용하면 선택적으로 코드를 실행할 수 있다는 점입니다. (선택 함수를 사용하는 경우, 아래처럼 여러가지 방법으로 데이터를 조작 (즉, 코드를 실행)할 수 없습니다.)

다이어그램 - 참 케이스를 실행하는 참 불리언의 케이스 구조

다이어그램 - 거깃 케이스를 실행하는 거짓 불리언의 케이스 구조

이 간단한 예에서는 사용자 입력이 5보다 큰 경우에 케이스 선택자는 참 값을 읽고 사용자 입력에 난수를 곱하는 참 케이스 코드를 실행합니다. 사용자 입력이 5보다 작은 경우, 케이스 선택자는 거짓 값을 읽고 입력값과 더 큰 난수를 곱하는 코드를 거짓 케이스로 실행합니다. 각 케이스는 다른 케이스와 다른 코드를 가지고 있으며 서로 다른 값을 출력합니다.

If-Else 및 Switch 문

기본 참/거짓 형태의 케이스 구조는 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 문입니다.

Was this information helpful?

Yes

No