본문 바로가기

LabVIEW

[LabVIEW 강의]_0강 랩뷰는 무엇이고 어디에 쓰이나요?

 

 

공장 자동화, 4 산업혁명, 스마트 팩토리가 대두 되면서 랩뷰에 대한 관심도가 오르고 있습니다.

-랩뷰 로고

랩뷰는 네셔널 인스트루먼트(이하 NI)에서 제작한 프로그래밍 언어입니다.

다른 언어들과의 차이점이라면 GUI 방식의 프로그래밍 언어라는 점이에요.

 

다른 개발 도구를 사용하는 개발자님들이 글을 보면 의아하실겁니다.

GUI? 소스 코드에 GUI개념이라니?

 

우리가 일반적으로 프로그래밍, 코딩을 떠올렸을 때는 모니터에 무언가 없는 글씨가 빼곡하게 적혀있는 모습이 그려질텐데요.

 

랩뷰는 아래와 같이 눈에 보이는 블록들이 선으로 연결된 형태로 코딩을 합니다.

-랩뷰의 소스 코드

다른 언어들과의 차이점이 되는 부분이에요.

 

 

그렇다면 랩뷰를 왜 쓸까요?

랩뷰라는건 대체 어디에 쓰이는 걸까요? (Labview 배우는 대학생들, 예비 취업자들이 가장 궁금해 하는 문제이다.)

 

 

랩뷰를 쓰는 이유, 랩뷰의 장점

 

 

랩뷰의 첫번째 장점 수많은 함수.

-수백여 가지의 함수가 제공된다.

텍스트 기반 프로그래밍 언어에서는 직접 만들어 사용해야 하는 다양한 함수들을 랩뷰에서는 기본으로 제공합니다.

원하는 함수를 목록에서 찾아 그냥 마우스로 끌어다 놓기만 하면 함수를 사용 있어요.

 

텍스트 언어에서 프로그래밍을 코딩할 구글이나 기타 다른 커뮤니티에서 일반 유저들이 제작한 함수를 다운로드 해서 작업할 때가 있습니다.

그런데 이렇게 코딩을 하면 개발자에게는 한가지 불안한 문제가 있죠.

함수가 정상 작동하는 함수가 맞나,,? 하는 문제입니다.

함수가 정상 동작하는지 테스트하고 후에 디버깅 때를 위해 분석까지 해야하죠. (다른 사람이 제작한 코드라서 분석에 시간을 잡아먹을 때가 있다,,)

하지만 랩뷰는 저명한 수학자, 과학자, 프로그래머들을 통해 검증된 함수들을 제공하고 있기 때문에 직접 함수를 테스트 할 필요도 분석 할 필요도 없다 장점이 있습니다.

(제법 세세한 사용방법까지 도움말로 제공하고 있으니 만족스럽다. 심지어 한글 도움말도 지원한다.)

검증 함수들을 다양하게 지원하니 당연히 개발 속도 또한 올라간다는 이점이 있어요. (시간을 절약하니 비용까지 절감된다!)

 

 

 

 

랩뷰의 두번째 장점 데이터 흐름의 시각화 입니다.

-와이어를 통해 데이터의 이동이 쉽게 보여진다.

텍스트 언어로 프로그래밍을 하면 혼동이 때가 있어요.

특히 협업을 하면서 내가 작성한 코드가 아니면 그렇습니다.

프로시져나 인터럽트 처리를 위해 위로 갔다가 아래로 갔다가 소스 코드들을 이리저리 다녀야 합니다.

 

랩뷰는 이미지 처럼  블록이 와이어(선)으로 연결 되어 있어요.

앞에서 처리한 데이터는 와이어를 타고 다음 처리 과정으로 향합니다.

다음 과정에서의 처리가 끝나면 다른 곳에서의 처리가 이어지거나 결과값을 출력해요.

소스 코드를 단계별로 진행(하이라이트 기능)하면 실시간으로 데이터가 선을 타고 가는 모습이 보여집니다.

 

스타크래프를 해보신 많으실텐데요.

프로토스에 '프로브'라는 유닛이 있습니다.

작은 몸집에 커다란 같은게 달려있고 여기 저기로 이동시키며 정찰하는 목적으로 사용하는 유닛인데요.

랩뷰에도 프로브가 있습니다.

데이터가 지나가는 와이어에 프로브를 배치해두면 코드가 실행되면서 프로브가 위치한 곳의 실시간 데이터를 창에 띄워줍니다.

아직 실행되지 않은 부분은 프로브의 데이터도 출력 되지 않기 때문에 소스 코드의 특정 부분이 실행 되었는지에 대한 유무를 알아보기에도 좋아요.

정말 엄청 편리하고 막강한 기능이에요.

반복문의 인덱스 넘버나 실시간으로 들어오는 측정값, 에러 코드, plc 통신할 plc 접점 상태 계속해서 변화하는 값을 확인하기에 아주 용이합니다.

 

 

 

 

랩뷰의 세번째 장점은 수많은 NI 하드웨어와의 연동성입니다.

-랩뷰와 NI의 하드웨어.

NI 세계적으로 유명한 회사인데 주로 측정과 통신에 관련 된 하드웨어를 개발, 제작, 판매 하고 있습니다.

우리가 사용하고 있는 수많은 전자기기들, 물건들은 공장에서 생산 회사의 테스트를 거쳐서 판매 되는 제품들이에요.

