LabVIEW를 사용한 데이터 저장 및 리포트하기

개요

처리 및 저장 용량의 지속적인 증가와 하드웨어 및 소프트웨어 비용의 감소로 인해 수집되는 데이터의 양이 폭발적으로 증가하고 있습니다. 하지만 기술 발전으로 더 많은 데이터를 더 빠르게 보존할 수 있게 되었지만 이러한 데이터를 관리하고 잘 활용하는 것은 여전히 어려운 숙제입니다. 기존의 소프트웨어 패키지는 다음 두 가지 제한 방식을 사용하는 경향이 있습니다. 1) 다른 어플리케이션이나 사용자와 교환할 수 없는 특정 포맷을 강요하거나, 2) 데이터를 저장에 관한 규정 없이 방치해 사용자가 데이터를 공유하기 위해 데이터를 구성하고 디스크에 저장하는 최상의 방법을 찾는 데 시간을 낭비하게 만드는 방식입니다. 전체 엔지니어링 프로세스를 위해 설계된 LabVIEW에는 쉽게 디스크에 데이터를 저장하고 전문적인 리포트를 생성할 수 있도록 지원하는 기능이 내장되어 있습니다. 파일 I/O 및 리포트를 위한 간단하면서도 강력한 인터페이스를 제공하여 사용자가 수집한 데이터를 최대한 활용해 더 빠르게 의사를 결정할 수 있습니다.

내용

사용자의 필요에 맞는 파일 읽기 및 쓰기 기능

테스트 시스템에 데이터를 저장하기에 적절한 파일 포맷을 선택하는 것은 중요한 결정일 수 있습니다. 현재 시스템의 요구사항을 충족하는 포맷을 선택해야 하지만, 테스트 요구사항이 변경되면 스케일링할 수도 있어야 합니다. 스토리지 포맷을 평가할 때 고려해야 할 특징은 다음과 같습니다.

  • 파일 공유 및 교환 가능성
  • 디스크 공간
  • 메타 정보 및 프로퍼티의 간단한 포함
  • 읽기 및 쓰기 속도
  • 포맷 사용에 익숙한 정도

각 응용 분야가 다르기 때문에 LabVIEW에는 ASCII, 2진, 데이터로그, ZIP, XML을 비롯한 다양한 파일 I/O 옵션이 포함되어 있습니다.

LabVIEW를 사용하면 필요에 따라 파일을 읽고 쓰기 위한 여러 인터페이스 중에서 선택할 수 있습니다.

그림 1: LabVIEW를 사용하면 필요에 따라 파일을 읽고 쓰는 여러 인터페이스 중에서 선택할 수 있습니다.

그림 1에서 볼 수 있듯이 LabVIEW에는 파일을 처음부터 빌드하는 데 사용할 수 있는 기본 기능과 대화 상자에서 파일 I/O 파라미터를 설정하는 익스프레스 VI가 포함되어 있어 파일 참조 열기, 문자열 포맷, 엔디언과 같은 세부사항에 대해 걱정할 필요가 없습니다. 적절한 파일 I/O 방법은 테스트 또는 측정 시스템을 구축할 때 가장 어려운 부분 중 하나이기 때문에, NI LabVIEW에서는 각 파일 타입을 시작할 때 사용할 수 있는 수십 가지 예제를 제공합니다.

엔지니어링 데이터용으로 특별히 설계된 파일 I/O

LabVIEW에서는 다양한 파일 I/O 옵션을 제공하지만 이러한 기존 파일 타입이 파일 포맷에서 필요한 모든 기준을 충족하는 경우가 거의 없습니다. 예를 들어, ASCII 파일은 교환 가능하지만, 크기가 크고 읽기와 쓰기가 느립니다. 반면, 2진 파일 읽기 및 쓰기 속도는 고속 하드웨어와 거의 동일한 수준이지만 공유가 어렵습니다.

기존 파일 I/O의 단점 때문에 NI는 엔지니어 및 과학자의 구체적이고 매우 까다로운 요구 사항을 충족하기 위해 TDMS (Technical Data Management Streaming) 파일 포맷을 개발했습니다. TDMS 파일은 TDM 데이터 모델을 기반으로 하여 잘 구성되고 문서화된 테스트 및 측정 데이터를 저장합니다. TDM 데이터 모델은 그림 2와 같이 파일, 그룹, 채널이라는 3가지 계층구조 레벨을 제공합니다. 파일 레벨에 포함될 수 있는 그룹의 수는 무제한이며, 각 그룹에 포함될 수 있는 채널 개수 역시 무제한입니다. 이와 같은 채널 그룹화 덕분에 더욱 이해하기 쉬운 방식으로 데이터를 정렬할 수 있습니다. 예를 들어, 단일 파일 내에 원시 데이터 그룹 한 개와 분석된 데이터 그룹을 따로 하나 둘 수도 있고 센서 타입 또는 위치마다 그에 대응하는 그룹을 여러 개 둘 수도 있습니다.

