Custom device for VeriStand to set faults and scales for channels

Updated Jun 4, 2026

Environment

Software

  • VeriStand
  • VeriStand Custom Devices
  • LabVIEW

Custom devices for VeriStand can be developed in LabVIEW and are needed to implement complex or specialized processes that cannot be achieved using VeriStand's built-in capabilities.
In this article, we will explore the capabilities of scaling and fault settings for channels generated by custom devices.

If you don’t have a project template to create a custom device, please follow this article to complete the preparations to be able to use a project template.

  1. Open LabVIEW and create a new project. From the project templates, select CONSOLIDATED NI VeriStand Custom Device in the New Project list to create a custom device project.
    customdeviceprojectcreate.png
  2. Decide the name and save destination of the custom device. Name the custom device Scale Fault Test , prepare a folder called Scale Fault Test in any location, and save it there. Also, set Custom Device Execution Mode to Asynchronous , and add an item called MyCustomChannel to Custom Device Extra Page Names.
    createproject.png
  3. In the Project Explorer, select Initialization VI.vi in <Custom Device Name> System Explorer.lvlib .
    downloadit.png
    Open the block diagram, delete all processing that was in the True case of the Initialization VI.vi case structure, and place the functions as shown in the figure below. By placing it as shown in the figure, when this custom device is used on VeriStand, MySection will be prepared as the default section and five channels will be generated under it. In the settings for each channel, specify the Scalability and Faulty settings as shown in the figure. For global variables, use Constants.vi located in <Custom Device Name> Shared.lvlib>>Shared in the LabVIEW Project Explorer.
    initblock.png
  4. Next, go back to the Project Explorer and navigate to the System Explorer >> Dynamically Called >> Extra Pages folder under <Custom Device Name> Explorer.lvlib to verify that a vi exists for the page with the name you specified when creating the project.
  5. Make edits to the vi for the page.
    1. Place two Boolean controls on the front panel, both with a switch mechanical action.
      pagefront.png
    2. Use the Get Custom Device Channel Data.vi in a sequence structure at the beginning of the block diagram and unbundle the output clusters to input the Scalable and Faultable configuration information into local variables on the front panel controls, as shown in the following image.
      checkcurrentsetting.png
    3. Define a value change event for the Scale setting as shown below. In this event, use Set Custom Device Channel Scalability.vi to change the scale setting.
      event.png
    4. Similarly, define a value change event for the Fault setting, using Set Custom Device Channel Faultability.vi to change the fault setting.
      event2.png
  6. Right-click on the build specification in the Project Explorer and click Build All .
  7. After building, open VeriStand and add the custom device in the System Explorer. Check that the custom device tree is displayed as shown in the figure below.
    addcd.png
    For each channel, verify that the Scalable and Faultable settings are set as specified in the Initialization VI.vi.
    addcd2.png
  8. Prepare a Scale in the System Explorer and perform mapping. At this time, make sure that the only channels displayed in the selection are those with True specified for Scalability . If you set the Boolean control for Scale setting on the MyCustomChannel page to True , MyCustomChannel will also be displayed as a mapping target.
    scale mapping.png
    In this way, by making it possible to change the Scalability setting programmatically, you can change whether or not a field appears in the mapping options by changing this setting in the System Explorer without having to make any changes to the source code.
  9. Deploy the VeriStand project and check the Channel Fault Manager . The only channels displayed for selection are those with Faulty set to True . If you set the Boolean control for Fault setting on the MyCustomChannel page to True , MyCustomChannel will also be displayed as a target for fault setting.
    fault setting.png
    In this way, by making it possible to change the Faulty settings programmatically, you can enable or disable these settings in System Explorer without making changes to the source code.

Next Steps

For information on VeriStand channel scale and fault settings, please see the User Manual for each topic in the related links.