LabVIEW 템플릿과 샘플 프로젝트

개요

LabVIEW의 템플릿과 샘플 프로젝트는 시스템의 품질과 확장성을 보장하면서 편리하게 시작할 수 있도록 설계되었습니다. 모든 템플릿과 샘플 프로젝트는 오픈 소스이며, 코드의 작동 방식과 기능을 추가/변경하기 위한 최적의 방법을 자세히 설명하는 상세한 문서가 포함됩니다. 이러한 프로젝트는 권장 아키텍처를 제공하는 것 외에도 코드를 문서화하고 정렬하기 위한 모범 사례를 보여줍니다.

내용

LabVIEW 템플릿 또는 샘플 프로젝트에서 프로젝트 생성

LabVIEW 내에서 기존 템플릿 또는 샘플 프로젝트로부터 새 프로젝트를 생성할 수 있습니다.

  1. LabVIEW를 시작하십시오.
  2. LabVIEW 시작 화면에서 프로젝트 생성을 선택합니다.
  3. 프로젝트 생성 창에서 LabVIEW 프로젝트의 시작점으로 사용할 템플릿 또는 샘플 프로젝트를 선택합니다.
    1. 프로젝트 생성 창에서 사용 가능한 옵션 목록은 설치한 소프트웨어 모듈 및 드라이버에 따라 다릅니다. 이 문서에는 NI가 제공하고 지원하는 템플릿과 샘플 프로젝트가 나와 있습니다.
    2. 왼쪽 패널에서 템플릿 또는 샘플 프로젝트를 선택하거나 키워드로 프로젝트를 검색하면 표시된 프로젝트를 필터링할 수 있습니다.
      1. 각 프로젝트의 이름 오른쪽을 보면 템플릿에서 온 것인지 아니면 샘플 프로젝트에서 온 것인지를 알 수 있습니다. 

         

템플릿

템플릿은 대부분 LabVIEW 어플리케이션의 기본적인 구성 요소를 보여줍니다. 실제 시스템을 구축할 때는 하나 또는 그 이상의 템플릿이 사용되는 경우가 많습니다. 이러한 템플릿은 널리 사용되는 디자인 패턴을 활용한 일반적인 아키텍처를 제공하며, 사용자는 시스템을 구축할 때 이를 알맞게 수정할 수 있습니다.

단순한 상태 머신

단순한 상태 머신

이 템플릿을 사용하면 코드 섹션의 실행 순서를 정의하기 쉽습니다. 이 특정 구현은 흔히 Moore 머신으로 불리는데, 현재 상태에서 이루어진 결정을 기준으로 다음 상태를 결정합니다. 이 템플릿의 설계는 어플리케이션 구조에 중대한 수정 사항 없이 쉽게 새 코드 섹션을 삽입하거나 코드 섹션을 제거하거나 섹션의 실행 순서를 변경할 수 있도록 합니다.

큐 메시지 핸들러

큐 메시지 핸들러

이 템플릿을 사용하면 손쉽게 여러 코드 섹션을 병렬 실행하고 코드 섹션 간에 데이터를 전송할 수 있습니다. 코드의 각 섹션은 데이터 수집과 같은 프로세스를 나타내며, 상태 머신과 유사하게 설계되었습니다. 이들 구성요소가 분리되어 있으므로 반응형 사용자 인터페이스를 구현할 수 있으며 다른 메시지가 실행되는 동안 데이터를 계속 기록할 수 있습니다.

액터 프레임워크

액터 프레임워크

액터 프레임워크는 여러 독립적인 태스크 간의 통신이 필요한 LabVIEW 어플리케이션을 생성하는 데 사용할 수 있는 템플릿입니다. 이 프레임워크는 기능 확장 및 프로세스 추가 시 현저한 코드 복제가 발생하는 일반적인 개발 시나리오의 문제를 해결하도록 설계되었습니다. 액터 프레임워크는 LabVIEW 클래스를 다양하게 사용하는 고급 템플릿입니다.

데스크탑 샘플 프로젝트

데스크탑 샘플 프로젝트는 하나 또는 그 이상의 템플릿을 실제 어플리케이션에서 사용하는 방법을 보여줍니다. 이들 프로젝트는 반응형 사용자 인터페이스, 비동기 분석, 데이터 로깅, 사용자 대화 상자, 에러 핸들링, 여러 독립형 태스크 등, 일반적인 데스크탑 기반의 측정 어플리케이션 요구사항을 충족시킵니다.

유한 측정

유한 측정 샘플 프로젝트는 단일 측정 결과를 수집하고 측정 결과를 파일로 반출하는 옵션을 제공합니다. 이 샘플 프로젝트는 사용자 요청에 응답하여 측정을 설정 및 실행하고* 분석을 수행하고 결과를 표시하며 데이터를 디스크에 로깅하는 상태 머신으로 설계되었습니다.