불량품을 내보내면 회사 이미지가 실추하고 이는 판매량과 수익에 직접적으로 영향을 주니 생산 공장에서는 이러한 제품 테스트를 타이트하게 관리합니다.

 

지금 타이핑을 하고 있는 키보드를 예로 들어볼까요?

생산하는 키보드의 합격 기준이 있을거에요.

 

모든 버튼들이 적절한(기준에 맞는) 힘을 가했을 눌러지는가?

(너무 약하게 눌렀을때 입력이 되면 안된다. 또한 너무 강하게 눌러야 입력이 되면 불편하다.)

LED 정상적으로 들어오는가?

키보드 내부의 전압, 전류는 이상이 없는가?

유선일 경우 케이블의 연결은 정상인가?

무선일 경우 블루투스 연결은 정상인가?

모든 버튼들의 모양은 정상인가?

내부 납땜은 정상인가?

버튼 누락은 없는가?

버튼에 글씨들은 바르게 써져 있는가?

등의 다양한 테스트가 있을거에요.

저러한 성능을 테스트 확인해야 하는 수치는 전류, 전압, 소음, 진동, 온도, 영상, 압력(무게), 거리(속도), 밝기 등으로 다양하게 있어요.

컴퓨터는 0 1이라는 디지털 신호밖에 모르는데 어떻게 저런 아날로그 신호를 입력받아 검사할 있을까요?

바로 이때! NI에서 제작한 하드웨어(센서) 사용됩니다.

센서 신호를 입력 받는 DAQ와 아날로그 신호를 디지털 신호로 변환해주는 AD컨버터 말해요.

뛰어난 성능의 AD컨버터와 DAQ, 통신 하드웨어를 제작하는 것으로 유명한 NI가 직접 만든 프로그래밍 언어인 LabView.

당연히 NI 하드웨어들과 연동성이 높겠죠? (하드웨어와 프로그래밍 툴까지 팔아 먹을 있으니,,)

usb 또는 통신 케이블로 하드웨어와 pc 연결하고 LabView 실행한 기본으로 제공되는 예제 소스만 열어서 실행해도

센서를 통해 실시간으로 값이 측정됩니다!

 

NI에서 제작한 뛰어난 하드웨어와 간편하고 강력하게 연동된다는 것이 다른 언어들과 구분 되는 큰 장점입니다.

(뛰어나다는 의미는 ms 이하의 단위로 측정되는 데이터 변화도 측정 있다는 ! 정밀하고 빠르다는 뜻입니다.)

 

 

 

랩뷰가 쓰이는 곳

 

 

연구실

연구실에서는 정확한 측정 값을 필요로 합니다.

정확한 측정 값을 도출하기 위해서는 정확한 수식으로 계산을 해야해요.

랩뷰의 다양한 함수들은 수학자들에게서 검증된 함수들입니다.

연구원들은 단지 검증된 함수를 끌어와 간단하고 빠르게 코딩만 하면 원하는 값을 입력해 조건에 따른 결과값 변화를 간편하게 있으므로 많이 쓰입니다.

 

테스트/검사 장비

앞서 설명한 것처럼 어떤 제품이나 물건 등을 테스트 NI 제품의 센서를 많이 선택합니다.

그러다보니 당연히 연동성을 위해 랩뷰를 많이 사용해요.

전세계의 크고 작은 기관, 기업들이 랩뷰를 사용하고 있습니다.

NASA가 달에 착률하는 것에도 일조했다고 하네요! 

NASA 마이크로 셔터 자동 테스트, 통합 레이저 특성화 장기 테스트 시스템 많은 테스트 장비와 설비 제작에도 랩뷰를 사용했습니다.

http://sine.ni.com/cs/app/doc/p/id/cs-510

http://sine.ni.com/cs/app/doc/p/id/cs-632

 

생산 공장

2, 3년여 전부터 정부에서 스마트 팩토리 사업을 지원하고 있습니다.

많은 기업들이 부담 없이 스마트 팩토리를 구축 있어 생산 설비 구축 업체들의 일거리가 증가하고 있는 추세에요.

이러한 설비들은 우리가 일반적으로 알고 있는 자동차, 식품, 의류 등을 생산 합니다.

여기에도 랩뷰가 빠지지 않죠.

빠른 개발 속도와 준수한 성능 무엇보다 데이터의 시각화로 인한 프로그램 유지 보수의 이점으로 많은 기업들이 랩뷰 프로그래머를 찾습니다.

검사 데이터를 누적하고, DB에 저장하고, 누적 된 데이터를 검색하는 기능 모두 수행 있어요.

 

 

글을 마치며 

 

 

대학교에서 랩뷰를 가르치는 곳이 점점 늘어나고 있어요.

학교에서 막연하게 배우는 것들이 어디에 쓰이는지 궁금하지 않으셨나요?

포스팅을 보고 막연함이 해소 되었으면 합니다.

 

다음 포스팅부터는 본격적인 랩뷰 강의가 시작 됩니다.

랩뷰의 기초인 블록 다이어그램과 프론트패널, 반복문, 시퀀스 구조, 문자열과 숫자열 등의 기초부터

엑셀 txt등의 파일 불러오기와 저장, 랩뷰를 이용한 영상 처리(VISION), DB 연동, PLC 통신하는 심화 단계까지 천천히 포스팅 해보도록 할게요.

 

감사합니다.