A custom device uses channels and waveforms to exchange data with the rest of the
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
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 =
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
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:
- Handling data generated by the custom device after deployment.
- Handling data generated elsewhere in the VeriStand system and used by the custom device
- 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