You are here

LabVIEW Tech-Tip 1호 - 내 어플리케이션에 맞는 객체(컨트롤 또는 인디케이터) 만들기

 

한국내쇼날인스트루먼트는 LabVIEW를 사용하시는 여러분을 위해 격월로 발송되는 LabVIEW Tech-Tip 이메일 서비스를 시작합니다.

본 강의에서는 사용자의 용도에 맞게 프런트 패널에 위치하는 객체(컨트롤 또는 인디케이터)의 속성 변환 작업을 연습하기로 합니다. 따라서 본 강의를 숙지하면 사용자의 어플리케이션의 용도에 맞는 사용자 정의 객체를 구성할 수 있을 것으로 기대됩니다. 강의 방식으로는 이미 완성된 예제를 단계별로 모방하는 방법으로 진행될 것입니다.

>> 예제 코드 다운로드                                                                                                                                 LabVIEW Tech-Tip 목록 

 

예제 수행하기

하위 폴더에 위치한 dashboard.vi를 수행합니다. 본 예제는 자동차 운전석을 시뮬레이션 하기 위한 재미나는 데모입니다. LabVIEW 화면 상단에 위치한 Run 버튼을 클릭하여 예제를 수행시킵니다. 예제 좌측 하단에 위치한 GAS 페달을 마우스를 이용해 밟으면 화면 중앙에 위치한 속도계(MPH)와 RPM 게이지가 반응하는 것을 볼 수 있습니다. 게이지 값을 정확하게 확인하기 위해 운전대 상단을 클릭하면 운전대의 일부가 사라졌다가 다시 나타나는 것을 확인할 수 있습니다.
본 예제에서 사용되는 대다수의 컨트롤 및 인디케이터는 일반 팔레트에 위치한 객체가 아닌 사용자 정의 객체입니다. 다음 과정에서는 이와 같은 사용자 정의 객체를 구성하여 본 예제와 동일한 프로그램을 완성하도록 하겠습니다.

배경 그림 불러오기

본 예제는 차량의 운전석 배경 그림 위에 사용자 정의 객체가 놓여진 상태입니다. 가장 먼저 배경 그림을 불러오는 과정을 연습합니다. 배경 그림을 프런트 패널에 삽입하는 과정은 다양합니다만 이중 가장 흔하게 사용될 수 있는 두 가지 방법을 소개합니다.
1. Copy & Paste을 이용하는 방법: Edit >> Import Picture from File을 선택합니다. 불러오고 싶은 이미지 파일을 선택합니다. 선택된 이미지는 LabVIEW의 클립보드에 복사됩니다. 복사된 이미지를 LabVIEW 프런트 패널에 붙이기 위해서는 Edit >> Paste를 선택합니다.
2. 드래그 앤 드롭 방식: 윈도우 탐색창에서 배경 그림(GIF, JPG, CLP, EMF, WMF, BMP, 또는 애니메이션 이미지)을 선택하여 프런트 패널 안으로 끌어넣기 작업을 수행합니다.

팁: 이미지를 직접 복사하여 붙이는 경우 원 이미지가 갖고 있는 투명(Transparency) 특성을 잃게 됩니다.

컴포넌트의 특성을 편집하는 Control Editor 사용하기

프런트 패널에 놓이는 컴포넌트의 특성을 편집하기 위해서는 Control Editor가 사용됩니다. Control Editor 창을 띄우기 위해서는 특성 변경이 필요한 컴포넌트를 프런트 패널에 위치시키고 오른 마우스 클릭 Advanced >> Customize를 선택합니다. 이해력을 돕기 위해 Slide Control을 위치시키고 오른 마우스 클릭을 수행합니다.

그림 1. Control Editor을 활성화 하기 위한 방법

 

그림 2. Slide Control의 Control Editor 창

 

