The NI TDMS File Format


Several roadblocks can impede the optimal exchange of technical information. The most notorious is the improper capture of information at the time of test or simulation. All too often data is stored without descriptive information, in inconsistent formats, and scattered about on arrays of computers, creating a graveyard of information that makes it extremely difficult to locate a particular data set and derive decisions from it. When data sets cannot be located, tests or simulations must be recreated. As a result, many companies see decreased efficiency and drastically increased development costs. To meet these challenges, NI has defined a technical data management (TDM) solution that includes three integral components:

  • The NI TDMS file format for saving well-documented measurement data
  • The NI DataFinder for quickly locating previously stored data sets
  • NI DIAdem or the LabVIEW DataFinder Connectivity VIs for processing data and creating reports

The first step to achieving a cohesive data management solution is ensuring that data is stored in the most efficient, organized, and scalable fashion. This white paper details the first facet of the NI TDM solution – the NI TDMS file format – a file format optimized for saving measurement data to disk.


Traditional Approaches to Measurement Data Storage

You can choose from a variety of format options for measurement data storage. Unfortunately, careful consideration of data storage options is not typically at the forefront of application planning. The file format choice is often overlooked in favor of higher-visibility decisions such as hardware system design or software architecture. Data storage decisions are sometimes made arbitrarily or on an as-needed, per-application basis without second thought for reusability and scalability, which leads to complex and costly software rearchitecture. Because applications and requirements change over time, even the most popular traditional storage formats quickly fall short of meeting the demands of engineers and scientists storing time-based measurement data. Table 1 shows the pros and cons of some of the most commonly chosen storage options for measurement data.

*May require a toolkit or add-on module.

Table 1. The TDMS file format combines the benefits of several data storage options in one file format.

NI introduced the Technical Data Management Streaming (TDMS) file format as a result of the deficiencies of other data storage options commonly used in test and measurement applications. The binary TDMS file format is an easily exchangeable, inherently structured, high-speed-streaming-capable file format that, when combined with the other technologies in the NI TDM solution, becomes quickly searchable without the need for complicated and expensive database design, architecture, or maintenance.  

For a more in-depth overview of the different data storage choices in Table 1, see Comparing Common File I/O and Data Storage Approaches.

Overview of the TDMS File Structure

The single, most important feature to understand about the internal format of the TDMS file structure is its inherent hierarchical organization. The TDMS file format is structured using three levels of hierarchy, as shown in Figure 1 – file, group, and channel. The file level can contain an unlimited number of groups, and each group can contain an unlimited number of channels. Because of this channel grouping, you can choose how to organize your data to make it easier to understand. For example, you may have one group for your raw data and another group for your analyzed data within one single file.1 Or, you may have multiple groups that correspond to sensor types or locations.

Figure 1. Each TDMS file contains descriptive information on the file, group, and channel levels.

At each level of the hierarchy, you can store an unlimited number of custom scalar properties. Each level accepts an unlimited number of custom-defined attributes to achieve well-documented and search-ready data files. The descriptive information located in the file, a key benefit of this model, provides an easy way to document the data without having to design your own header structure. As your documentation requirements increase, you do not have to redesign your application; you simply extend the model to meet your specific needs. The more custom properties you use to document your measurement data, the more easily it can be located at a later date by using an NI DataFinder client that abstracts complex database communication from the user.

For a detailed technical description of the internal structure of the open TDMS file format, see TDMS File Format Internal Structure.

1TDMS files also automatically generate a complimentary *.tdms_index file. This file provides consolidated information on all the attributes and pointers in the bulk data file that drastically speeds up read access to the data on larger data sets. This index file is not required for storage or distribution and automatically regenerates.

Writing and Reading TDMS Files with NI Software

Формат файла NI TDMS поддерживается платформой National Instruments. Взаимодействие с файлами TDMS включено во все среды разработки ПО NI как часть их палитр функций или библиотек. Эти интерфейсы уменьшают сложность хранения структурированных данных, позволяя легко добавлять описательную информацию наряду с полученными данными измерений или симуляции.



В ПО NI LabVIEW существует несколько интерфейсов для работы с файлами NI TDMS. Самый простой способ начать запись файлов TDMS в LabVIEW - с помощью Express VI "Write to Measurement File" (Записать в файл измерений). Этот Express VI обеспечивает простоту конфигурирования на основе диалоговых окон за счет уменьшения производительности. Он не подходит для высокоскоростной потоковой передачи или приложений реального времени.

Для большей гибкости и достижения наилучшей производительности используйте простейшие VI для работы с TDMS из палитры File I/O (ввод-вывод файлов). С помощью этих VI Вы можете читать и записывать файлы TDMS и их свойства наиболее эффективным способом. Этот метод доступа к файлам TDMS подходит для режима реального времени с использованием модуля LabVIEW Real-Time. В LabVIEW 8.2 была представлена палитра TDM Streaming.

