TDM 스트리밍 팔레트는 표준 TDMS VI 및 함수와 고급 TDMS VI 및 함수를 모두 포함하고 있습니다. 고급 TDMS VI 및 함수를 사용하여 .tdms 파일에서 비동기화 읽기와 쓰기 작업과 같은 고급 파일 I/O 작업을 수행할 수 있습니다.

노트 고급 TDMS VI와 함수의 기능이 꼭 필요하지 않은 경우, 표준 TDMS VI와 함수를 사용합니다. 고급 TDMS VI와 함수를 잘못 사용하면 .tdms 파일이 손상될 수 있기 때문입니다. 고급 TDMS VI와 함수를 사용할 때 버퍼를 비활성화할 경우, 읽거나 쓰는 데이터의 크기는 하드 디스크의 섹터 크기의 배수가 되어야 합니다.

표준 TDMS VI와 함수와 비교하면 고급 TDMS VI와 함수는 다음과 같은 장점을 가지고 있습니다.

  • 메타 데이터와 원시 데이터 따로 쓰기-표준 TDMS VI와 함수는 메타 데이터와 원시 데이터를 동시에 씁니다. 고급 TDMS VI와 함수를 사용하면 메타 데이터와 원시 데이터를 따로 쓸 수 있습니다. [TDMS 채널 정보 설정] 함수를 사용해서 .tdms 파일에 메타 데이터를 쓰고, 그 후 [TDMS 고급 비동기화 쓰기] 함수를 사용해서 .tdms에 원시 데이터를 쓸 수 있습니다.
    노트 .tdms 파일에 데이터를 쓸 때 데이터는 메타 데이터와 원시 데이터를 모두 포함합니다. .tdms 파일의 메타 데이터와 원시 데이터에 대한 자세한 정보는 ni.com의 다음 관련 문서를 참조하십시오.
  • (Windows) 데이터를 비동기적으로 읽고 쓰기-표준 TDMS VI와 함수는 데이터를 동기적으로만 읽고 쓸 수 있습니다. 이 경우, 크기가 큰 데이터를 읽거나 쓸 때 버퍼의 크기가 작으면 성능이 저하될 수 있습니다. 고급 TDMS VI와 함수를 사용하면 데이터를 비동기적으로 읽거나 쓸 수 있습니다. [TDMS 비동기화 읽기 설정]이나 [TDMS 비동기화 쓰기 설정] 함수를 사용해서 버퍼를 할당하고, 백그라운드에서 다수의 비동기화 읽기 또는 쓰기를 시작합니다.
  • (Windows) 외부 데이터에 직접 접근하여 최데이터 스트리밍을 최적화합니다. 표준 TDMS VI 및 함수와는 달리, 고급 TDMS VI 및 함수를 사용하여 데이터 스트리밍 디바이스를 제어하는 디바이스 드라이버의 메모리 직접 참조(DMA: direct memory access) 버퍼와 같이, LabVIEW 밖의 구성요소가 소유하는 데이터와 직접 상호 작용할 수 있습니다. DMA 버퍼에서 .tdms 파일로 직접 비동기적으로 데이터를 쓰거나, .tdms 파일로부터 직접 DMA 버퍼로 데이터를 읽을 수 있습니다. DMA 버퍼의 외부 데이터에 직접 접근하면 큰 데이터 세트의 복사를 줄 일 수 있고, 데이터 스트리밍을 향상할 수 있습니다.
    노트 이 기능을 사용하려면 데이터 스트리밍 디바이스의 드라이버 API로부터 반환된 외부 데이터 값 참조가 필요합니다. 외부 데이터 값 참조를 [TDMS 고급 비동기화 읽기(데이터 참조)] 또는 [TDMS 고급 비동기화 쓰기(데이터 참조)] 함수의 데이터 참조에 연결하여 외부 데이터와 상호 작용합니다.
  • 기존 데이터 덮어쓰기―표준 TDMS VI 및 함수와 달리, 고급 TDMS VI와 함수를 사용하면 .tdms 파일에서 데이터의 일부를 덮어쓸 수 있습니다. [TDMS 다음 쓰기 위치 설정] 함수를 사용해서 기존의 데이터를 덮어쓸 오프셋 위치를 지정합니다.
  • 데이터를 쓰기 전에 파일 크기 예약하기―표준 TDMS VI 및 함수와 달리, 고급 TDMS VI와 함수를 사용하면 데이터를 쓰기 전에 미리 디스크 공간을 할당할 수 있어 파일 시스템 레벨에서 분할을 방지할 수 있습니다. [TDMS 파일 크기 예약] 함수를 사용해서 .tdms 파일에 데이터를 쓰기 전에 미리 디스크 공간을 할당합니다.