*DAQmx 9.5.5 또는 상위 버전은 DAQmx API를 사용하여 하드웨어 I/O를 통해 실제 측정 설정과 수집을 수행하는, 이 샘플 프로젝트의 두 번째 버전을 설치합니다.

연속 측정 및 로깅

연속 측정 및 로깅

연속 측정 및 로깅 샘플 프로젝트는 측정 결과를 연속적으로 수집하여 이를 디스크에 기록합니다. 이 샘플 프로젝트는 5개의 루프를 병렬로 실행하여 다양한 태스크를 동시에 실행하면서 큐로 들어오는 사용자 요청에 응답할 수 있게 합니다. 이들 루프는 이벤트 핸들링, UI 메시징, 수집*, 로깅, 표시를 다룹니다.

*DAQmx 9.5.5 또는 상위 버전은 DAQmx API를 사용하여 하드웨어 IO를 통해 실제 측정 설정과 수집을 수행하는, 이 샘플 프로젝트의 두 번째 버전을 설치합니다.

피드백형 증발식 냉각기

피드백형 증발식 냉각기

피드백형 증발식 냉각기 샘플 프로젝트는 액터 프레임워크 템플릿을 사용하여 구축되었으며 핫스왑이 가능한 하드웨어, 컨트롤러, 사용자 인터페이스가 있는 증발식 냉각기를 구현합니다. 이 샘플 프로젝트는 독립적으로 실행되는 여러 VI, 즉 액터들로 구성되는데, 이들 VI는 사용자 인터페이스, 냉각기, 팬, 수위를 나타냅니다. 각 액터는 명령어 같은 메시지를 관련 액터와 주고받습니다. 이 아키텍처에서는 정적 또는 동적으로 액터 수를 확장할 수 있습니다.

감독 제어 및 데이터 수집 시스템

감독 제어 및 데이터 수집 시스템

참고: 이 샘플 프로젝트의 기능을 실행하려면 LabVIEW DSC Module이 필요합니다.

이 샘플 프로젝트에서는 시뮬레이션된 NI CompactRIO와 프로그래밍 가능한 PLC 기반 시스템을 위한 감독 제어 및 데이터 수집 (SCADA) 시스템을 구현합니다. 서버 및 HMI 클라이언트 아키텍처를 가진 이 시스템은 LabVIEW Datalogging and Supervisory Control (DSC) Module을 사용하여 서버 어플리케이션에서 타사 도구에 연결하고 히스토리 데이터와 알람을 로깅할 수 있습니다. HMI 클라이언트 어플리케이션의 경우, 이벤트에 기반한 업데이트를 사용자 인터페이스에 제공하며 서브패널을 동적으로 불러올 수 있으므로 효율적이며 빠르게 응답하는 사용자 인터페이스 아키텍처를 구현합니다.

NI 커뮤니티에서 자세한 가이드 읽기 | 웹캐스트 보기

LabVIEW Real-Time 및 LabVIEW FPGA 샘플 프로젝트

임베디드 시스템에는 일반적으로 신뢰도와 결정론적 성능을 구현하도록 설계된 아키텍처가 필요합니다. 따라서 여러 임베디드 어플리케이션에는 시스템 상태 모니터링, 에러 핸들링, 워치독 타이머를 위한 전용 프로세스가 필요합니다. CompactRIO 및 PXI RT DAQ용 LabVIEW 샘플 프로젝트는 다양한 임베디드 제어 및 모니터링 시스템에 사용되는 권장 소프트웨어 아키텍처를 제공함으로써 이러한 요구를 충족하는 최적의 방법을 알려줍니다. 또한, 이 샘플 프로젝트에서는 데이터 통신, 네트워크 연결, 제어 루틴, 데이터 로깅 등을 위한 모범 사례도 제공합니다.

LabVIEW에서 이러한 템플릿을 보려면, LabVIEW Real-Time 및/또는 LabVIEW FPGA Module이 설치되어 있어야 합니다.

CompactRIO 샘플 프로젝트

CompactRIO에서 LabVIEW FPGA 컨트롤

CompactRIO에서 LabVIEW FPGA 컨트롤

이 샘플 프로젝트는 고성능 제어 및/또는 하드웨어 기반의 안전 로직이 필요한 어플리케이션을 위해 설계되었습니다. 이 프로젝트에서는 제어 알고리즘이 소프트웨어에서 구현되지 않고 FPGA에서 구현되므로, 제어 루프는 최소한의 지터로 10kHz 이상의 속도를 구현합니다. 또한, FPGA VI에는 안전 로직이 포함되어 있어 치명적인 오류나 리얼타임 소프트웨어 오류 발생 시 모든 출력을 즉시 안전 상태로 전환하여 최고의 안전성을 보장합니다.

문서 읽기 | NI 커뮤니티에서 상세 가이드 확인

CompactRIO에서 LabVIEW Real-Time 제어 (RIO 스캔 인터페이스)

