프로그래밍/랩뷰 기술자료

LabVIEW 랩뷰 환경의 기본 사항

에이티에스 2023. 6. 2. 10:57
728x90

LabVIEW 프로그램이 버추얼 인스트루먼트 또는 VI로 불리는 이유는 오실로스코프 및 멀티미터와 같은 물리적인 인스트루먼트의 외형과 기능을 프로그램 내에서 구현하기 때문입니다. LabVIEW에는 데이터 수집, 분석, 디스플레이, 저장에 필요한 도구와 사용자가 작성한 코드의 문제를 해결하는데 도움이 되는 도구가 포괄적으로 들어있습니다.

새로운 VI를 생성하면 두 개의 윈도우 즉, 프런트패널 윈도우와 블록다이어그램이 나타납니다.

 

프런트패널

새 VI 또는 기존 VI를 열면 VI의 프런트패널 윈도우가 나타납니다. 프런트패널 윈도우는 VI의 사용자 인터페이스입니다. 그림 1은 프런트패널 윈도우의 예입니다.

(1) 프런트패널 윈도우 | (2) 도구 모음 | (3) 컨트롤 팔레트

그림 1. 프런트패널의 예

컨트롤 팔레트

컨트롤 팔레트에는 프런트패널을 생성하기 위해 사용하는 컨트롤과 인디케이터가 들어 있습니다. 보기≫컨트롤 팔레트를 선택하거나 프런트패널 윈도우의 빈 공간에서 마우스 오른쪽 버튼을 클릭하여 컨트롤 팔레트에 접근할 수 있습니다. 컨트롤 팔레트는 여러 항목으로 나누어져서 구성되어 있으며, 필요에 따라 일부 항목만 보이게 하거나 모든 항목을 보이게 할 수 있습니다. 그림 2는 모든 항목이 보이는 상태에서 일반 항목을 펼친 컨트롤 팔레트를 보여줍니다.

그림 2.컨트롤 팔레트

특정 항목 (서브팔레트)을 보이거나 숨기려면, 사용자 정의 버튼을 클릭한 후 팔레트 보기 변경을 선택합니다.

 

컨트롤과 인디케이터

모든 VI에는 사용자 인터페이스로 설계할 수 있는 프런트패널이 있습니다. 또한 프런트패널을 다른 블록다이어그램에서 VI를 호출할 때 입력을 전달하고 출력을 받는 수단으로 사용할 수 있습니다. 컨트롤과 인디케이터를 VI의 프런트패널에 배치하여 VI의 사용자 인터페이스를 생성할 수 있습니다. 프런트패널을 사용자 인터페이스로 사용하여 상호작용할 때, 컨트롤을 변경하여 입력을 넣고 인디케이터에서 결과를 확인할 수 있습니다. 컨트롤은 입력을 정의하고 인디케이터는 출력을 표시합니다.

컨트롤은 일반적으로 노브, 버튼, 다이얼, 슬라이더, 문자열입니다. 컨트롤은 인스트루먼트의 입력 디바이스를 시뮬레이션하고 VI의 블록다이어그램에 데이터를 제공합니다. 인디케이터는 일반적으로 그래프, 차트, LED, 상태 문자열입니다. 인디케이터는 인스트루먼트의 출력 디바이스를 시뮬레이션하며, 블록다이어그램에서 수집 또는 생성하는 데이터를 나타냅니다.

그림 1에는 측정 개수와 지연(초)라는 2개의 컨트롤, 즉 2개의 객체가 있습니다. 또한 온도 그래프라는 이름의 XY 그래프인 하나의 인디케이터가 있습니다.

사용자는 측정 개수와 지연(초) 컨트롤에 대한 입력 값을 변경할 수 있습니다. 그리고 온도 그래프 인디케이터에서 VI가 생성한 출력값을 볼 수 있습니다. 인디케이터의 값은 VI의 블록다이어그램 상의 코드에 기반하여 생성됩니다.

컨트롤 및 인디케이터에는 모두 관련된 데이터 타입이 있습니다. 예를 들어, 지연(초) 수평 슬라이드는 숫자형 데이터 타입입니다. 가장 일반적으로 사용되는 데이터 타입으로는 숫자형, 불리언, 문자열이 있습니다.

 

숫자형 컨트롤 및 인디케이터

숫자형 데이터 타입은 정수 또는 실수와 같은 다양한 타입의 숫자를 나타낼 수 있습니다. 가장 일반적으로 사용되는 두 종류의 숫자형 객체는 그림 3과 같은 숫자형 컨트롤과 숫자형 인디케이터입니다. 미터 및 다이얼 등과 같은 객체도 숫자형 데이터를 나타냅니다.

