You are here

LabVIEW Tech-Tip 24호: LabVIEW 2012 새기능 따라하기

 

개요

LabVIEW 2012 는 측정 및 컨트롤 어플리케이션의 개발 생산성을 증진시킬 수 있도록 새로운 기능들이 추가되고 보완되었습니다. 시스템은 빠르게 구축하는 것도 중요하지만, 올바르게 구축하는 것 역시 중요합니다. 시스템을 올바르게 구축한다는 것은 품질과 안정성이 보장되어야 하고, 유지관리 비용이 최소화되며, 팀 기반의 개발이 가능하고, 시스템의 정확도와 성능을 보장해야 함을 의미합니다. 

이러한 부분에 중점을 두어 LabVIEW 2012에는 보다 뛰어난 품질의 어플리케이션을 보다 빠르게 개발할 수 있는 다양한 기능들을 추가하였습니다. 본 Tech-tip에서는 LabVIEW 2012에 새롭게 추가된 기능 중 일부를 체험해 볼 수 있도록 제작하였습니다.

 

시작하기전에...

 1. 드라이버를 설치하신 후에, 바탕화면에서  아이콘의 MAX 를 실행시키십시오.

 2. MAX에서 좌측 디바이스와 인터페이스 영역에서 마우스 오른쪽버튼을 클릭하여 새로 생성을 선택합니다.

 
3. 시뮬레이션 NI-DAQmx 디바이스 를 선택합니다.
 
4. X시리즈 DAQ에 NI PCIe-6320을 선택하십시오.
 
5. 생성된 디바이스 이름을 확인합니다.
 본 하드웨어 이름을 서브다이어그램 단계에서 사용할 예정입니다.

 본문 - LabVIEW 2012 새기능 따라하기

 

LabVIEW 길잡이 창

LabVIEW를 실행하게 되면 ‘LabVIEW 길잡이 창’을 확인할 수 있습니다. 본 길잡이 창은 LabVIEW 환경을 좀 더 효율적으로 활용할 수 있는 학습 자료, 새 기능, 어플리케이션 업그레이드 방법 등 다양한 리소스를 제공합니다.

 

1. 성공적인 LabVIEW 사용 : LabVIEW 기반 시스템을 개발하는 데 도움이 되는 온라인 튜토리얼과 교육 내용 등을 제공하는 종합 리소스인 LabVIEW 기술 가이드북을 확인할 수 있습니다.(인터넷 연결필요)


2. 새로운 기능 익히기 : 플랫폼의 새로운 모든 기능에 대한 자세한 정보를 확인할 수 있습니다.


3. LabVIEW 2012로 업그레이드 : 기존 LabVIEW 시스템을 최적의 방식으로 업그레이드할 수 있는 방법을 제공합 니다. LabVIEW 2012에서 이전에 생성했던 프로젝트를 저장하기 전에 본 내용부터 확인하길 권장합니다.

 

 탬플릿 및 샘플 프로젝트

새 어플리케이션 시작 시 템플릿 및 샘플 프로젝트를 생성하는 방법을 알아봅니다.

1 단계: 사용 가능한 템플릿 및 샘플 프로젝트를 탐색하고 도움말 문서 확인

새 어플리케이션 시작 시 템플릿 및 샘플 프로젝트를 생성하는 방법을 알아봅니다.

 

1. 시작하기 창에서 '프로젝트 생성'을 클릭합니다. '프로젝트 생성 창'은 새 어플리케이션의 시작점으로 사용할 수 있는 사용 가능한 템플릿과 샘플 프로젝트를 나열합니다.

 

2. 이탤릭 체의 글자들은 템플릿인지 샘플 프로젝트인지 여부를 나타냅니다. 템플릿은 기본 LabVIEW 디자인 패턴이며, 샘플 프로젝트는 특정 어플리케이션에 대한 하나 또는 그 이상이 조합된 디자인 패턴입니다. 

 