그림 2의 Control Editor 창은 프런트 패널과 유사하나 블록 다이어그램이 없으며 실행(Run) 시킬 수 없습니다. Control Editor는 한 개의 Control 또는 Indicator 만을 편집할 수 있습니다. 하지만 Array 또는 Cluster가 Control 또는 Indicator를 내장하는 경우 Control Editor가 사용될 수 있습니다. Control Editor는 두 가지 모드를 갖습니다. 창 상단에  모양의 아이콘이 나타나는 경우는 Edit Mode 입니다. Control 또는 Indicator을 편집하려면  을 클릭합니다. 그러면 모양의 아이콘이 나타납니다. 는 현재 Control Editor가 Customize Mode임을 나타냅니다. Customize Mode에서는 컴포넌트의 속성을 편집할 수 있습니다.
그림 2에서는 Slide Control이 여러 개의 흰색 경계로 구분됨을 확인할 수 있습니다. 각 경계는 Slide Control의 세부 요소를 구분 짓습니다. 세부 요소를 하나씩 관찰하려면 Window >> Show Parts Window를 선택합니다.

 

그림 3. Control의 세부 요소를 나타내는 Control Parts 창

Control Parts 창의 Current Part 창 위에 마우스를 올리면 Slide Control의 구성 요소를 확인할 수 있습니다. 하단의 Part Position and Dimensions에서는 각 구성 요소의 위치 및 크기를 설정할 수 있습니다. 그림 3에서 확인할 수 있듯이 Slide Control은 9개의 요소로 구성됩니다. 기존 Slide Control과 비교해 Slider의 위치 및 크기가 다른 사용자 정의 컴포넌트를 제작해보도록 합니다. Current Part에 마우스를 위치시키고 Slider or Needle을 선택한 다음 Left를 150 그리고 Width를 30으로 설정합니다. 그러면 그림 4와 같이 Slider의 위치가 일반 Slide Control과는 사용자 정의 컴포넌트가 제작됩니다. File >> Save를 선택하고 “My Customized Slider”로 저장합니다.

그림 4. Slider의 위치 및 크기 바꾸기

편집한 컴포넌트 불러오기

방금 작업한 컴포넌트를 불러오기 위해서는 두 가지 방법이 사용될 수 있습니다.

1. Select a Control 창을 이용하는 방법: 프런트 패널에서 오른 마우스 클릭하여 Control 팔레트를 띄웁니다. 그림 5와 같이 우측 하단에 위치한 All Controls를 선택하고, 다시 All Controls 메뉴 하단에 위치한 Select a Control을 선택합니다. 그런 다음 탐색기를 이용해 My Slider.ctl을 선택하고 마우스를 프런트 패널 위에 시킨 후 왼쪽 마우스 클릭을 수행합니다.

 

 

 

그림 5. 메뉴에서 새 컴포넌트 불러오기

2. 드래그 앤 드롭 방식: 윈도우 탐색창에서 My Slider.ctl을 선택하여 프런트 패널 안으로 끌어넣기 작업을 수행합니다.

새 컴포넌트는 일반 Slide와 비교해 Slider의 위치와 크기가 다른 것을 확인할 수 있습니다. 이와 같이 컴포넌트의 특성을 편집하기 위해서는 Control Editor를 사용합니다.

 

 

예제의 브레이크 페달 작성하기 – Slide의 속성 활용

예제의 브레이크 페달은 Slide 컨트롤을 기반으로 구성되었습니다. 프런트 패널 위에 Slide 컨트롤을 위치시킵니다. 그림 6과 같이 마우스를 Operator로 바꾸어 Slider를 눌러 5 위치에 자리시킵니다. 그런 다음 오른 마우스 클릭하여 Control Editor를 띄우고 Customize Mode로 변경합니다.

그림 6. Tools 팔레트의 Operator 버튼 (Windows >> Show Tools Palette)