(1) 증가/감소 버튼 | (2) 숫자형 컨트롤 | (3) 숫자형 인디케이터

그림 3. 숫자형 컨트롤과 인디케이터

 

숫자형 컨트롤의 값을 입력하거나 변경하려면 증가 및 감소 버튼을 클릭하거나 숫자를 더블 클릭한 후 새 숫자를 입력하고 <Enter>키를 누릅니다.

 

불리언 컨트롤 및 인디케이터

불리언 데이터 타입은 참과 거짓, ON과 OFF 등과 같이 두 가지 타입만 가능한 데이터를 나타냅니다. 불리언 값은 불리언 컨트롤과 인디케이터를 사용하여 입력 또는 디스플레이할 수 있습니다. 불리언 객체는 스위치, 누름 버튼, LED를 시뮬레이션함. 그림 4에서는 수직 토글 스위치와 원형 LED 불리언 객체의 예를 확인할 수 있습니다.

그림 4. 불리언 컨트롤 및 인디케이터

 

문자열 컨트롤 및 인디케이터

문자열 데이터 타입은 일련의 ASCII 문자로 구성됨. 암호 또는 사용자 이름 등과 같이 사용자 입력 텍스트를 받으려는 경우 문자열 컨트롤을 사용할 수 있습니다. 텍스트를 디스플레이하려는 경우에도 문자열 인디케이터를 사용할 수 있음. 가장 일반적으로 사용되는 문자열 객체는 그림 5에서 보이는 것 같은 테이블과 텍스트 입력 상자입니다.

그림 5. 문자열 컨트롤과 인디케이터

블록다이어그램

블록다이어그램 객체에는 터미널, SubVI, 함수, 상수, 구조 및 블록다이어그램의 여러 객체 사이에서 데이터를 전달하는 와이어가 있습니다.

(1) 인디케이터 터미널 | (2) 와이어 | (3) 노드 | (4) 컨트롤 터미널

그림 6. 블록다이어그램 및 해당 프런트패널의 예

프런트패널 윈도우를 만든 후에는, 프런트패널에 있는 객체에 그래픽 함수를 사용한 코드를 추가하여 해당 객체를 제어할 수 있습니다. 블록다이어그램 윈도우는 이와 같은 그래픽 소스 코드로 구성됩니다.

그림 7.블록다이어그램

터미널

블록다이어그램 상에서 프런트패널 윈도우의 객체는 터미널의 형태로 표시됩니다. 터미널은 프런트패널과 블록다이어그램 사이에 정보를 교환하는 통로입니다. 터미널은 텍스트 기반 프로그래밍 언어에서의 파라미터 및 상수와 유사한 개념입니다. 터미널에는 컨트롤 터미널 또는 인디케이터 터미널, 노드 터미널이라는 타입이 있습니다. 컨트롤 터미널과 인디케이터 터미널은 프런트패널의 컨트롤 및 인디케이터와 연결되어 있습니다. 프런트패널 컨트롤에서 입력하는 데이터 포인트(위의 그림에서 a와 b)는 컨트롤 터미널을 통해 블록다이어그램으로 들어갑니다. 그러면 이 데이터 포인트가 [더하기]와 [빼기] 함수로 들어갑니다. [더하기]와 [빼기] 함수가 계산을 완료하면, 새로운 데이터 값이 생성됩니다. 새로 생성된 데이터 값은 인디케이터의 터미널로 전달되어, 프런트패널의 인디케이터 (위의 그림에서 a+b와 a-b)를 업데이트합니다.

 

 

컨트롤, 인디케이터, 상수

 

컨트롤, 인디케이터, 상수는 블록다이어그램 알고리즘에서 입력 및 출력 역할을 합니다. 삼각형의 넓이를 구현한 알고리즘의 예를 생각해 봅시다:

넓이 = 0.5 * 밑변 * 높이

그림 8과 같이 , 입력은 밑변과 높이이고 출력은 넓이입니다.

그림 8. Area of a Triangle의 프런트패널

 

사용자가 상수 0.5를 변경하지 않으므로 알고리즘 문서에 포함되지 않는 이상 프런트패널에는 나타나지 않습니다.

그림 9는 이 알고리즘을 LabVIEW 블록다이어그램에서 구현한 예입니다. 이 블록다이어그램에는 2개의 컨트롤, 1개의 상수, 1개의 인디케이터에서 생성된 4개의 터미널이 있습니다.

