LabVIEW 기초: 전기 프로젝트 제작 입문자를 위한 완벽 가이드
LabVIEW 소개와 기초 LabVIEW 기반 전기 프로젝트
검증된 프로토타이핑 도구로서 LabVIEW 그래픽 개발 플랫폼은 계측 제어, 임베디드 모니터링/제어 시스템, 데이터 수집/처리, 자동 테스트/검증 시스템 등 다양한 응용 분야에 수많은 솔루션을 제공합니다.
LabVIEW는 수백 개의 사전 작성 라이브러리를 포함하여 기능적 임베디드 시스템부터 고성능 테스트/측정 시스템까지 유연하고 확장 가능한 시스템 구축을 돕습니다.
LabVIEW란?
LabVIEW는 Laboratory Virtual Instrument Engineering Workbench의 약자로 National Instruments에서 개발했습니다. 과학/공학 시스템을 위한 소프트웨어 솔루션을 제공하는 강력한 프로그래밍 도구입니다. LabVIEW는 데이터 흐름이 프로그램 실행을 결정하는 그래픽 프로그래밍 언어로, 텍스트 기반 언어(명령어 라인)가 실행을 결정하는 것과 대조됩니다.
LabVIEW는 도구와 객체 세트로 사용자 인터페이스인 프론트 패널(Front Panel)을 만들 수 있게 하고, 블록 다이어그램(Block Diagram)에서 함수 그래픽 표현으로 코드를 추가할 수 있게 합니다. 블록 다이어그램의 코드가 구현된 제어 구조에 따라 프론트 패널 객체를 제어합니다. thus 사용자는 맞춤형 데이터 수집, 테스트, 측정, 제어 솔루션을 다양한 응용 니즈에 맞춰 구축할 수 있습니다.
LabVIEW는 GPIB, PXI, VXI, RS-232, RS-485, USB 기반 데이터 수집 장치와 통신하도록 통합되어 있으며, LabVIEW 웹 서버와 TCP/IP, ActiveX 같은 소프트웨어 표준으로 IoT도 지원합니다.
가상 기기(Virtual Instruments, VI)
LabVIEW의 프로그램을 가상 기기(Virtual Instruments) 또는 간단히 VI라 부릅니다. 프로그램의 외형과 동작이 멀티미터, 오실로스코프 같은 물리적 계측기와 유사하기 때문입니다.
VI는 세 구성요소로 이루어집니다: 프론트 패널, 블록 다이어그램, 아이콘 & 커넥터 팬. 프론트 패널은 컨트롤과 인디케이터로 구성되어 사용자 인터페이스 역할을 합니다. 블록 다이어그램에는 VI의 소스 코드가 들어 있습니다. 아이콘과 커넥터 팬은 VI의 입출력을 시각적으로 표현하며, 이를 통해 VI를 다른 VI의 서브 VI(VI 내 VI)로 사용할 수 있습니다.
프론트 패널(Front Panel)
아래 그림은 다양한 컨트롤과 인디케이터로 구성된 VI 프론트 패널입니다. 애플리케이션을 위한 대화형 입출력 단자 개발용 사용자 인터페이스입니다. LabVIEW 컨트롤에는 노브, 다이얼, 버튼, 숫자 컨트롤, 불리언 스위치 등이 있습니다. 컨트롤은 블록 다이어그램으로 데이터를 전달하는 입력 장치 역할을 합니다.
인디케이터는 VI의 출력 단자로 출력값을 표시합니다. 숫자 인디케이터, 게이지, LED, 그래프, 기타 디스플레이 등이 있습니다. 인디케이터는 블록 다이어그램에서 데이터를 가져와 표시하는 출력 장치 역할을 합니다.
컨트롤과 인디케이터는 프론트 패널에서만 사용 가능한 컨트롤 팔레트에서 선택합니다. 프론트 패널 아무 곳이나 우클릭하면 컨트롤 팔레트가 나타납니다.
블록 다이어그램(Block Diagram)
위 프론트 패널에 수반되는 블록 다이어그램입니다. 프론트 패널 객체를 제어하기 위해 함수 그래픽 표현을 사용한 VI의 그래픽 소스 코드가 들어 있습니다. 블록 다이어그램은 프론트 패널 객체 단자와 추가로 다양한 함수(숫자, 불리언, 비교, 배열, 타이밍 등), 구조체(while 루프, for 루프, case 구조 등)로 구성됩니다.
프론트 패널의 모든 인디케이터/컨트롤은 블록 다이어그램에 대응하는 단자가 있습니다. 이것들을 다양한 함수와 배선하여 제어 애플리케이션을 구현합니다.
함수와 구조체는 블록 다이어그램에서만 사용 가능한 함수 팔레트에서 선택합니다. 블록 다이어그램 작업 공간 아무 곳이나 우클릭하면 함수 팔레트가 나타납니다.
위 블록 다이어그램에서 바깥쪽 직사각형 구조는 while 루프, 안쪽은 case 구조입니다. 주황/파랑/초록 선은 컨트롤에서 인디케이터로 데이터를 전달하는 와이어입니다. 블록 다이어그램의 객체와 구조체가 VI의 코드를 나타냅니다.
이 VI는 창 상단 팔레트의 여러 버튼(실행/일시정지/정지 버튼 등)으로 실행, 일시정지, 정지할 수 있습니다.
LabVIEW 프로젝트
LabVIEW는 전기, 기계, 신호 처리, 전자, 계측/제어, 생체의공, 항공우주 등 다양한 도메인의 여러 프로젝트 프로토타이핑, 설계, 개발에 이상적 플랫폼입니다.
그래픽 코딩과 고급 함수 블록 이점 덕분에 최소 시간과 노력으로 다양한 프로젝트 솔루션 설계가 가능합니다. 다음은 전기 도메인 관련 LabVIEW 기반 프로젝트들입니다.
LabVIEW를 이용한 열 과부하 릴레이
이 프로젝트 목적은 LabVIEW와 DAQ 모듈을 이용해 전기 기계의 열 과부하 동작을 모니터링/제어하는 것입니다. 독자 이해를 돕기 위해 주어진 VI에서 DAQ 입출력을 생략하고 시뮬레이션 모델만 개발했습니다.
위 그림은 열 과부하 릴레이 VI 프론트 패널로, 좌측 요소가 컨트롤, 우측이 인디케이터입니다.
이 프론트 패널은 기계의 각종 파라미터 값과 주위 온도를 표시합니다. 주위 온도 초과 시 릴레이 트립 표시. 온도 초과로 인한 릴레이 트립은 아래 그림과 같습니다.
이 VI의 그래픽 코드는 아래 블록 다이어그램에 구현되어 있습니다. 블록 다이어그램이 프로젝트 실제 구현부입니다. 여기선 기계의 온도 상수(℃/kW) 기반으로 온도 상승을 계산합니다.
블록 다이어그램에서 실제 온도와 목표(안전 한계) 온도 비교를 수행. 전류/온도 센서와 DAQ 모듈을 연동하면 실시간 기계 제어도 가능합니다.
LabVIEW에서 자여자 DC 분권 발전기 부하 특성
가상 전기 기계 실험실의 기초 전기 프로젝트 중 하나로, 부하 시 기계 특성을 다룹니다. 아래 그림은 컨트롤, 인디케이터, 파형 차트로 구성된 VI 프론트 패널입니다.
단자 전압, 여자 전류, 부하 전류(전기자/여자 저항 포함)가 입력/컨트롤 역할을 하고, 이 데이터로부터 전기자 전류, 전기자 강하, 발전기 유기 기전력을 계산해 그래프와 숫자 인디케이터로 표시합니다.
이 VI 소스 코드는 아래 블록 다이어그램에 있습니다. 다양한 수학 함수가 입력 파라미터 기반으로 출력 파라미터를 결정합니다. 블록 다이어그램에서 데이터 값 배열(두꺼운 주황 선)이 여러 수학 함수로 전달되고, 이 함수들이 적절한 결과 배열을 그래프와 배열 인디케이터로 전달합니다.
LabVIEW에서 RLC 직렬 회로 시뮬레이션
이 프로젝트는 LabVIEW 소프트웨어로 RLC 직렬 회로를 구현하고 공진 조건을 판별합니다. RLC 직렬 회로는 발진 회로, 필터 회로, 라디오/TV 튜닝 회로 등 튜닝 회로에 쓰입니다.
RLC 직렬 회로에서 유도성 리액턴스와 용량성 리액턴스가 같아지는 주파수를 공진 주파수라 합니다. 공진 주파수에서 유도성/용량성 리액턴스가 상쇄되어 임피던스가 저항과 같아지고 전류가 최대가 됩니다.
이 명제를 아래 LabVIEW 프로젝트로 증명합니다. 프론트 패널의 컨트롤과 인디케이터가 데이터 입수/획득 담당.
아래 그림은 블록 다이어그램의 직렬 RLC 회로 그래픽 코드입니다. 주어진 입력(인덕턴스, 커패시턴스, 전압)에 수학 연산 수행하여 유도성 리액턴스, 용량성 리액턴스, 임피던스, 전류 등 파라미터를 블록 다이어그램에서 결정합니다.
함께 읽으면 좋은 글:
- 아두이노란 무엇이며 어떻게 프로그래밍하는가?
- PCB 설계 방법 (단계별 & 그림 포함)
- PIC18 마이크로컨트롤러 C 프로그래밍 단계별 튜토리얼
- 전기 엔지니어 필수 iOS 앱
- 전기 엔지니어/학생 필수 안드로이드 앱 15+
- 전기/전자 엔지니어 온라인 설계/시뮬레이션 툴 10+