Установка LabVIEW или драйверов, выпущенных в августе 2010 года или позже, включает доступ к новой палитре TDMS Advanced, позволяющей производить управления файлами TDMS очень низкого уровня. Это позволяет применять расширенные методы, такие как асинхронная запись и чтение.

Рисунок 2. Для чтения и записи файлов TDMS в LabVIEW Вы можете выбрать один из нескольких интерфейсов.

Рисунок 3. Палитра TDM Streaming предлагает наиболее гибкий и эффективный подход к чтению и записи файлов TDMS с использованием LabVIEW.

Подробный обзор чтения и записи файлов TDMS при помощи LabVIEW см. В разделе «Introduction to LabVIEW TDM Streaming VIs» (Введение в VI для потоковой работы с TDM в LabVIEW)


LabVIEW SignalExpress

Для автоматической регистрации данных измерений в файлы TDMS без необходимости дополнительного программирования можно настроить LabVIEW SignalExpress. LabVIEW SignalExpress может импортировать ранее созданные файлы TDMS. Создание и регистрация файлов TDMS в нем так же просты, как и включение функции регистрации данных для Вашей задачи сбора.

Рисунок 4. С LabVIEW SignalExpress Вы можете записывать данные в файлы TDMS, просто включив регистрацию данных.

Для получения дополнительной информации о чтении или записи файлов TDMS с помощью LabVIEW SignalExpress см. раздел Importing and Exporting Data in LabVIEW SignalExpress (Импорт и экспорт данных в LabVIEW SignalExpress).



В ПО NI   LabWindows ™ / CVI Вы можете получить доступ к файлам TDMS, используя одну из двух библиотек. Первый - библиотека LabWindows/CVI TDM Streaming - безусловно, более быстрый и универсальный подход. С помощью этого API Вы можете взаимодействовать с файлами TDMS в приложениях реального времени, используя модуль LabWindows/CVI Real-Time. Библиотека TDM Streaming была представлена в LabWindows/CVI 8.1.

Альтернативным интерфейсом для файлов TDMS из LabWindows/CVI является API DIAdem Connectivity, который использует ПО NI DIAdem в качестве промежуточного механизма для записи или чтения файлов TDMS.

Рисунок 5. LabWindows/CVI предлагает два интерфейса для файлов TDMS, но гораздо более эффективной и гибкой из двух является библиотека TDM Streaming.



Использование языков .NET в Measurement Studio

Библиотека классов .NET NI Measurement Studio TDM Streaming, представленная в Measurement Studio 8.6, обеспечивает быстрый и гибкий способ непосредственного взаимодействия с файлами TDMS с использованием языков .NET. Примечание. Доступ к библиотеке TDM Streaming .NET Class Library предоставляется только в выпусках Measurement Studio Professional и Enterprise.

Рисунок 6. Measurement Studio включает встроенную библиотеку TDM Streaming .NET Class Library.




ПО NI DIAdem - это гибкая среда для пост-обработки, визуализации и генерации отчетности, которая легко расширяется с помощью DataPlugins для работы с любым специализированным форматом файлов. DIAdem специально разработан в качестве готового решения по чтению и записи файлов TDMS; однако любые данные, загруженные в Data Portal - визуальное представление внутренней памяти DIAdem - отображаются, по своей сути, на модель TDMS. Используя DIAdem Вы можете искать данные в индексе NI DataFinder. Он является клиентом для NI DataFinder и третьей частью решения NI TDM. Это позволяет найти нужные Вам данные так же легко, как и информацию в Интернете с помощью поисковых систем, подобных Google.

Рисунок 7. Вы можете настроить DIAdem для сопоставления с моделью TDMS любого специализированного формата файла. Это позволяет использовать его сильные стороны.

Чтобы узнать больше о DIAdem, предназначенном для интерактивной визуализации, анализа и создания отчетности, см.


NI VeriStand

NI VeriStand - это программная среда на основе конфигурации для тестирования в режиме реального времени, которая позволяет записывать измерения в файлы TDMS несколькими способами. Для создания автоматизированных сценариев тестирования с целью генерации входного воздействия на тестируемое устройство в реальном времени при регистрации параметров системы в файл Вы можете использовать встроенное средство редактора профиля стимула. Вы также можете конфигурировать измерения и регистрировать данные непосредственно из интерфейса пользователя, используя объект регистрации данных рабочего пространства, представленный в NI VeriStand 2013. В NI VeriStand 2013 также добавлена прямая интеграция с DIAdem, что позволяет автоматизировать как постобработку, так и генерацию отчетов. Это гарантирует, что при каждом запуске теста Ваши файлы данных обрабатываются и отображаются одинаково. Это позволяет быстрее принимать решения и улучшать качество изделия.

Чтобы узнать, как создавать данные тестирования в реальном времени и управлять ими с помощью VeriStand и DIAdem, посмотрите этот видеообзор.



Writing and Reading TDMS Files with Third-Party Programming Software