(1) 컨트롤 | (2) 인디케이터 | (3) 상수

그림 9. 아이콘으로 보기를 활성화한 Area of a Triangle의 블록다이어그램

 

밑변(cm)과 높이(cm) 블록다이어그램 터미널을 살펴보면 넓이 (cm2) 터미널과 모양이 다릅니다. 블록다이어그램의 컨트롤과 인디케이터 사이에는 두드러지는 차이점이 두 가지 있습니다. 첫째로 데이터 흐름의 방향을 나타내는 터미널의 화살표가 다릅니다. 컨트롤에 있는 화살표는 데이터가 터미널을 떠남을 보여주는 반면, 인디케이터에 있는 화살표는 데이터가 터미널에 들어옴을 보여줍니다. 두 번째 차이점은 터미널을 둘러싼 테두리입니다. 컨트롤의 테두리 선이 인디케이터의 테두리 선보다 더 두껍습니다.

 

터미널은 아이콘으로 보기를 활성화하거나 비활성화하여 볼 수 있습니다. 그림 10은 터미널의 아이콘으로 보기를 사용하지 않은 상태의 블록다이어그램입니다. 하지만, 컨트롤과 인디케이터 사이의 두 가지 차이점은 여기서도 확인할 수 있습니다.

그림 10. 아이콘으로 보기를 비활성화한 Area of a Triangle의 블록다이어그램

 

블록다이어그램 노드

노드는 입력 및 출력 중에서 하나만 갖거나 또는 입출력을 모두 가진 블록다이어그램 객체로서, VI가 실행될 때 동작함. 노드는 텍스트 기반 프로그래밍 언어에서의 명령문(statement), 연산자(operator), 함수(function) 및 서브루틴(subroutine)과 유사한 개념입니다. 노드는 함수, SubVI, 익스프레스 VI 또는 구조가 될 수 있습니다. 구조는 프로세스를 통제하는 원소로서, 그 예에는 케이스 구조, For 루프, While 루프 등이 있습니다.

 

함수

함수는 LabVIEW의 기본이 되는 연산 원소입니다. 그림 6에서의 [더하기]와 [빼기] 함수는 함수 노드입니다. 함수에는 프런트패널이나 블록다이어그램 윈도우가 없지만, 커넥터 팬이 있습니다. 함수를 더블 클릭하면 오직 해당 함수만 선택됩니다. 함수 아이콘의 배경색은 옅은 노란색입니다.

 

 

SubVI

VI를 구축한 후 다른 VI에서 사용할 수 있습니다. 다른 VI의 블록다이어그램에서 호출되는 VI를 SubVI라고 부릅니다. 다른 VI에서 SubVI를 재사용할 수 있습니다. SubVI를 생성하려면 커넥터 팬을 생성하고 아이콘을 생성해야 합니다.

SubVI 노드는 텍스트 기반 프로그래밍 언어의 서브루틴 호출에 해당합니다. 프로그램에서 서브루틴 호출 명령문이 서브루틴이 아닌 것처럼, 노드 자체가 SubVI인 것은 아닙니다. 여러 개의 동일한 SubVI 노드를 포함하는 블록다이어그램은 동일한 SubVI를 여러 번 호출합니다.

 

SubVI 컨트롤과 인디케이터는 호출하는 VI의 블록다이어그램에서 데이터를 받고 데이터를 반환합니다. 블록다이어그램에서 SubVI를 더블 클릭하면, 해당 SubVI의 프런트패널이 나타납니다. SubVI의 프런트패널에는 컨트롤과 인디케이터가 들어있습니다. 블록다이어그램에는 와이어, 아이콘, 함수 및 경우에 따라 다른 SubVI 또는 기타 LabVIEW 객체가 포함되어 있습니다.

모든 VI의 프런트패널 및 블록다이어그램 윈도우의 오른쪽 위 코너에는 아이콘이 디스플레이됩니다. 여기에 보이는 그림이 기본 아이콘의 예입니다. 아이콘은 VI를 그래픽적 형태로 표현한 개념. 아이콘은 텍스트와 이미지를 둘 다 나타낼 수 있습니다. VI를 SubVI로 사용하는 경우, 블록다이어그램에서는 이 아이콘으로 해당 SubVI를 식별할 수 있음. 기본 아이콘에는 숫자가 나타나는데, 이는 사용자가 LabVIEW를 실행한 후 연 새 VI의 개수입니다.

 

