Showing results for 
Search instead for 
Did you mean: 

Is the WFM file format obsolete?

I have some old VIs that write waveforms using the WFM file format. Is this now obsolete, and should I re-write them to use TDM or TDMS or just leave them alone?



0 Kudos
Message 1 of 5

Hi Richard,


I'm Jamie an Applications Engineer at NI UK.


*.WFM is a propriatary format written by the following instruments from Tektronix:


TDS5000/B, TDS6000/B/C, TDS/CSA7000/B, MSO70000/C, DSA70000/B/C, DPO70000/B/C, DPO70000, MSO/DPO5000

Supported Features

  • YT data only
  • Version 2 WFM files from Tektronix; (new value scaling)
  • explicit Float64 data

The plugin required to enable LabVIEW and DIAdem to read *.WFM files is available from the National Instruments Developer Zone here (login required).


Although the *.WFM format is supported there is no need to use this file format unless you plan to read/write to a Tektronix instrument, to future proof your vi's it would be beneficial to migrate to using the more current *.TDMS file format fully supported by NI software.


Hope this helps with you application Richard.







Jamie S.

Applications Engineer
National Instruments
0 Kudos
Message 2 of 5

OK, perhaps I identified the wrong file format. My vis use the LabVIEW "Write Waveform to File" vi, and I have been using the file extension .wfm for those. I didn't realize that Tektronix had  a proprietary format with that extension. My real question has to do with the file format used by "Write Waveform to File" vi and whether  it should be abandoned and replaced with a TDM  or TDMS format. Which one of these would be better? This is low-speed data with files saved when a user  requests it, so streaming is not necessay, but if that is a preferred file format I can use it.


0 Kudos
Message 3 of 5

Hi Richard2950


I checked LabVIEW Help for more information on the Write Waveform to, and I believe you should be able to leave your VIs as they are. That particular VI lets you use any file extension (.txt, .dat, or in your case, .wfm). TDMS is great if you need to stream quickly, but since your application is low-speed, you might not need all the functionality of TDMS. Furthermore, if you need to distribute your files, TDMS requires a special MS Excel plugin to be read correctly or the use of TDMS-specific VIs (TDMS Reader, etc). TDMS is a great choice, but you should check out this resource before re-designing your code:


The NI TDMS File Format


Hope that helps


Tim W.

Applications Engineering

National Instruments 

0 Kudos
Message 4 of 5

The 'Write Waveform to' just uses the datalog format under the hood.  They're both fine choices.  You could also use binary or roll your own format for more specific use.  TDMS is probably the best choice overall if you have no good reasons to pick otherwise.  It uses binary format to store the actual data so it's fast and efficient but also has a nice human readable and very expandable header system to store file details.  Plus there's an Excel plugin that can read your data directly and TDMS is starting to become an industry standard.  Might as well take advantage of it. Smiley Wink

LabVIEW Pro Dev & Measurement Studio Pro (VS Pro) 2019 - Unfortunately now moving back to C#, .NET, Python due to forced change to subscription model by NI. 8^{
Message 5 of 5