LabVIEW

init_fixed.GIF

1 개요

LabVIEW는 미국 NI(National Instruments)사에서 제작한 시스템 디자인 및 하드웨어 제어에 특화된 그래픽 기반 프로그래밍 툴이다. 보통 '랩뷰'라고 발음한다.

1986년 매킨토시용 GUI 프로그래밍 툴로 처음 출시되어 후에 기능이 확장되고 윈도우리눅스도 지원하게 되어 지금에 이른다. 다른 메이저 프로그래밍 툴과는 달리 G라고 하는 그래픽 기반 프로그래밍 언어를 사용해 알고리즘을 짜기 때문에 초보자도 매우 쉽게 프로그램을 다룰수 있다. 한국에서는 2000년대 중반까지만 해도 MATLAB같은 메이저 툴에 밀려 인지도가 낮았지만, 현재는 쉬운 난이도와 막강한 외부장치와의 호환성을 장점으로 철도, 기계, 전자 장비들을 제어하는 현장에서 많이 쓰이며, 이공계 학생들의 프로그래밍 입문용 툴로 주목받고 있다.

2 특징

프로젝트를 만들면 두개의 창이 뜨는데, 한쪽은 프로그램의 겉모습을 디자인하는 패널이고, 다른 한쪽은 프로그램의 알고리즘을 디자인하는 패널이다. 비주얼 베이직과 비슷해보이지만 랩뷰의 경우 아예 다른 창으로 각자 나뉘어져 있다. For문, If문, While루프를 상자모양의 "구조"로 구현한다.

2.1 장점

앞서 말했듯이 그래픽 기반 프로그래밍 툴로 그냥 마우스로 이것저것 삽입해서 연결하기만 해도 알고리즘을 짤 수 있다. 프로그래밍을 처음 해보는 사람이라도 몇분만 다뤄보면 간단한 프로그램을 만들 수 있을 정도.

대학에서 랩뷰를 가르치는 교수가 자신이 가르치지 않아도 그냥 책이나 도움말보고 몇일간 따라서 만들어보면 마스터할 수 있다고 할 정도니 말다했다(...) 물론 저말에 갸우뚱하며 랩뷰를 어려워하는 학생들도 매우 많다 또한 랩뷰는 외부 기계장치 제어에 최적화 되어있어서 수많은 기계를 다루는 공장이나 기차 운행을 제어하는 철도역등 기계 제어와 관련된 현장에서 손쉽고 유용하게 사용할수 있다. 또한, 각종 실험기기들을 효율적으로 제어해야 하는 실험실에서 사용하는 경우가 많다. National Instruments는 주로 데이터 수집용 하드웨어를 파는 회사인데, 당연하게도 완전 호환되는 라이브러리가 지원되기 때문에 각종 데이터들을 수집한 후 PC에 손쉽게 기록/분석할 수 있다.

2.2 단점

프로그램을 그래픽 형식으로 짜다보니 당연히 직접 키보드로 입력하는것보다 프로그램을 섬세하게 짜는게 어렵다는 단점이 있다. 설령 섬세하게 짠다고 해도 수많은 구조나 함수들을 그래픽으로 입력해야하기 때문에 편집하기가 더 어려워진다. 이보다 더 큰 문제는 쉽다고 막 짜다보면 구조적으로 프로그래머가 예측하기 어려운 문제들이 많이 터진다는 점이다. 즉, 랩뷰로 간단한 프로그렘을 짜는건 쉽지만, 약간이라도 깊이 있는 프로그램을 짤려면 어떤 상황에서 이런 구조나 기능이 내부적으로 어떻게 동작하는지를 경험적으로 알고 있어야 한다.

정말 간단한 UI를 구현하기는 쉽지만 조금만 복잡하게 들어가려면 정말 어렵고 까다롭다. 프로그램을 객체지향 및 함수 지향적으로 짜기가 쉽지 않아 모듈화가 쉽지 않다. 물론 모듈화가 불가능하다는 뜻은 아니지만 vi를 일일히 만들어줘야 한다.

인터페이스도 마이크로소프트사의 비주얼 스튜디오 같은 전문 IDE 툴에 비해 많이 불편하다.

가격이 많이 비싸다. 2016년 현재 최소 150만원이 넘고 패키지 좀 붙히면 600만원은 그냥 넘는다. 따라서 학생들이 사용하기에 부담된다. 그래서 저렴한 교육용 버전이 따로 있고 홈페이지에서 15일 체험판도 배포한다.[1]

3 관련 프로그램

  • NI Measurement Studio : NI사에서 개발. 비주얼 스튜디오에 종속된 라이브러리. LabVIEW 관련 UI 라이브러리를 제공해준다. 대개 VB/VB.NET이나 C\#에 능숙한 개발자들이 많이 사용한다.
  • NI LabWindows/CVI : NI사에서 개발. ANSI C언어 기반 개발 툴이다. NI Measurement Studio와는 다르게 아예 통합 개발 환경로 되어있다. Real-Time Module로 개발하지 않는 이상 보통 개발자들은 Visual Studio(VB or C#) + NI Measurement Studio 조합으로 가던가 아니면 처음부터 랩뷰로 개발하기 때문에 이를 사용하는 사람은 많지 않다.
  • 비주얼 베이직 : 비주얼 스튜디오 내에 있는 프로그래밍 언어로 2016년 현재 LabVIEW와 더불어 산업현장 및 FA 등에서 가장 많이 쓰이는 개발툴이다. 아직까지도 VB 6.0을 가장 많이 사용하고 VB.NET 2008/2010도 많이 사용한다. 2012 버전 이후로는 Windows XP에서 동작이 원활하지 않기 때문. LabVIEW 만큼, 아니 C언어 같은 기초적인 내용만 알아도 LabVIEW보다 더 쉽게 FA 제어/계측 프로그램을 개발할 수 있다. 앞서 기술한 NI Measurement Studio 과 함께 사용하면 편리하다.
  • Keysight VEE : Keysight(구 Agilent)사에서 개발한 그래픽 기반 프로그래밍 언어. 'Agilent VEE'라고도 불린다. LabVIEW에 비해 인지도가 많이 낮다.
  1. 그런데 체험판의 경우 처음 실행한뒤 날짜를 설치하기 전으로 설정하면 그만큼 사용가능기간이 늘어나는 버그가 있다(...) 2014년 최신 버전조차 이런다. 2099년 12월 31일로 하면 끝.