VI를 SubVI로 사용하려면, 위와 같이 커넥터 팬을 만들어야 합니다. 커넥터 팬이란 아이콘에 있는 터미널의 집합으로, 해당 VI의 컨트롤과 인디케이터를 나타내는 것입니다. 이는 텍스트 기반 프로그래밍 언어에서의 함수 호출 파라미터 리스트와 유사한 개념입니다. 프런트패널 윈도우의 오른쪽 위 모서리에 위치한 아이콘에서 마우스 오른쪽 버튼을 클릭하여 커넥터 팬에 접근할 수 있습니다. 블록다이어그램 윈도우에 있는 아이콘에서는 커넥터 팬을 사용할 수 없습니다. SubVI 아이콘의 배경색은 흰색입니다.

 

익스프레스 VI

익스프레스 VI에 대한 설정은 대화 상자에서 이루어지기 때문에, 익스프레스 VI는 최소한의 와이어링을 필요로 하는 노드입니다. 익스프레스 VI는 일반 측정 태스크에 사용됩니다. 더 자세한 정보는 LabVIEW 도움말의 익스프레스 VI 토픽을 참조하십시오. 익스프레스 VI는 블록다이어그램에서 파란색 영역으로 둘러싸인 아이콘을 갖는 확장 가능한 노드로 나타납니다.

 

함수 팔레트

함수 팔레트에는 블록다이어그램을 생성할 때 사용하는 VI, 함수, 상수가 포함됩니다. 블록다이어그램에서 보기≫함수 팔레트를 선택하여 함수 팔레트를 열 수 있습니다. 함수 팔레트는 여러 항목으로 구분되어 있습니다. 필요에 따라 특정 항목을 보이게 하거나 숨길 수 있습니다. 그림 11은 모든 항목이 보이는 상태에서 일반 항목을 펼친 컨트롤 팔레트를 보여줍니다.

그림 11. 함수 팔레트

특정 항목을 보이거나 숨기려면, 사용자 정의 버튼을 클릭하고 팔레트 보기 변경을 선택합니다.

 

컨트롤, VI, 함수 검색하기

컨트롤 및 함수 팔레트를 열기 위해 보기≫컨트롤 또는 보기≫함수를 선택하는 경우, 팔레트 맨 위에 두 개의 버튼이 나타납니다.

검색―팔레트를 검색 모드로 변경하여, 텍스트 기반 검색을 통해 팔레트 상의 컨트롤, VI 또는 함수를 찾습니다. 팔레트의 검색 모드에서 반환 버튼을 클릭하면, 검색 모드를 종료하고 팔레트로 돌아갈 수 있습니다.

사용자 정의―현재의 팔레트 보기 포맷, 보이거나 숨기는 항목, 텍스트 및 트리 보기 포맷에서 이름 순으로 아이템 정렬 등에 대한 옵션을 제공합니다. 바로 가기 메뉴에서 옵션을 선택하여 옵션 대화 상자의 컨트롤/함수 팔레트 페이지를 디스플레이하며, 여기서 모든 팔레트에 대한 포맷을 선택할 수 있습니다. 보기 버튼은 팔레트의 왼쪽 위 코너에 있는 압정을 클릭하여 팔레트를 고정한 경우에만 나타납니다.

VI와 함수 위치에 익숙하지 않을 때에는 검색 버튼을 사용하여 함수나 VI를 검색합니다. 예를 들어, [난수] 함수를 찾으려면 함수 팔레트에서 검색 버튼을 클릭한 후, 맨 위의 텍스트 박스에 난수라는 단어를 입력합니다. LabVIEW는 입력된 글자로 시작하거나 입력한 글자가 포함된 모든 항목을 나열합니다. 그림 12와 같이 검색 결과 중 하나를 클릭하고 블록다이어그램으로 끌어갈 수도 있습니다.

그림 12. 함수 팔레트에서 객체 검색하기

검색 결과를 더블 클릭하면, 팔레트 상에서 해당 함수가 하이라이트되어 나타납니다.

 

빠른 탐색

또한 빠른 탐색 대화 상자에서 VI와 프런트패널 객체를 이름으로 찾아서 놓을 수 있습니다. 빠른 탐색을 시작하려면, <Ctrl-Space> 키를 누르십시오.

빠른 탐색은 특히 매우 구체적인 함수나 작업을 검색할 때 유용합니다. 빠른 탐색은 사용자가 입력할 때 일치하는 함수로 이름을 자동 완성합니다. 적절한 함수를 하이라이트한 후에, 블록다이어그램 또는 프런트패널을 클릭하여 해당 위치에 객체를 놓습니다.

 

728x90
반응형
그리드형