3. '기본 상태 머신'을 선택하고 '추가 정보'를 클릭하여 문서를 엽니다. 모든 템플릿 및 샘플 프로젝트에는 사용자가 숙지해야 할 기본 디자인과 개념을 설명하는 문서가 포함되어 있습니다.

                                     
 
4. 문서에서는 템플릿의 용도를 기술합니다. 문서에서 '용도' 부분의 설명에 따르면 이 템플릿은 '한 번 측정하고, 이를 디스크에 로그인한 후, 다른 사용자 동작을 기다리는 어플리케이션, 이 어플리케이션의 상태는 사용자 입력 기다리기, 측정 수행하기, 데이터 로그하기, 데이터 디스플레이하기 등을 포함합니다' 수행 시 사용할 수 있습니다.
 
5. '개요' 부분으로 마우스를 스크롤하여 이 다이어그램의 플로우 차트를 확인합니다. 이 차트는 케이스 구조 안의 케이스 간의 논리적 관계를 나타냅니다.
 
6. 우측 상단의 X 버튼을 클릭하고 다시 '프로젝트 생성' 창으로 돌아갑니다.
 
2단계: 아이콘 오버레이 변경 및 템플릿 열기

1. '기본 상태 머신'을 선택하고 '다음'을 클릭합니다. 모든 템플릿 및 샘플 프로젝트에는 파일명과 아이콘 등의 여러 사항을 직접 정의할 수 있는 추가 창이 있습니다.


2. 프로젝트 이름을 '기본 측정 어플리케이션'으로 변경합니다.

 

3. '오버레이 편집'을 클릭하여 앞으로 생성될 모든 VI에 나타날 일반 오버레이를 설정합니다.


4. 채우기와 텍스트 도구를 이용하여 아래 이미지처럼 오버레이를 변경합니다.

 
5. '확인'을 클릭합니다. 변경된 내용은 프로젝트 생성 창에서 확인할 수 있습니다.

 

 6. '마침'을 클릭하여 새로운 프로젝트 탐색기 창에서 새 복사본의 템플릿 생성을 시작합니다. 이 복사본에 이루어진 변경 사항들은 LabVIEW의 기본 템플릿에는 영향을 주지 않습니다.

 
3 단계: 코드 직접 정의 및 변경하는 방법 확인
1. main.vi를 열고 블록 다이어그램을 살펴봅니다. (CTRL + E 입력)
                                    
                   
 

2. 템플릿에는 코드의 기능을 설명하고 어떤 코드가 필요하거나 권장되는지 문서화되어 있습니다. 파란색 코멘트는 코드가 필요한 부분을 나타냅니다.


3. 'Initialize' 상태는 실행되는 첫 번째 상태이며, 상태는 while 루프 왼쪽 편의 열거형 상수가 결정합니다. 코멘트에 설명되어 있듯이, 이 상태에서는 디스플레이를 초기화하고 시프트레지스터에 저장된 데이터를 초기화합니다. 이 상태를 완료한 후에 어플리케이션은 ‘Wait for Event’ 상태로 이동하며, 사용자가 이벤트를 트리거링할 때까지 이 상태를 유지하게 됩니다.

                 
 

4. 케이스를 'Wait for Event' 케이스로 변경합니다. 이 케이스에는 사용자가 프런트 패널의 컨트롤에 수행한 내용을 캡쳐하고, 상태 머신이 입력할 다음 상태를 선택하는 이벤트 구조가 포함됩니다. 예를 들어, 사용자가 '동작 1'을 누르면 이벤트 구조는 다음 상태를 'User State 1'으로 설정하게 되며 'User State 1'을 데이터로서 시프트 레지스터에 저장합니다.


5. 그 다음 돌게 되면 저장된 'User State 1'에 의해 케이스 구조에서 'User State 1' 케이스가 선택됩니다. 이 케이스에는 동작1 버튼을 눌렀을 때 수행해야 하는 모든 다이어그램은 코드를 정확하게 입력하면 됩니다.

              

 

6. VI 및 프로젝트 탐색기를 닫고 프로젝트를 끝냅니다.

 
4 단계: 샘플 프로젝트를 열고 실행