페달 이미지를 Slider에 삽입하기 위해서 클립 보드에 페달 이미지를 복사해야 합니다. Edit >> Import Picture from File을 선택하고 Brake Paddle.jpg를 클립 보드에 붙입니다. 그런 다음 Slide의 Slider을 선택하고 오른 마우스 클릭하여 Import Picture을 선택하면 클립 보드에 복사된 브레이크 페달 이미지가 삽입됩니다. 그런 다음 Slide의 기타 구성 요소(Filling, Housing, Pixel Increment, Pixel Decrement, Cosmetic)를 그림 6의 Set Color 특성으로 투명 처리(T)합니다. 완성된 사용자 정의 브레이크 페달 컴포넌트를 “My Brake Paddle.ctl”로 저장합니다.

그림 7. Slider의 Import Picture를 선택하면 흰색 포인터 자리에 브레이크 페달 이미지를 삽입하기

팁: 슬라이드의 스케일을 0~10에서 10~0으로 변환하려면 오른 마우스 클릭 >> Properties >> Scale 탭에서 Inverted를 선택합니다.

예제의 가속 페달 작성하기 – Slide의 속성 활용

예제의 가속 페달도 브레이크 페달과 동일한 방법으로 제작할 수 있습니다. 예제 작업 시간을 절약하기 위해 “My Gas Paddle.ctl”을 불러들입니다.

예제의 RPM 게이지 만들기 – Gage의 속성 활용

예제의 RPM 게이지와 MPH 속도계는 Gage의 속성을 활용하여 제작하였습니다. 이들 컴포넌트는 Classic 팔레트에 위치한 게이지를 사용하였습니다. Controls 팔레트를 우측 마우스 클릭하고 All Controls >> Classic Controls >> Classic Numeric 팔레트의 게이지 컴포넌트를 프런트 패널 위에 위치시킵니다.

그림 8. Controls 팔레트에는 최신 컨트롤이 위치해 있고 고전적인 컨트롤은 하위 메뉴의 Classic Controls 팔레트에 위치합니다.

게이지의 속성을 변환하기 위해서는 게이지를 오른 마우스 클릭하고 Properties 메뉴를 클릭합니다. Knob Properties: Gauge 창에는 여러 개의 탭 메뉴가 위치합니다. 가장 좌측에 위치한 Appearance 탭의 속성부터 변환합니다.

 

그림 9. 각 컴포넌트의 속성의 변환하기 위해서는 해당 객체를 오른 마우스 클릭하고 Properties 메뉴를 클릭합니다.

가장 먼저 게이지 바늘의 색상을 변환하도록 합니다. 새로운 색상을 선택하기 위해서는 Colors 창을 클릭하고 예제와 같이 주황색을 선택합니다. 또한 Label에는 “RPM X 1000”이라고 기입합니다. Scale 탭에서는 Scale Style의 그림을 클릭하고 여러 가지 스케일 유형 중에서 그림 10과 같이 좌측 상단의 유형을 선택합니다. 그리고 Major tick color과 Marker text color을 형광 하늘색으로 설정합니다.

 

예제의 MPH 속도계 만들기 – Gage의 속성 활용

예제의 MPH 속도계도 RPM 게이지와 동일한 Gage의 속성을 활용하여 제작합니다. 하지만 MPH 속도계는 내부에 KPH를 나타내는 게이지가 추가된 경우입니다. 즉 두 개의 게이지를 포개서 위치시키고 내부 게이지의 바늘을 투명 처리(T)하였습니다. 예제 작업 시간을 절약하기 위해 “My MPH Gage.ctl”와 “My KPH Gage.ctl”를 불러들여 MPH 게이지 위에 KPH 게이지를 위치시킵니다.

예제의 주유 게이지와 온도계 만들기 – Gage의 속성 활용

주유 게이지도 이전에 제작한 MPH 게이지의 속성과 흡사합니다. 하지만 이 컴포넌트는 게이지의 숫자 대신 주유 탱크의 충만도를 나타내는 문자가 사용됩니다. 텍스트 문자를 숫자 대신 삽입하려면 Properties 창의 Text Labels 탭에 위치한 Use test labels for scales markers를 선택하고 0 값은 “E” 그리고 1 값은 “F”을 입력합니다. 추가 문자를 삽입하려면 Insert 버튼을 클릭하고 해당 문자를 입력합니다. Text Label을 선택하면 프런트 패널에 Text Display가 나타나게 되는데 이를 숨기기 위해서는 게이지를 오른 마우스 클릭하고 Visible Items >> Text Display를 설정합니다.

 

