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?
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
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.
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.
I checked LabVIEW Help for more information on the Write Waveform to File.vi, 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:
Hope that helps
The 'Write Waveform to File.vi' 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.