1. 시작하기 창에서 '프로젝트 생성'을 클릭합니다.


2. '유한 측정' 샘플 프로젝트를 선택하고 '다음'을 선택합니다.

                   
 

3. 프로젝트 이름을 '유한측정'이라고 변경하고 '마침'을 클릭합니다.


4. main.vi를 열면 완성된 어플리케이션을 확인할 수 있습니다. 이 어플리케이션은 상태 머신 템플릿을 기반으로 제작되었습니다.

           
 
5. 프런트 패널에서 실행버튼을 눌러 어플리케이션을 실행합니다. 클릭합니다.
               
 
6. '셋팅'을 클릭하면, 신호타입과 새 데이터 동작을 선택하는 창이 뜹니다. '사인파'를 선택하고 확인을 클릭합니다.
                  
 
7. '수집'을 클릭하여 신호를 읽습니다.
                   

 

8. 이 어플리케이션은 위의 기능 외에도 다음과 같은 기능도 포함하고 있습니다.

a. *.lvm 파일에 저장
b. 이미지 저장
c. 이전에 저장한 *.lvm 파일 로딩

 

9. '종료'를 클릭하여 어플리케이션을 정지합니다.


10. 블록 다이어그램을 확인하면 (CTRL + E 입력) 이 샘플 프로젝트가 기본 상태 머신 템플릿 기반으로 제작되었음을 확인할 수 있습니다.

                  
 

11. 프로젝트를 닫고 시작하기 창으로 돌아갑니다.


12. 시작하기 창은 이전에 열었던 프로젝트들로 채워져 있습니다. 왼편의 항목들은 새 프로젝트를 생성하기 위해 사용했던 템플릿 및 샘플 프로젝트입니다. 오른편의 항목들은 방금 사용자가 생성한 특정 프로젝트입니다.


13. 목록의 항목 왼편에 마우스를 이동하면 핀 고정 표시가 나타나며, 이 핀을 클릭하여 대화창의 항목을 ‘고정’합니다. 이렇게 새로운 시작하기 창을 통해 자주 사용하는 항목을 고정시킬 수 있습니다. 이 기능은 여러 프로젝트를 동시에 개발할 경우 유용하며, 핵심 프로젝트들은 목록의 상단에서 언제든 확인이 가능합니다.

                
 

IDEA EXCHANGE를 통한 생산성 향상

LabVIEW 사용자들의 피드백이 반영되어 새롭게 적용된 일부 기능들을 살펴봅니다.

1 단계: 서브다이어그램 라벨

1. 예제 파일에서 'Instantaneous Measurement.vi' 를 엽니다.

                                
 
2. 블록 다이어그램으로 전환합니다 (CTRL + E)
                   
 
3. 위 while 루프의 경계에서 마우스 오른쪽 버튼을 클릭하고 ‘보이는 아이템>>서브다이어그램 라벨’을 선택합니다. 아래 루프에서도 이 작업을 동일하게 수행합니다. 서브다이어그램 라벨은 루프와 함께 이동하고, 크기 조정 시 자동으로 크기가 조정되도록 제작되었으며, 라벨을 통해 다이어그램을 보다 쉽게 정돈할 수 있습니다. (참고: 이 vi에서는 경계를 구분하기 위해 색상을 설정했지만, 새 구조는 기본 색상을 사용)
                  
4. While 루프를 확장하여 서브다이어그램의 크기가 자동으로 재조정되도록 나타냅니다. (완료 시 사이즈 크기 조정을 취소)
 
2 단계: 마우스 오른쪽 클릭 메뉴 옵션

1. 아래 루프에서 'Read Data' 케이스가 나타나도록 합니다. 현재 모든 터미널들이 아이콘으로 디스플레이되어 블록 다이어그램에서 많은 공간을 차지하고 있음을 확인할 수 있습니다. 이 아이콘들을 보다 작은 터미널들로 변경하려면 이전까지는 개별 아이템마다 설정을 진행해야 했습니다.