TDM 데이터 모델은 측정 데이터의 특정 요구 사항을 충족합니다.

그림 2: TDM 데이터 모델은 측정 데이터의 특정 요구 사항을 충족합니다.

또한 세 가지 레벨 각각에서 사용자 정의 프로퍼티를 삽입할 수 있습니다. 각 계층에 사용자 속성을 무제한으로 정의할 수 있으므로 검색이 가능하고 적절하게 문서화된 데이터 파일을 생성할 수 있습니다. TDMS 파일에 포함된 설명 정보는 이 모델의 핵심 장점으로, 코드를 문서화할 때처럼 편리하게 데이터를 문서화할 수 있도록 지원합니다. 문서화 관련 요구사항이 증가하더라도 어플리케이션을 재설계할 필요 없이 데이터 모델만 확장하면 요구사항을 충족할 수 있습니다.

사용하기 쉬운 여러 프로그래밍 인터페이스

TDMS는 모든 엔지니어의 요구를 충족하도록 개발되었으므로 사용하기 쉽고 스트리밍 속도가 빠르며 파일을 교환할 수 있습니다. LabVIEW에서 수행하는 많은 작업과 같이, 여러 인터페이스를 사용하여 TDMS 파일을 작성할 수 있습니다. 측정 파일에 쓰기 익스프레스 VI와 같은 버추얼 인스트루먼트 (VI)를 사용하여 TDMS 파일을 빠르게 읽고 쓸 수 있으며, 최적의 성능과 사용자 정의를 위해 파일 I/O 팔레트의 원시 TDMS VI를 사용할 수 있습니다. 또한, LabVIEW를 NI-DAQmx와 함께 사용하는 경우 그림 3과 같이 DAQ 팔레트의 로깅 설정 VI를 사용하거나 NI DAQ 어시스턴트에서 직접 로깅할 수 있습니다.

TDMS 파일을 쓰는 데 여러 인터페이스를 사용할 수 있으면 필요에 가장 맞는 인터페이스를 선택할 수 있습니다.

그림 3: TDMS 파일을 쓰는 데 여러 인터페이스를 사용할 수 있으면 필요에 가장 맞는 인터페이스를 선택할 수 있습니다.

높은 스트리밍 속도

TDMS는 쉽게 사용할 수 있도록 설계되었지만 최근 몇 년간 하드웨어의 속도가 크게 향상되었기 때문에, 수집 속도를 결정할 때 파일 I/O가 중단되지 않도록 TDMS를 고속 스트리밍에 최적화해야 합니다. 버퍼링을 우회하도록 내부적으로 최적화된 TDMS는 NI 플랫폼에서 데이터를 쓰는 가장 빠른 방법입니다. 지금까지 TDMS는 최대 3.6 GB/s까지 데이터를 스트리밍하는 것으로 테스트되었습니다.

Microsoft Excel과 같은 다른 프로그램과 파일 교환 가능

추가 어플리케이션에서 작업해야 할 필요가 있기 때문에 TDMS는 다른 프로그램 간에 파일을 쉽게 교환할 수 있습니다. TDM Excel 애드인을 사용하여 Microsoft Excel에서 TDMS 파일을 열 수 있습니다. 이 애드인은 NI 소프트웨어와 함께 설치되거나 ni.com에서 무료로 얻을 수 있습니다. 또한 다른 프로그래밍 언어로 TDMS 파일을 읽고 쓸 때 C DLL을 사용할 수 있습니다. NI에서는 사용 중인 제품에 관계없이 TDMS 파일 포맷을 사용하여 잘 구성되고 문서화된 데이터를 작성할 수 있도록 지원합니다.

사용자 및 레거시 파일 포맷 읽기 및 쓰기

