Table Of Contents

Custom Device Channels and Waveforms

Last Modified: March 24, 2021

A custom device uses channels and waveforms to exchange data with the rest of the VeriStand system.

Waveforms differ from channels in that VeriStand always sends channel data to the host computer, but VeriStand only streams waveform data upon request. You should acquire signals as waveforms when you need to read at rates faster than the rate at which the system runs.

Channels perform single-point acquisition, an immediate, non-buffered operation that occurs at the rate at which the system runs. All channels are either 64-bit floating point numbers (LabVIEW DBLs) or waveforms. No other data types are currently supported. However, as you write code for a custom device, you can use LabVIEW's various data conversion functions to convert other types of data to 64-bit floating point numbers. For example, if the LabVIEW API for a third-party device calls for Boolean data to enable a channel or filter, you can use a DBL channel with the assumption that 0 = FALSE and !0 = TRUE.

You can also use the Register Custom Device Engine Events VI to configure engine events and design a communication mechanism to handle data of different types. Alternatively, you can use other remote communication methods, such as TCP and UDP.

You can create input and output channels. Input channels get data from the rest of the VeriStand system. Output channels send data to the rest of the system. An operator can map each input channel to a single data source. However, an output channel can map to any number of sinks, such as simulation model inputs.

There are three common use cases for a custom device channel:
  1. Handling data generated by the custom device after deployment.
  2. Handling data generated elsewhere in the VeriStand system and used by the custom device after deployment.
  3. Implementing dynamic properties.

Best practice is to implement channels with general use-cases in mind. For example, if you are writing a custom device to interface with third-party hardware, consider adding custom device channels for every physical channel of the hardware device and give the custom device operator the ability to remove channels while configuring the custom device in the system definition file.

Recently Viewed Topics