LabVIEW에서 TDM 및 TDMS 파일 작성

업데이트 됨 Jul 27, 2023

환경

소프트웨어

  • LabVIEW

자체 데이터 파일 형식을 설계하고 유지할 필요성을 줄이기 위해 NI는 NI LabVIEW, LabWindows ™ / CVI, Measurement Studio, LabVIEW SignalExpress 및 DIAdem을 통해 기본적으로 접근 할 수 있는 유연한 TDM (Technical Data Management) 데이터 모델을 만들었습니다. Excel과 같은 다른 일반적인 응용 프로그램으로 연동할 수 있습니다. TDM 데이터 모델은 특정 프로젝트 요구 사항에 맞게 확장하고 데이터를 디스크로 스트리밍하는 동안 측정에 설명 정보를 쉽게 첨부하는 기능과 같은 몇 가지 고유 한 이점을 제공합니다.

TDM 데이터 모델은 그림 1과 같이 루트, 그룹 및 채널의 세 가지 수준의 계층 구조를 제공합니다. 각 레벨은 무제한의 고객 정의 속성을 허용하므로 파일을 "검색 준비"상태로 만듭니다.

그림 1. LabVIEW로 작성된 각 TDM 및 TDMS 파일에는 루트, 그룹 및 채널 레벨에 대한 설명 정보가 포함되어 있습니다.

TDM 데이터 모델 파일에는 여러 그룹이 포함될 수 있으며 각 그룹에는 여러 채널이 포함될 수 있습니다. 세 가지 수준 각각에 고유 한 사용자 지정 속성을 삽입할 수 있습니다.

TDM 데이터 모델은 TDM 및 TDMS의 두 가지 파일 형식을 지원합니다. TDM 파일 형식은 설명 정보를 확장자가 TDM 인 헤더 파일에 저장하고 벌크 측정, 시뮬레이션 및 분석 결과를 확장자가 TDX 인 벌크 이진 데이터 파일에 저장하도록 지정합니다. 엄격히 필요한 XML 기반 헤더 파일이 있는 TDM 파일과 달리, TDMS 파일에는 확장자가 * .TDMS_Index 인 이진 인덱스 파일이 있습니다. TDMS_Index 파일은 벌크 데이터 파일의 모든 속성 및 포인터에 대한 통합 정보를 제공하고 읽는 동안 데이터에 대한 액세스 속도를 높입니다.

LabVIEW에서는 세 가지 인터페이스 중에서 선택하여 TDM 데이터 모델에 데이터를 쓸 수 있습니다. 이러한 인터페이스 중 일부는 TDM 및 TDMS 파일 형식 모두에서 작동합니다. 다음 섹션에서는 각 인터페이스 사용의 기본 사항을 안내합니다.

측정 파일에 쓰기 익스프레스 VI

TDM 또는 TDMS 파일에 쓰는 가장 간단한 방법은 파일 I/O 팔레트에서 측정 파일에 쓰기 익스프레스 VI를 사용하는 것입니다. VI에 필요한 유일한 입력은 그림 2와 같이 DAQmx 태스크 또는 디스크에 쓰는 신호입니다.

그림 2 . 데이터를 측정 파일에 쓰기 익스프레스 VI에 직접 연결할 수 있습니다.

측정 파일에 쓰기 익스프레스 VI의 구성 대화 상자에서 TDM 또는 TDMS 파일에 쓰기를 선택할 수 있습니다. 또한 구성 대화 상자를 사용하여 그림 3과 같이 설명, 사용자 정의 속성 또는 DAQmx 태스크에서 정의된 속성과 같은 속성을 파일에 추가 할 수 있습니다.

그림 3. TDM 또는 TDMS 파일에 쓰기를 선택한 후 구성 대화 상자에서 사용자 정의 속성을 구성할 수도 있습니다.

측정 파일에 쓰기 익스프레스 VI는 TDM 및 TDMS 파일에 데이터 쓰기를 시작하는 가장 간단한 방법입니다. 그러나 기록된 데이터의 구조에는 유연성이 거의 없습니다. TDM 데이터 모델의 모든 이점을 실현하고 잘 구성되고 문서화 된 데이터를 작성하려면 데이터 스토리지 VI 및/또는 TDM 스트리밍 API를 사용해야 합니다.

데이터 스토리지 VI

데이터 스토리지 VI를 사용하여 TDM 또는 TDMS 파일에 데이터를 쓸 수 있습니다. LabVIEW 데이터 스토리지 VI를 사용하여 측정 데이터를 쓰는 가장 간단한 형태는 그림 4에 나와 있습니다. 여기서 데이터 수집 태스크는 데이터 쓰기 VI에 측정 값 배열을 생성합니다.

