Example Code

Using CableSense with the PXIe-5774 FlexRIO Digitizer

Products and Environment

This section reflects the products and operating system used to create the example.

To download NI software, including the products shown below, visit ni.com/downloads.




  • LabVIEW


  • FlexRIO

Code and Documents



This example demonstrates how to use CableSense technology to test the internal impedance or reflection coefficient at each point within a cable connected to a DUT.


NI CableSense is an automated method of verifying the cable integrity of a digitizer's signal path. This example uses that technology by giving users a starting point to build masks (expected cable behavior) and to verify their cable setup against that mask. See the White Paper linked below for more information on CableSense technology.

Hardware and Software Requirements

  • LabVIEW 2019 or newer

  • FlexRIO 20.1 or newer

  • PXIe-5774 with CableSense support


How to Use

This project consists of two top-level VIs: CableSense - Create and Save Mask and CableSense - Verify Against Mask. First, follow the instructions below for Create and Save Mask. Then, if you would like to load a saved mask instead of creating a new one, follow the subsequent instructions for Verify Against Mask

Instructions for CableSense - Create and Save Mask VI:

  1. In the 'Hardware' tab, select a device and channel.

  2. In the 'Mask Configuration' tab Configure your Mask Segmentation table to segment your passive electrical path into subregions of interest (cables, connectors, adapters). These segments will be used in error reporting and subsequent troubleshooting if the CableSense measurement fails the mask. There are other controls that can be used to modify the mask creation.

  3. In the 'Mask File' tab, select the name and location of the TDMS file that contains the mask parameters and waveforms. Optionally choose to name the mask channel; this can be helpful if you are developing and maintaining multiple masks in a test setup.

  4. In the 'Y-Axis' and 'X-Axis' tabs, choose your range (internal impedance or reflection coefficient) and domain (time or distance), as well as mask margin. Choose a mask margin that will allow for normal variation in your setup while still reliably detecting faults. Choosing appropriate margins for your particular setup may take some iteration.

  5. If you would like to save the mask for use with the CableSense - Verify Against Mask VI, click Save Mask before and set the Update Mask box to true in the 'Action Control' area before taking the measurement.

  6. With a verified cable setup, run the VI and click Take Measurement. This creates the mask future setups will compare to.

  7. With a test setup, set Update Mask to false and click Take Measurement. If the setup is within margin of the verified cable the mask was made with, Overall Pass Mask Test will be true. If not, it will be false, and Failure Location will show which component(s) of the mask exhibited a failure. Be sure that the output domain of your test setup remains the same as the domain the mask was created with.

Instructions for CableSense - Verify Against Mask VI:

  1. In the CableSense Configuration tab control, select a device ion the 'Hardware' tab.

  2. Select the Mask File Location in the 'Mask File' tab. If multiple masks are defined in a single file, enter the mask channel name you'd like to execute against.

  3. Run the VI

  4. Press the Take Measurement button to verify the current setup against the preconfigured mask.


Additional Information

For more information on CableSense, see the CableSense White Paper


Related Links

Example code for using CableSense with oscilloscopes supported by the NI-SCOPE driver


Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.