NI provides several tools to read and write TDMS files using third-party applications. 


NI offers the TDM C DLL as a free download. It contains the necessary functions for reading and writing TDMS files from any application development environment that is flexible enough to enable DLL communication. To download the DLL and corresponding examples for free, download the TDM C DLL from the attachments section of this page.

Figure 8. The TDM C DLL is a free interface to TDMS files that you can use in third-party environments. Calc

With the free add-in for Calc, you can load and process TDMS files including descriptive information in Calc. Just download the add-in, install it, and use the Calc functions with an additional menu to load TDMS files and to configure the add-in.

Figure 9. The free add-in for installs a new menu item into Calc for importing TDMS files.

To learn more or download the free add-in, see TDM Add-In Tool for Calc User Guide.

The MathWorks, Inc. MATLAB® Software

NI has developed an example demonstrating how to adapt the TDM C DLL with a customized header file to interface with TDMS files from within The MathWorks, Inc. MATLAB® software. 


Distributing and Exchanging TDMS Files with Colleagues Using Microsoft Excel

Though all NI development environments can write and read TDMS files, it is occasionally beneficial to share data files with colleagues or managers who do not have NI software installed. As a result, NI provides the TDM Excel Add-In as a free add-in for a common software environment – Microsoft Excel – so that many engineers can access these TDMS files. This add-in is installed with NI software and also available as a stand-alone download for users looking to view data who do not have NI software on their machine. Though Microsoft Excel is not an ideal tool for postprocessing measurement data, it is a feasible environment for quickly viewing small data files. This free add-in is accessible from within the Excel environment.

All NI software installs a brand new technology for interfacing with TDMS files directly from within Windows Explorer. This new Excel Importer utility appears in the “Open With” section of the Windows Explorer right-click context menu and enables colleagues without access to NI software to associate Microsoft Excel as the default program for viewing TDMS files. Once the file extension has been associated with the Excel Importer (an automatic process if DIAdem is not present on the machine), colleagues can simply double-click on a TDMS file to open it with Excel.

Figure 10. Using a free add-in, you can double-click TDMS files in Windows Explorer and open them in Microsoft Excel even with no NI software installed.


Mapping Existing Data Files to the TDMS Data File Format

Sometimes it is impossible to use the TDMS file format. For example, occasionally customer or supplier requirements dictate that you must use a particular file format for data storage. Certain traditional instruments automatically provide data output files using a custom format. Furthermore, legacy measurement data that has already been collected in a particular fashion cannot be recollected simply to store it in the TDMS file format.

For this purpose, NI has created a technology that you can use to provide a description of how to map any arbitrary custom file format onto the TDMS model. You can create this technology – called DataPlugins – using a DIAdem wizard or program it using VBScript, C++, or LabVIEW. Once you have described how to interpret your custom file format using the TDMS model, the NI DataFinder can identify and index descriptive information, enabling searchability from an NI DataFinder client like the LabVIEW DataFinder Connectivity VIs or DIAdem.   

NI offers hundreds of free DataPlugins for you to download. To download a DataPlugin for the most common file formats to use the TDMS model, or to request a DataPlugin be written for free for your custom file format, see

Figure 11. With DataPlugins, you can describe the location of File, Channel Group, and Channel information within any custom file format like the one in this image for use with the TDMS model.


The Fastest Way to Stream Measurement Data to Disk

С помощью NI-DAQmx 9.0 и более поздних версий Вы можете записывать данные в файлы TDMS непосредственно из API DAQmx. Вы можете легко интегрировать логирование TDMS в существующие приложения, настраивая его с помощью VI DAQmx Configure Logging. Кроме того, этот метод передачи данных на диск помогает Вам действительно расширить границы высокоскоростной потоковой передачи данных измерений, оптимизируя несколько операций с памятью и обходя буферы Windows, LabVIEW и TDMS для достижения максимальной эффективности. Тесты с помощью VI DAQmx Configure Logging показали скорость передачи данных более 1,2 ГБ/с. Чтобы узнать больше о том, как интегрировать логирование TDMS в приложение NI-DAQmx, см. TDMS Direct Integration in NI-DAQmx Logging (Прямая интеграция TDMS в логирование NI-DAQmx).


Рисунок 12. Используя VI NI-DAQmx Configure Logging, вы можете выполнять потоковую передачу данных на диск через формат файла TDMS с помощью одного небольшого дополнительного шага.



Focus on the Data, Not the Format

NI developed the TDMS file format to help engineers and scientists properly store the large amounts of data they generate during simulation and test. With an easy-to-use interface for storing well-organized and documented files, you can focus your efforts on more pressing areas of your applications and let the data storage aspect of your application interface scale naturally with your application.


Take the Next Steps Today

MATLAB® is a registered trademark of The MathWorks, Inc.

The mark LabWindows is used under a license from Microsoft Corporation. Windows is a registered trademark of Microsoft Corporation in the United States and other countries.





Language(s): VB Script