그림 4. 데이터 스토리지 VI는 채널 레벨에서 데이터를 문서화합니다.

데이터 쓰기 VI에는 신호 입력 외에 이름과 단위라는 두 개의 입력이 있습니다. 측정 파일에 쓰기 익스프레스 VI의 동일한 프로세스와 유사하게 데이터 쓰기 VI를 두 번 클릭하여 액세스하는 구성 대화 상자를 통해 저장하려는 추가 정보를 선택합니다.

그림 4에서 DAQ 어시스턴트에서 오는 모든 채널에는 동일한 이름과 단위가 지정됩니다. 그러나 데이터 스토리지 VI는 이름 충돌을 방지하기 위해 채널 이름을 열거합니다. 채널 이름 배열을 이름 입력에 전달하거나 각 채널에 대해 개별 데이터 쓰기 VI를 사용하여 자동 열거를 재정의 할 수 있습니다. 둘 다 허용되는 방법입니다. 데이터 쓰기 VI의 또 다른 이점은 각 측정 배열의 최소 값과 최대 값을 자동으로 계산하여 TDM 또는 TDMS 파일에 저장한다는 것입니다.

그림 4는 데이터 스토리지 VI가 채널 레벨에서 데이터를 문서화하는 방법을 설명합니다. 그림 5는 속성 설정 VI를 사용하여 파일 레벨에서 추가 설명 정보를 저장하는 방법을 보여줍니다.

그림 5 . 속성 설정 VI를 사용하여 파일 레벨에서 추가 설명 정보를 저장합니다.

그림 6은 데이터 스토리지 VI를 사용하여 데이터를 읽는 가장 간단한 형태를 보여줍니다. 여기서 Open Storage VI는 파일 참조를 데이터 읽기 VI에 전달한 다음 모든 데이터를 TDM 또는 TDMS 파일에서 메모리로 읽어 들여 웨이브폼 그래프에 표시합니다.

그림 6. Open Storage VI는 파일 참조를 데이터 읽기 VI에 전달한 다음 모든 데이터를 TDM 또는 TDMS 파일에서 메모리로 읽어 들여 웨이브폼 그래프에 표시합니다.

TDM 스트리밍 API

데이터 스토리지 VI는 사용하기 쉽고 유연하지만 TDM Streaming API를 사용하여 얻은 데이터를 디스크에 쓸 때 동일한 성능을 나타내지 않습니다. TDM Streaming API는 데이터를 고속으로 디스크에 스트리밍 하도록 설계되었으며 작은 디스크 풋 프린트로 실시간 시스템에 데이터를 쓰는데도 이상적입니다.

TDM 스트리밍 VI로 측정 데이터를 쓰는 가장 간단한 형태는 그림 7에 나와 있습니다. 이 예제에서 DAQ 어시스턴트는 측정 값의 배열을 생성하여 데이터 쓰기 VI에 전달합니다.

그림 7 . 채널 레벨에서 TDMS 파일에 데이터를 씁니다.

데이터 쓰기 VI에는 신호 입력 외에 두 개의 입력이 있습니다. 그림 7에서 DAQ 어시스턴트에서 오는 모든 채널에는 동일한 그룹 및 채널 이름이 지정됩니다. 그룹 및 채널 이름 입력이 연결되지 않은 상태로 두면 기본 값은 "제목 없음"입니다.

그림 8은 TDM 스트리밍 VI를 사용하여 데이터를 읽는 가장 간단한 형태를 보여줍니다. 여기서 TDMS Open File VI는 파일 참조를 TDMS Read File VI에 전달한 다음“Main Group”그룹의 모든 데이터를 TDMS 파일에서 메모리로 읽어 들여 웨이브폼 그래프에 표시합니다.

그림 8. TDMS 파일에서 데이터를 다시 읽습니다.

TDMS 데이터 모델은 일부 데이터 유형이 작성될 때 특정 속성을 자동으로 생성합니다. 그러나 대부분의 경우 테스트 대상 장치, 일련 번호 및 테스트 온도와 같은 특정 요구 사항에 맞는 속성을 만들 수 있습니다. 그림 9와 같이 파일, 그룹 또는 채널 레벨에서 프로퍼티를 쓸 수 있는 TDMS Set Properties VI를 사용하여, 이를 수행할 수 있습니다.

그림 9. 파일에 데이터를 쓰기 전에 세 가지 다른 수준에서 사용자 지정 속성을 작성합니다.

LabWindows 마크는 Microsoft Corporation의 라이선스에 따라 사용됩니다. Windows는 미국 및 기타 국가에서 Microsoft Corporation의 등록 상표입니다.