CompactRIO에서 LabVIEW Real-Time 제어 (RIO 스캔 인터페이스)

이 샘플 프로젝트는 100Hz 이하의 단일 포인트 I/O 속도와 결정론적 성능이 필요한 제어 어플리케이션을 위해 설계되었습니다. 이 샘플 프로젝트는 FPGA 하드웨어를 사용하지 않지만, 결정론적 리얼타임 프로세서로 제어합니다. 이 프로젝트는 RIO 스캔 인터페이스 (RSI)를 사용하여 리얼타임 어플리케이션 내 I/O 데이터 변수로 접근합니다.

CompactRIO에서 LabVIEW FPGA 웨이브폼 수집 및 로깅

CompactRIO에서 LabVIEW FPGA 웨이브폼 수집 및 로깅

이 샘플 프로젝트는 사용자 정의된 고속 FPGA 기반 아날로그 수집을 포함하며 트리거 조건이 충족되면 리얼타임 시스템에서 수집된 데이터를 디스크에 기록합니다. 이 샘플 프로젝트는 헤드리스 실행을 위해 설계되었지만, 옵션 사용자 인터페이스에 연결할 수도 있습니다.

CompactRIO LabVIEW 리얼타임 시퀀서

CompactRIO LabVIEW 리얼타임 시퀀서

이 샘플 프로젝트는 제어 어플리케이션을 위해 LabVIEW Real-Time에서 사용자 정의된 시퀀스 또는 레시피를 실행하는 시퀀스 엔진을 구현합니다. 이 프로젝트에는 사용자 정의된 시퀀스를 생성하고, 시퀀스를 CompactRIO에 배포하며, 시퀀스 엔진 상태를 모니터링하는 Windows 기반의 사용자 인터페이스가 포함됩니다. 이 사용자 인터페이스는 서브패널의 동적 로드를 통해 효율적이며 응답이 빠른 인터페이스 아키텍처를 구현합니다.

웹캐스트 보기

 

LabVIEW Real-Time 샘플 프로젝트 (NI-DAQmx 포함)

LabVIEW Real-Time 샘플 프로젝트 (NI-DAQmx 포함)는 리얼타임 제어 및/또는 웨이브폼 수집과 로깅 등의 어플리케이션을 위해 설계되었습니다.

LabVIEW Real-Time 제어 (NI-DAQmx)

LabVIEW Real-Time 제어 (NI-DAQmx)

결정론적 소프트웨어 기반 플랜트 제어를 구현합니다. 이 샘플 프로젝트는 NI-DAQmx를 사용합니다. 이 샘플 프로젝트는 NI Real-Time PXI 컨트롤러와 NI DAQ를 사용한 결정론적 DAQ 제어 I/O가 필요한 제어 어플리케이션용으로 설계되었습니다.

문서 읽기

LabVIEW Real-Time 웨이브폼 수집 및 로깅 (NI-DAQmx)

LabVIEW Real-Time 웨이브폼 수집 및 로깅 (NI-DAQmx)

연속 웨이브폼 데이터를 수집하고 디스크에 로깅합니다. 이 샘플 프로젝트는 NI-DAQmx를 사용합니다. 이 샘플 프로젝트는 아날로그 데이터 수집을 포함하며, 트리거 조건이 충족되면 리얼타임 시스템에서 수집된 데이터를 디스크에 기록합니다. 이 샘플 프로젝트는 헤드리스 실행을 위해 설계되었지만, 옵션 사용자 인터페이스에 연결할 수도 있습니다. 이 샘플 프로젝트는 NI Real-Time PXI 컨트롤러와 함께 NI DAQ를 사용하거나 NI 독립형 CompactDAQ을 사용하는 어플리케이션용으로 설계되었습니다.

문서 읽기

사용자 정의 템플릿과 샘플 프로젝트 추가하기

고급 사용자는 제공되는 템플릿과 샘플 프로젝트를 각자의 용도에 맞게 보완할 수 있으며, “프로젝트 만들기(Create Project)” 대화 상자로 만든 템플릿을 팀원들과 공유하고 배포할 수 있습니다.

사용자 정의 템플릿 또는 샘플 프로젝트를 위한 프로젝트 만들기(Create Project) 대화 상자를 업데이트하여 사용자 정의 코드 생성 스크립트 작업을 수행할 수 있는 고객 템플릿과 같은 추가 항목을 포함할 수 있습니다.

템플릿 또는 샘플 프로젝트 시작하기

템플릿과 샘플 프로젝트를 사용하려면 다양한 LabVIEW 기술과 프로그래밍 개념을 사용해야 합니다. 각 프로젝트에 포함된 문서는 사용자가 알아야 하는 개념을 설명합니다. 또한, 블록다이어그램의 문서는 코드를 추가하고 변경해야 하는 위치를 파란색으로 알기 쉽게 표시합니다.

Was this information helpful?

Yes

No