Channel Wire Endpoints
- Updated2025-01-28
- 2 minute(s) read
Requires: FPGA Module
Channel wire endpoints are nodes where a channel wire terminates. By connecting a channel writer endpoint to a reader endpoint using a channel wire, you build a channel. The channel wire endpoints operate on the channel in the following way: the writer endpoints write data to the channel, and reader endpoints read data from the channel. You can use the channel wire endpoints to write or read data between parallel sections of code. LabVIEW provides several channel templates. Each template expresses a different communications protocol to use between the writers and readers. Choose which channel template to use based on your communications needs.
Create a channel endpoint by right-clicking a terminal or a wire and selecting Create»Channel Writer or Create»Channel Reader. When you create an endpoint from a terminal, you instantiate the channel template with that data type as its transmission type.
Refer to the Channel Wire Endpoints Details topic for information about Timed Loop compatibility, usage, and resource considerations related to the channel wire endpoints.
| Template | Description |
|---|---|
| Stream | Use the Stream channel to communicate homogeneous data from a single writer to a single reader. The data elements are buffered and transferred with no data loss in a first-in-first-out (FIFO) order. |
| Tag | Use the Tag channel to share a single value among multiple readers and/or writers. Sharing the value is similar to sharing a global or network shared variable. Each time a writer endpoint writes a value to the channel, the value overwrites the existing value in the channel to ensure that the reader endpoints always read the latest value. |
| Accumulator Tag | Use the Accumulator Tag channel to share a single value among multiple writers and readers. Sharing the value is similar to sharing a global or network shared variable. Each time a writer endpoint writes a value to the channel, the channel adds the value to the existing value. Reader endpoints can optionally clear the value when they retrieve the current sum. |
| Lossy Stream | Use the Lossy Stream channel to communicate homogeneous data from a single writer to a single reader. If the channel is already full when the writer attempts to write a new data, the writer does not wait for space to be available. Instead, the channel optionally either drops the oldest data element in the channel to make room for this new data or discards this new data. You can use the Lossy Stream readers to identify data gaps. |
| One Element Stream | Use the One Element Stream channel exactly the way you use a Stream channel with size equal to one. Allowing only one element in the buffer makes One Element Stream channels more optimized. They execute faster and save resources compared with Stream channels. |
Depending on the driver you installed, refer to the following VIs for examples of using channel wires on FPGA targets:
-
(R Series) examples\R Series\FPGA Fundamentals\Data Storage and Transfer\Channel Wire\R Series FPGA Channel Wire Basic\R-Series FPGA Channel Wire Basic.lvproj
-
(CompactRIO) examples\CompactRIO\FPGA Fundamentals\Data Transfer and Storage\Channel Wire\cRIO FPGA Channel Wire Basic\cRIO FPGA Channel Wire Basic.lvproj