작업 중인 어플리케이션마다 파일 포맷을 선택할 수 있지만 사용자 정의 포맷을 사용하는 레거시 파일 또는 하드웨어로 인해 사용자 정의 포맷으로 읽고 쓰는데 제한이 있을 수 있습니다. 이러한 문제를 겪고 있는 엔지니어가 많다는 점을 염두에 둔 NI는 DataPlugin 기술을 개발해 사용자가 LabVIEW에서 이러한 사용자 포맷을 사용할 수 있도록 했습니다. 그림 4에서처럼 DataPlugin은 LabVIEW 및 다른 NI 소프트웨어에 사용자 정의 파일 포맷을 읽는 방법을 알려주고 이러한 파일을 메모리의 TDM 계층구조 모델에 맵핑하는 파일 파서 역할을 합니다.

DataPlugin을 사용하면 모든 파일 포맷을 TDM 데이터 모델로 맵핑할 수 있습니다.

그림 4: DataPlugin을 사용하면 모든 파일 포맷을 TDM 데이터 모델로 맵핑할 수 있습니다.

NI는 가장 일반적인 파일 포맷에 사용할 수 있는 무료로 다운로드 가능한 DataPlugin을 200개 이상 제공합니다. 사용자 정의 포맷의 경우 문서화된 API를 사용하여 사용자가 직접 LabVIEW 및 NI DIAdem 소프트웨어에서 자체 DataPlugin을 생성하거나 NI 전문가가 대신 DataPlugin을 생성하도록 요청할 수 있습니다. DataPlugin을 사용하면 사용자 포맷과 어플리케이션으로 인한 제한이 없으며 데이터 사용 방법을 선택할 수 있습니다.

DataFinder 기술을 사용하여 데이터 구성 및 관리하기

많은 어플리케이션에서 수집되는 데이터 양이 급격히 커질 수 있습니다. 일반적으로 이러한 시점에는 데이터베이스를 사용하여 데이터를 저장해 더 빠르게 검색하고 추세를 파악할 수 있습니다. NI는 LabVIEW Database Connectivity Toolkit을 사용하여 하위 레벨의 SQL (Structured Query Language) 쿼리를 추상화해 데이터베이스와 쉽게 상호작용하도록 합니다. 그러나 기존 데이터를 데이터베이스로 이전하고 데이터베이스를 유지관리하고 데이터에 액세스하기 위한 어플리케이션을 생성하는 것은 매우 비용이 많이 들고 시간이 많이 소요될 수 있습니다.

이 과제를 해결하기 위해 NI는 대규모 데이터베이스를 설정하고 관리하는 데 걸리는 비용 없이 테스트 파일을 관리할 수 있도록 NI DataFinder 기술을 개발했습니다. 이 기술은 LabVIEW DataFinder Toolkit 및 DIAdem에 탑재되어 있습니다. NI DataFinder를 사용하여 회사 인트라넷 내의 위치 또는 포맷에 상관없이 모든 데이터 파일을 인터넷 방식으로 검색할 수 있습니다. NI DataFinder에 데이터 파일 위치만 지정하면 몇 초 후에 인터넷에서 정보를 검색하는 것과 유사한 방식으로 파일을 검색할 수 있습니다.

NI DataFinder는 NI DataFinder 설정에서 파일의 유형 및 위치 조건을 충족하는 모든 파일의 인덱스를 자동적으로 구축하고 유지합니다. 사용자는 쿼리 조건에 맞게 NI DataFinder 인덱스에 자동 저장된 속성을 사용할 수 있습니다. NI DataFinder는 유효한 데이터 파일이 생성, 삭제 또는 편집되면 본 파일의 계층 및 속성을 자동으로 알리고 다시 인덱스 작업을 수행합니다. NI DataFinder에 아직 없는 속성을 새로 생성된 파일에 저장하면 이러한 속성은 인덱스에 자동으로 추가됩니다. NI DataFinder는 동적으로 데이터 표를 관리하며, 각 파일의 파일 이벤트와 내용에 기반하여 업데이트를 진행합니다. 따라서 고비용의 여러 데이터베이스 솔루션과는 달리, 사용자가 데이터 관리 솔루션을 재설계할 필요 없이 요구 사항의 변경에 따라 정보를 변경하고 추가할 수 있습니다. NI DataFinder를 사용하면 테스트 과정에서 저장한 많은 양의 데이터가 보이는 추세와 상관 관계를 빠르게 찾을 수 있습니다.

결과를 공유할 데이터 리포트

