Reference Design Content

Showing results for 
Search instead for 
Did you mean: 

Alpha release of CVT Datalogger for CVT v 3.3 and higher

The Current Value Table (CVT) is a set of LabVIEW VIs that developers use to store and retrieve data asynchronously from different parts of an application. Often, it is desirable to log a subset of these CVT values to a file. The CVT Data Logger (CDL) reference library was created to fulfill this purpose.

Version 1 of the CDL supports versions 1.0 and 2.0 of the CVT, and can be downloaded here:


Version 3.0 of the CVT added many new data types and it has been a longstanding request that support is added to the CDL for these data types. This alpha release attempts to support the scalar data types through the use of the tag bus module concept. Here, we pair a CVT module with a TDMS module to enable easy logging of CVT values. However, it would be just as possible to log modbus, ethernet/ip or any other tag bus-enabled module.


This release also serves as a demonstration of the use of the tag bus module framework without employing the entire execution system. The CDL has its own smaller, simplified process geared towards logging. In addition, the logging API can be called directly from your code without employing any background processes, demonstrating the flexibility of this tag bus-based approach.


What data types does this support?

All scalars except strings


What data types does this not support?

All arrays, and strings


Interested in contributing to this?

Contribute to If that module is modified to support additional types, then this CDL logger will support new types


Where do I find Examples?

<Labview>/examples/NISE CDL



CDL v 3_1 adds a binary datalogger option which stores things with a JSON header and then binary data. This should be faster than TDMS but it does have more overhead for a small number of channels because it must flatten the entire data structure. This format supports the entire tag bus/cvt data type set, including strings and arrays. To convert this to TDMS, you can use a function: vi.lib\NI\TBM Modules\Binary Datalogger\execution\convert to For arrays, the TDMS format will store all channels in the form <base channel name>_<index>. This can be adjusted by making a copy of the convert to TDMS function.