2. 마우스를 클릭하여 아래 이미지처럼 케이스 구조를 둘러싸도록 드래그합니다.

                        
 3. Frequency그래프 아이콘을 마우스 오른쪽 클릭하고 '아이콘으로 보기'의 체크 표시를 해제합니다. 'Time Domain Graph'와 'Frequency' 아이콘은 아래 이미지처럼 터미널로 디스플레이됩니다.
                                                  

 

4. 이렇게 여러 아이템들에 대해 동일한 작업을 동시에 진행할 수 있습니다. 또 다른 예로, 마우스 오른쪽 클릭하고 라벨 없애기를 수행할 수 있습니다. 동일한 아이템들에 대한 선택을 유지한 상태에서 Next State 열거형 상수를 마우스 오른쪽 클릭하고 아래 이미지처럼 '보이는 아이템>라벨' 선택을 해제합니다.

                                
5. 이제 케이스 안의 모든 아이템들은 라벨이 디스플레이됩니다.
 
3 단계: 문자열 편집 창
1. 'Status Bar' 아이콘과 연결된 문자열 터널을 마우스 오른쪽 클릭하고 '생성 > 상수'를 선택하여 새로운 문자열 상수를 생성합니다.
                                                

 

2. 문자열 상수를 마우스 오른쪽 클릭하고 '편집'을 선택합니다. 새로운 문자열 편집 창이 실행됩니다.

                                                

 

3. 'Read Data' 케이스가 나타나면, 'Acquiring Data'를 디스플레이하고자 하므로 편집기에 'Acquiring Data'를 입력합니다.
 

4. '텍스트 크기에 맞춤' 선택 항목의 체크 표시를 해제하고 아래 이미지처럼 '확인'을 클릭합니다.

                        

5. 이제 이 텍스트는 상수로 저장되며, 블록 다이어그램에서 문자열 상수를 확장하지 않고 편집이 가능합니다.


6. 아래 While 루프에서 Initialize 케이스에 가서 앞서 만들었던 시뮬레이션 하드웨어 이름을 선택하여 입력합니다.

                       

 

 7. 프런트 패널로 전환하고 VI를 실행합니다. 'Acquire'를 누르면 VI의 상태 인디케이터가 'Acquiring Data'를 디스플레이합니다.

                  
 
 4 단계: 조건적 루프 터널
 1. 'Concatenate Terminal.vi'를 열고 블록 다이어그램을 확인합니다 (CTRL + E).
                              

 

 2. 이 블록 다이어그램은 불리언 기준에 따라 조건적으로 배열을 구축합니다. 블록 다이어그램은 두 개의 배열을 구축합니다: 하나는 홀수, 나머지 하나는 소수이며 사전에 케이스 구조와 배열 만들기 함수가 필요합니다.

              

 

 3. 조건 터미널을 이용하면 케이스 구조를 제거하고 코드를 간소화할 수 있습니다. 두 케이스 구조를 선택하고 'Delete'를 입력하여 제거합니다. 'CTRL + B'를 입력하여 블록 다이어그램을 정리합니다. 블록 다이어그램이 아래 이미지처럼 나타납니다.

                 

 

 4. 원래 배열을 인디케이터에 직접 와이어로 연결합니다. 연결에는 인덱싱 터널이 필요합니다. 이 터널들을 마우스 오른쪽 클릭하고 '터널 모드 > 조건적'을 선택합니다.

                        

 

5. '0과 같지 않음?'의 불리언 값과 'Is Number Prime.vi'의 출력을 각각의 조건 터널에 와이어로 연결합니다. 이제 코드는 다음과 같이 나타나야 합니다.

                  
6. VI를 실행합니다. 처음 VI를 실행했을 때 나타났던 VI와 동일한 기능을 수행하지만 프로그래밍의 진행과 이해하기가 훨씬 쉽습니다.
 
지금까지 LabVIEW 2012의 다양한 새기능 중 일부를 살펴보았습니다. 보다 자세한 정보는 ni.com/labview/whatsnew/ko/를 참고하시기 바랍니다. 새기능의 따라 별도의 모듈 및 툴킷의 설치가 필요할 수 있습니다