그림 11. 게이지 숫자를 문자로 변환하려면 Properties 창의 Text Labels 탭에서 설정합니다.

온도계의 특성도 온도계와 동일하며 “E”와 “F” 대신에 “C”과 “H”를 대입합니다.

예제의 시동 장치와 팝업 핸들 만들기 – Button의 속성 활용

예제의 시동 장치와 팝업 핸들은 불리언 속성을 유전 받는 Button/Switch을 사용한 것입니다. 프런트 패널 위에 Classic Boolean 팔레트의 Flat Square 버튼을 위치시킵니다. Flat Square 버튼의 특성을 편집하기 위해서는 Control Editor가 사용됩니다. Control Editor 창을 띄우기 위해서는 Flat Square 버튼을 오른 마우스 클릭하여 Advanced >> Customize를 선택합니다. 그런 다음 Control Editor를 열어 Customize Mode로 전환합니다. 버튼의 중앙을 클릭하면 그림 12와 같은 메뉴창이 띄워집니다. 일반 버튼에는 네 가지 이미지를 삽입할 수 있으며 네 가지 이미지는 버튼의 네 가지 상태를 나타냅니다.

- 첫 번째 이미지: FALSE 상태일 때 나타나는 그림.
- 두 번째 이미지: TRUE 상태일 때 나타나는 그림.
- 세 번째 이미지: TRUE에서 FALSE로 변환될 때 나타나는 그림.
- 네 번째 이미지: FALSE에서 TRUE로 변환될 때 나타나는 그림

그림을 추가하기 위해서는 가장 먼저 Edit >> Import Pictures from Fill을 클릭하고 첫 번째 이미지인 Ignition OFF.jpg를 선택합니다. 그런 다음 마우스를 버튼 중앙으로 위치시키고 Picture Item에서 첫 번째 칸을 선택한 다음 Import Picture를 선택하면 방금 클립보드에 복사된 Ignition OFF 이미지가 삽입됩니다. Picture Item에서 두 번째 칸을 선택합니다. 다시 Edit >> Import Pictures from Fill을 클릭하고 버튼 중앙에 두 번째 이미지인 Ignition ON.jpg를 선택하면 해당 이미지가 삽입됩니다.

그림 12. 버튼 속성을 갖는 컴포넌트는 버튼의 상태를 나타내는 네 가지 이미지를 포함합니다.

팝업 핸들을 구성하는 방법도 시동 장치와 흡사합니다. 예제 작업 시간을 절약하기 위해 “My Pop Up Handle.ctl”를 불러들입니다. 그리고 Handle Main.jpg도 불러읽어 팝업 핸들과 함께 위치시킵니다.

모든 컴포넌트를 예제와 동일하게 정렬하기

팁: 그림 2의 Control Editor에서 Control 대신 Type Def. 또는 Strict Type Def.를 선택할 경우 추후에 Control의 속성이 변경되면 자동으로 그 내용이 업데이트됩니다. 오히려 자동으로 업데이트 때문에 기존 코드에 문제가 발생할 수 있기 때문에 주의하여 사용하십시오.

본 강의에서는 사용자의 용도에 맞게 프런트 패널에 위치하는 객체(컨트롤 또는 인디케이터)의 속성 변환 작업을 연습하였습니다. 따라서 본 강의를 숙지하면 사용자의 어플리케이션의 용도에 맞는 사용자 정의 객체를 구성할 수 있습니다.

추가 학습 자료

Customizing Control using a Picture Ring
Animating LabVIEW Control

 

>> LabVIEW에 대한 더 많은 정보를 확인하세요! ni.com/korea/labview 위로 

>> 아직 가입하지 않으셨나요? LabVIEW 개발자 네트워크 mylv.net