데이터를 파일에 저장하고 분석하고 결과와 추세를 검색한 다음에는 결과를 다른 사람과 손쉽게 공유할 수 있어야 합니다. 리포트는 파일에 저장하는 전체 데이터 세트와 달리 최종 결과를 시각화하고 교환하도록 하는 데 중점을 둡니다. VI 프런트패널은 수집할 때 실시간 데이터를 시각화하고 상호작용하는 좋은 방법이지만, 최종 결과를 리포트하도록 설계된 것은 아닙니다. LabVIEW를 사용하면 손쉽게 리포트를 생성하거나 템플릿을 사용하여 리포트 생성을 자동화할 수 있습니다. HTML, PowerPoint, PDF와 같은 일반적인 파일 포맷으로 출력 리포트를 생성하는 옵션이 있습니다.

간단한 데이터 리포트 생성

기본적인 리포트를 생성할 수 있도록 LabVIEW 텍스트 및 HTML 리포트 생성을 위한 VI가 내장되어 있습니다. 그림 5에서처럼 간단한 VI를 사용하여 프로그램적으로 리포트를 작성하거나 리포트 익스프레스 VI를 사용하여 창 하나에서 리포트 파라미터를 설정하고 모두 출력할 수 있습니다.

LabVIEW에서 리포트 익스프레스 VI를 사용하여 전문적인 리포트를 구성할 수 있습니다.

그림 5: LabVIEW에서 리포트 익스프레스 VI를 사용하여 전문적인 리포트를 구성할 수 있습니다.

Microsoft Excel 및 Word와 상호작용하기

또한 Excel 및 Word와 같은 Microsoft 어플리케이션에 직접 리포트를 보낼 수도 있습니다. ActiveX 또는 LabVIEW Professional에 포함된 LabVIEW Report Generation Toolkit을 사용하여 리포트를 프로그램적으로 보낼 수 있습니다. Report Generation Toolkit은 Excel 및 Word와 상호작용의 복잡성을 추상화하여 사용자가 실제 리포트 요소 설계에 집중하도록 합니다. 이러한 VI를 사용하면 Microsoft 문서에 헤더, 테이블, 그래프를 쉽게 추가할 수 있습니다. 또한 LabVIEW에서 호출할 수 있는 템플릿을 Word 및 Excel에서 생성할 수 있어 리포트 자동화 및 표준화를 개선할 수 있습니다.

유연하고 자동화된 리포트 템플릿 디자인하기

템플릿을 생성하면 사용자 정의 리포트를 쉽게 자동화해 새 데이터 및 결과로 리포트를 업데이트할 수 있습니다. DIAdem 데이터 관리 소프트웨어를 사용하여 그래프, 테이블, 그래픽을 포함하는 리포트 템플릿을 대화식으로 생성하고, 이렇게 생성한 템플릿은 DIAdem 리포트 익스프레스 VI를 사용하여 LabVIEW에서 호출할 수 있습니다. 일단 템플릿을 생성하고 나면 데이터 소스를 연결하고 어플리케이션을 실행하기만 하면 됩니다 어플리케이션을 실행할 때마다 템플릿은 데이터와 출력을 PowerPoint 및 PDF 파일 (그림 6)과 같은 일반 포맷으로 업데이트하며, 사용자는 이러한 파일을 쉽게 공유할 수 있습니다. 또한 DIAdem 리포트 엔진은 큰 데이터 세트에 맞춰 설계되었기 때문에 리포트에 포함할 수 있는 데이터의 양에 제한이 없습니다.

DIAdem 리포트를 공통 리포트 포맷으로 출력하여 다른 사람과 공유할 수 있습니다.

그림 6: DIAdem 리포트를 공통 리포트 포맷으로 출력하여 다른 사람과 공유할 수 있습니다.

LabVIEW 리포트 기능을 사용하면 결과를 공유하기 위해 시각적으로 뛰어난 리포트를 생성할 수 있는 몇 가지 옵션이 있습니다. 또한 최종 사용자를 고려하여 이러한 리포트를 일반적인 포맷으로 인쇄하여 결과를 보다 쉽게 교환할 수 있습니다.

파일이 아닌 데이터에 중점 두기

LabVIEW 스토리지, 관리 및 리포트 도구는 파일 I/O 및 리포트의 세부 사항과 문제점을 추상화하여 데이터 수집에 집중할 수 있도록 설계되었습니다. 엔지니어링 데이터를 위한 TDMS 파일 포맷, 레거시 파일을 위한 DataPlugin, 검색을 위한 NI DataFinder, 강력한 리포트 도구를 사용하면 스토리지 및 리포트의 한계에 따라 수집을 제한할 필요가 없습니다. 하드웨어의 속도가 빨라지고 스토리지 가격이 저렴해지면서 LabVIEW는 수집하는 모든 데이터를 최대한 활용할 수 있는 도구를 계속해서 제공할 것입니다.