측정 자동화가 필요한 학생, 직장인을 위한 강의

    반응형

    저는 학생부터 직장생활까지 약 9년 정도 랩뷰를 사용해 왔습니다. 학부 수업 때부터 랩뷰를 사용했고 직장생활을 하면서는 많은 제품의 양산과정 전체를 랩뷰로 프로그래밍했습니다. 전문적으로 프로그래밍을 전공하지는 않았지만 오랜 기간 동안 랩뷰를 다뤄오면서 제가 석사과정이나 신입사원으로 근무할 때 조금 더 설명이 잘 되어 있는 블로그나 글이 있었으면 더 빨리, 쉽게 프로그래밍을 하지 않았을까 하는 생각으로 글을 작성해 봅니다.

    랩뷰(LabVIEW)는 무엇이고 어디에 쓰이는가

    랩뷰는 프로그래밍 언어입니다. C언어, C++, Python, R과 같은 언어입니다. 소스 코드를 작성하고 실행함으로써 프로그램을 작성할 수 있습니다. 랩뷰는 다른 언어와 다르게 텍스트 기반으로 코드를 작성하지 않고 그림을 넣고 선을 잇듯이 코드를 작성합니다. 어떻게 보면 쉽고, 어떻게 보면 어렵습니다. 

     

    Sum=3+2를 랩뷰로 코딩한 소스 코드

     

    랩뷰는 제 기준으로 '측정'을 주로 하는 업무에 많이 사용합니다. 특히 계측기를 컨트롤하거나 계측기에서 측정값을 가져와서 저장하고 그래프로 출력하는 동작이 90% 이상을 차지합니다. 저는 자동화를 많이 했기 때문에 특정 값으로 제품을 세팅하고 측정하여 해당 세팅의 Pass/Fail을 구별하여 제품의 양/불 판정을 하는 등의 프로그램을 자주 작성했습니다. NI 교육센터에서 하는 랩뷰 강의를 보더라도 NI에서 만든 DAQ(데이터 수집) 하드웨어를 가지고 전압을 측정하거나 전압을 인가하는 등의 예제를 가지고 LED에 불을 켜보거나 하는 등의 강의를 합니다. 조금 더 나아가면 측정이란 행위는 센서에서 나온 값을 가져오는 것이므로 센서를 다룬다고 해도 무방할 것입니다.

    저는 제가 익숙한 계측기를 가지고 글을 써 나아갈 것입니다. 계측기들은 특히 물리학과 또는 전자공학 쪽에서 많이 사용하는 제품일 것입니다. 주로 사용하거나 언급하는 제품은 아래와 같습니다.

    - 직류 파워 서플라이(DC Power Supply, Agilent사의 E3631A 등)

    - 광 스펙트럼 분석기(Optical Spectrum Analyzer, Anritsu사의 MS9740A 등)

    랩뷰의 장점과 단점

    랩뷰의 최고 장점이라고 하면 단연 배우기 쉽고, 그래픽화(GUI를 만들기)하기 쉽다 라고 말할 수 있습니다. 특히 C언어나 Python 등을 약간이라도 접해 봤다면 더욱 쉬울 것이고, 반대로 랩뷰를 먼저 배우고 텍스트 기반 언어를 배우는 것도 좋다고 생각합니다. 루프나 배열 등이 이미 시각화되어 있으므로 직관적입니다. 코드를 그림처럼 그릴 수 있어 언어에 대한 장벽이 느껴지는 분들도 쉽게 접근할 수 있습니다.

    하지만, 그림처럼 그리는 소스 코드는 반대로 텍스트 코드 몇 줄이면 끝나는 프로그램을 랩뷰에서는 선을 이리저리 가져다 붙여야 하고, 조금만 난잡하게 코드를 작성하면 도대체 알 수 없는 코드가 만들어집니다. 비단 랩뷰만이 아니라 코드를 난잡하게 작성했다면 텍스트 코드에서도 쓰레기가 되겠지만, 정말 랩뷰에서 그냥 막 짜 놓은 코드는 그냥 삭제하는 게 나을 정도입니다.

    또한 프로그램이 어느 정도 커지면 함수를 관리하는 것이 쉽지 않습니다. 코드를 빠르고, 효율적으로 작성하기 위해서는 함수를 쪼갤 수 있을 만큼 쪼개는 것이 좋습니다. 텍스트 기반 언어에서는 이런 함수들을 나열해 놓고 한 번에 볼 수 있는 반면 랩뷰는 함수 하나하나를 열어서 확인해야 합니다. 그리고 역시 그래픽 기반의 언어답게 PC 사양을 어느 정도 타는데 프로그램이 커지면 커질수록 코딩을 할 때 랩뷰 자체가 느려지는 현상은 어쩔 수 없는가 봅니다.

    다음 강에서는 랩뷰 커뮤니티 에디션(또는 유료 버전)의 설치 방법에 대해서 알아보겠습니다.

    댓글

    Designed by JB FACTORY